my second DIY keyboard, "Keybird69"

fanf

11 Aug 2023, 22:55

photo of keybird69
photo of keybird69
IMG_2089.jpeg (326.95 KiB) Viewed 5791 times
I recently finished my second keyboard build. I call it "Keybird69" because it is a keyboard for a Finch, and it has 69 keys.

* sandwich case made from LEGO Technic beams and FR-4 plates
* unix69 layout
* PCB designed by me
* Waveshare RP2040-Tiny controller
* Cherry MX Clear switches, Durock screw-in stabilizers
* SP DSS Dolch keycaps

I am pleased with the result :-) tho I fear that perfection has not yet been achieved, and I am doomed to build another.

Findecanor

11 Aug 2023, 23:29

Welcome! I saw your keyboard mentioned on Hacker News earlier, and admired your way of reusing Lego beams.:)

fanf

11 Aug 2023, 23:55

Thank you for the kind words!

User avatar
Muirium
µ

12 Aug 2023, 10:25

What controller firmware are you running on that little RP2040?

Long ago, this hobby jumped on 8-bit atmel 32u4 chips for controller duties. As with all software: a lot more of us *use* controllers than create them. Enough time has passed that those Teensy 2s / Pro Micros are no longer cheap and widely available, and will eventually dry up completely.

fanf

12 Aug 2023, 11:02

I am using QMK, since it seems to be the most popular. I get the impression it grew support for RP2040 in the last year or so (I have not checked).

I wrote some brief notes on the firmware at https://dotat.at/@/2023-08-09-kbpcb.html#firmware

I previously used CircuitPython on my Pimoroni Keybow 2040, but it had an annoying bug that caused it to slow down and drop keypresses after running for a few weeks. I never debugged it because I was always in the middle of something else when I noticed the problem. That put me off trying KMK, tho there is no good reason for me to blame Python!

User avatar
Muirium
µ

12 Aug 2023, 11:14

fanf wrote:
12 Aug 2023, 11:02
I previously used CircuitPython on my Pimoroni Keybow 2040, but it had an annoying bug that caused it to slow down and drop keypresses after running for a few weeks. I never debugged it because I was always in the middle of something else when I noticed the problem. That put me off trying KMK, tho there is no good reason for me to blame Python!
Woah! Just the thought of such a bug gives me the creeps!

I've long been critical of the absurdly limited resources (especially the 1k ram) of Teensies, forcing people to program like it's the 1970s. But what you describe strikes me as the troubles lurking at the other end of the spectrum: throwing complex software stacks at more modern hardware just because it has the overhead. ;)

Sometimes, indeed often, less is more. I'd rather my controller was too simple than too complex.

fanf

12 Aug 2023, 11:41

I gather STM32 controllers are a sweet spot, fairly capable and don’t need as much support circuitry as the RP2040. But I like the fantasy that I might do something more adventurous with the RP2040…

User avatar
Muirium
µ

12 Aug 2023, 12:34

fanf wrote:
12 Aug 2023, 11:41
But I like the fantasy that I might do something more adventurous with the RP2040…
Like training a large language model on your keystrokes so it can keep working for you while you sleep? ;)

Findecanor

12 Aug 2023, 13:48

Muirium wrote:
12 Aug 2023, 12:34
Like training a large language model on your keystrokes so it can keep working for you while you sleep? ;)
People tend to make EVERYTHING run on these RP2040's, so it wouldn't surprise me if there was software for machine learning for it already. :P

Post Reply

Return to “Workshop”