Making things as a hobby

Concept

We are lucky to live in a time where 3D printing is cheap and accessible to everyone, open-source CAD software is more than capable to satisfy the demands of the hobbyist, and thousands of hours of step-by-step video tutorials are never more than a mouse click away.

With a bit of determination and perseverance, one can capture a fleeting idea and transform it into reality. Whether it's something you think would be useful, or whether it's just a silly and useless trinket purely for amusement's sake, there has never been a better time for the creative and productively inclined.

A doodle scribbled down during a spot of day dreaming is more than enough to form the basis of an accurate and detailed design that will be the blueprint for producing a physical product.

Design

CAD is not a skill one picks up overnight, but the tools have been getting easier and easier to use, and the amount of tutorials on the internet is only growing larger. And while odds are that you won't get a job designing little keyboards with only half a dozen keys for a living, the skills you'll learn will translate directly into using CAD in the real world, whether it's civil, mechanical, or structural engineering.

Even if you don't intend getting into any of those industries, there is a tangible satisfaction with being able to create a design that looks like your concept while still being capable of being contructed in the physical world. Solving constraints and, fitting things together, and trying to optimise everything is like a 3D version of Tetris where mistakes you make on the computer manifest themselves in real life.

Assembly

So it's been a few days since you've uploaded your CAD files to the website of your 3D printing company of choice to be printed, and the courier just dropped off the finished prints at your door step.

Now you get to try your hand at soldering components and hooking up your key switches to your micro controller. You can create a mass of spaghetti, or you can route everything with impeccable precision and order. At the end of the day, you'll be left with a creation that is all your handiwork - from every perfectly soldered joint to all the flaws and blemishes that give it character.

Firmware

Once the electronics are done, we come back full circle and end up back in the digital realm. That micro controller inside your keyboard won't do anything unless you program it. Projects like QMK, ZMK and KMK are ready to do all the heavy lifting for you. All you need to do is sit down with the documentation, follow the instructions, and adapt the firmware to fit together with what you've just built.

While the level of Python or C you need to get things working won't get you hired as a Senior Developer, any level of coding is a useful skill to nurture. Not so much for the specific language or libraries you work with, but for your ability to problem solve and be able to independently find solutions to challenges.

And once you're done with your project, what better feedback could you ask for from a creative endeavour than seeing your project grow from a mere figment of your imagination, to something sitting on your desk in front of you?