Hacker News new | ask | show | jobs
by unnouinceput 1030 days ago
Same here. All these modern keyboards are missing a lot of what old one had. The most I miss most is the Alt GR one, the bigger ENTER key and I want a lot of space. Call me fat fingers if you want.

So I started to actually create my own. And I want it to be programmable. And movable, as in you can move the key around, enlarge or shrink them. And when I say I want them programmable I meant to pull a little gizmo out of it, hook it up to a separate power source and load preset or connect to computer and use an app to make the keys look different.

So far my idea is to have each key include a magnet, an ESP32 chip and a small LED screen on top of it. The controller to all those 110+ ESP32 chips will be a RPi CM4 module, which will also be the USB connection for the PC. That's one iteration because this way I can actually have a click-clack mechanical one. The other iteration is to just have a big ass touch screen and the RPI underneath to just play that as an app that simulates the keyboard. Prettier, way more customizable as key positions/size go but no click-clack sound/feeling.

I'm $2000 in my research hole for this with nothing to show up for but is fun. Probably next year I'll finish it :)

3 comments

I agree but I don't need the keys look anything. The best thing happened to my keyboard life so far was having to use a keyboard without the letters of a language I used daily drawn on it. I would rather buy "das keyboard" with purely black keys but it doesn't have enough keys for me to invest in.

However, I would love to have your software-defined visually configurable keyboard as a second one on my table and every app using it as a sorg of a "toolbar" / command palette. This was what Apple tried sort of (it would have been nice idea if they didn't sacrifice a real keys row for it). To me it sounds like an additional display with touch support can do the job.

The LED display on top of the key, driven by the ESP32 beneath, will allow you to have anything as the letter there, including Arabic, Japanese or just emoji keyboard layout.
I wouldn't recommend using ESP32 for that. It's overpowered for this application. You don't even need its wireless connectivity. I guess using something like RP2040 or ATTiny would be a better option.
why an esp32 instead something simpler like an stm8 (or an stm32f103c8t6 if you need arduino compatibility) if you really want an mcu per key ?
because I'm experienced in ESP32 and not in STM8. But now that you mention it, a little seed started to grow. Thank you kind stranger, lemme get back to you when this will probably 2 years from now on and another $2000 in research/playing around.
I said stm8 but there are a lot's of cheap microcontroller, I don't know what you use to program your esp32 but you should have a look at platform.io . I use that list https://registry.platformio.org/search?t=platform&p=1 to select MCU's for my projects.

The thing I like the most about it is that I don't have to manually install and managed various tool chains and it's a lot more flexible than the Arduino ide.

I use Free Pascal/Lazarus to target anything, ESP32 included. As for IDE where it runs, in a nice VM with plenty of processing power and memory on my PC so I can fast iterate code to production.