Feeling productive today! Have sorted out the basic layout of the switches of my in . How lovely that KiCad saves the files as plain text and by writing some code I have all the switches and their angles exactly how I want them!

Huge thanks to @Kooda for the inspiration to try something like this and for sharing the KiCad files so I could get started so easily.

Next step is to start connecting the switches and LEDs. Will putting an LED under each switch prove to be a nightmare?

@andya This is really neat. Are there any resources you recommend for doing something like this myself?

@patcoll @loke For the longest time I was going to handwire the switches using a metal plate holding them in place. Build logs like give a really good overview on how we get from a bunch of parts to a fully functional board.

Of course, these keyboards can be any shape and layout you want! For tons of inspiration, check out for lots of really wild and fun ideas — the author there clearly has major skills with PCB design and assembly.

@patcoll @loke But for mere mortals who have never sent designs to a PCB maker it can also be quite intimidating. That's why @Kooda's work (linked in his replies to my toot) was so useful to me. It was his first KiCad project and it works great for him, so there's the real impression for me that I could do it too. Having the source code of Kooda's design means you get to play around with KiCad and figure out how it works. The 3D rendered view of the circuit board is a particular highlight.

@andya Awesome! It’s nice to see more keyboards with these switches, they are really nice. Do you already know what variant you’ll be using? I went for the “jade” ones with the thick click bar, which adds a big tactile feedback.

Glad my KiCad project was useful for someone else!

@Kooda I already have the switches and keycaps, so there's no turning back now! 😅 I bought the Kailh Choc Brown switches with the MBK Choc keycaps.

I'm used to Cherry MX Browns but the tactile feedback of the Choc Brown is very subtle for me. Maybe it'll feel different when I've finished the board, but I think you made a good choice with the Choc Jade. My project will eventually be a laptop so I think the lack of a robust tactile feedback won't be as noticeable as if it was for a desktop.

@Kooda Just having the proper footprint for the Kailh Choc switches is invaluable to me.

KiCad is awesome Free Software for tinkering about and examining others' projects, but it certainly has its quirks. I remember reading and laughing. So to have that footprint that definitely works is great. No risk of sending off for the PCBs and finding that what should be holes are copper pads or something like that!

@andya Yeah @Hiro and I made this footprint. I was a little scared that it would go wrong at the factory, but all went well! Also, one thing that really made me more comfortable that things would work was printing the PCBs on paper and trying the components on, to check that everything fits.

@andya I ordered a sample of all choc switches to make my decision, and for a laptop I think the red or browns are the best options, the jade are very noisy.

@andya @Kooda wow. I really want to make my own keyboard. If you make one using that tool, is it easy to build it?

@loke @andya Yep I made one, I fount it pretty easy and relaxing to build, but I had some prior knowledge about electronics and soldering.

@Kooda @andya I'm fine with soldering as long as I have a schematic. Do you happen to have some link to explanations?

@loke @andya any specific thing you want to know?

Since I wanted to be able to press any combination of keys, I based my keyboard on this:

@loke @patcoll Another excellent writeup is also by Masterzen at where he's now building a PCB rather than hand-wiring.

The ATmega32u4 is a super-popular chip for making mechanical keyboards and mentioning it will get you plenty of search results. You could have the chip itself as part of the circuit board (as @Kooda has done), or to buy it as a self-contained module like the Arduino Pro Micro and have a socket on the PCB, like many projects.

Sign in to participate in the conversation

Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.