Show HN: A Truly Modular Keyboard
Posted by NotARoomba 2 days ago
Comments
Comment by NotARoomba 2 days ago
Comment by jacquesm 1 day ago
Comment by NotARoomba 1 day ago
Comment by jacquesm 1 day ago
Comment by NotARoomba 5 hours ago
Comment by schiffern 1 day ago
Everyone knows keyboards are carried in a hefty sack, like an old baron with their gold coins...
Comment by conorbergin 1 day ago
https://www.jamesdysonaward.org/en-US/2026/project/input-nod...
My motivations were very similar to yours, I wanted to do some tests with ergonomic keyboards and not have to solder or get custom pcbs made, I opted for small cables between the modules so they could flex, but I had a lot of trouble with the connectors.
Comment by NotARoomba 23 hours ago
Comment by conorbergin 20 hours ago
I mean I think the idea is worth pursuing, this could lead to a useful product. I’d be interested in trying different connection strategies, my cables were way too fiddly and unreliable, and your solution, while very neat, only allows grid layouts. Maybe there’s something else?
Comment by broken-kebab 1 day ago
Comment by digikata 1 day ago
Comment by nine_k 1 day ago
Comment by sleepybrett 1 day ago
Comment by sleepybrett 1 day ago
Comment by pjc50 1 day ago
But yes, just eyeballing that it's going to be hard to get it below $5/key and probably more like $10 for the first run.
Comment by pipe01 1 day ago
Comment by pjc50 1 day ago
For reference, my heuristic for circuit price estimation is
- passives and little SMT things are free
- anything electromechanical ~$1: switches, connectors, in this case the pogo pins
- fancy connectors up to $10 (ZIF sockets, RAM sockets, etc)
- normal ICs $1
- BGA or fancier ICs: check digikey or guess $10-$100
- board area is "free" for small boards (up to hand-sized)Comment by podocarp 1 day ago
Comment by sleepybrett 1 day ago
These per switch pcbs are conceptually cool but just kinda stupid, there are tons of people selling these single switch pcbs without the magnets/pogopins out there.. people try them out and then decide that they are pointless.
Comment by wongarsu 1 day ago
Comment by pipe01 1 day ago
Comment by addaon 18 hours ago
Comment by sleepybrett 1 day ago
Comment by darksim905 1 day ago
Comment by stavros 1 day ago
Comment by luplex 1 day ago
Comment by properbrew 1 day ago
Comment by darksim905 15 hours ago
Comment by jdiff 1 day ago
Comment by darksim905 15 hours ago
Comment by goodmythical 1 day ago
Comment by pjc50 1 day ago
If anything it needs more light to force the camera to turn down the exposure because the LEDs on the keys are bright. Almost all indoor home videos, youtube or zoom, could be improved by more light.
Comment by frangonf 1 day ago
Comment by schiffern 1 day ago
Another commenter mentioned[0] that often ergonomic keyboards aren't columnar, but staggered. What if for the pin layout, instead of this:
1 1 0 0
It was this? 1 0 1 0
Then the keys could connect with at least two wires in either columnar or 50% stagger, using the same pins. Each key has a maximum of six neighbors instead of four, but that shouldn't be too much trouble.Naturally if you expand to 6 pins it could support 0/33/66% stagger positions.
More cool, I think, is that it doesn't have to be aligned? You could imagine shifting the pins and mechanism over from top to bottom, so it's a 20%/70% stagger. Maybe that would make it structurally stronger, like how bricks are overlapped?
Very inspiring project, thanks for sharing.
Comment by NotARoomba 23 hours ago
Comment by addaon 18 hours ago
Look at the THVD8000 for some ideas here. Not a part I would directly recommend (size), but shows just how easy power+data over a single twisted pair is, with an oscillator on the send side to generate the data signal and an envelope detector on the receive side. You can get fancy here... but the magic is that you don't need to.
Comment by Agentlien 1 day ago
Does communication work well and feel snappy with a full set of keys? How is the structural integrity of a full one? Can it be easily moved around? That type of questions could easily make this unusable at scale.
Comment by NotARoomba 1 day ago
Comment by Agentlien 1 day ago
What's the production cost of this per key?
Comment by NotARoomba 1 day ago
Comment by mentalgear 1 day ago
I would assume you could have a custom support the keys rest on, that itself is split eg in the middle, so you can easily split the whole keyboard and have it stored in a compact way (trading length for depth).
Comment by tgv 1 day ago
Comment by wcchoi 1 day ago
The keys are attached to a board so it can be in any orientation
Comment by kaipereira 1 day ago
How does the rigidity of the keyboard hold up with many keys and what's the cost of the materials at higher order quantity?
Comment by NotARoomba 1 day ago
It’s really rigid with 2 keys so far but I have yet to test with longer configurations. At a higher order quantity, each key comes out to be around 6 USD but I’m trying to minimize that as much as possible with future revisons!
Comment by vim-guru 1 day ago
Comment by mft_ 1 day ago
Comment by childintime 1 day ago
Comment by mrheosuper 1 day ago
Maybe using CAN is better.
Comment by NotARoomba 1 day ago
Comment by ehnto 1 day ago
Comment by mrheosuper 1 day ago
Comment by childintime 1 day ago
Comment by dm319 1 day ago
Comment by 9dev 1 day ago
Comment by NotARoomba 1 day ago
Comment by _paulc 1 day ago
I didn’t see the ch32 firmware in the repository - the ch32v003 only has 1 i2c peripheral - assume you are bit-banging the others?
Comment by NotARoomba 1 day ago
Comment by euroderf 1 day ago
Comment by nkrisc 1 day ago
Comment by NotARoomba 1 day ago
Comment by kvakvs 1 day ago
Comment by NotARoomba 1 day ago
Comment by tensegrist 1 day ago
or even 3d-printed "grids" of arbitrary shapes, with magnets embedded at the junctions, to interface with the keys' magnets while being separate from them
Comment by voidUpdate 1 day ago
Comment by NotARoomba 1 day ago
Comment by aveday 1 day ago
Are the connectors actually direction-agnostic? Looking at the layout it seems like depending on which side you connect you have a 50% chance of having the pin order reversed, and there don't appear to be any additional switching components correcting for it.
Do you have plans to address this so that any side can connect to any side? Or can they already and I've missed something?
Comment by NotARoomba 1 day ago
Comment by IllIIlIlIlIIIIl 1 day ago
Comment by NotARoomba 1 day ago
Comment by okunugaadeniyi 1 day ago
Comment by pinyen_cheng 1 day ago
Comment by rjh29 1 day ago
Comment by eviks 1 day ago
Comment by NotARoomba 1 day ago
Comment by genxy 1 day ago
Comment by jasonjmcghee 1 day ago
It needs spacers / extensions so it can be laid out as desired.
Comment by trollbridge 1 day ago
The real breakthrough would be reprogrammable key legends in something like e-ink.
Comment by O_H_E 1 day ago
Comment by SV_BubbleTime 1 day ago
I sort of don’t get the 4x I2C busses. I’m probably missing something obvious but it isn’t immediately apparent how the units all have addressing worked out.
Comment by NotARoomba 1 day ago
The 4x I2C busses were mainly there to reduce parasitic capacitance and also allows me to know where each key is physically relative to each other in software. I’m still working on the firmware for it, but currently the plan is for each of the keys to remember its “parent”, the neighbor that is closest to the main board, and forward events repeatedly to the main board.
Comment by SV_BubbleTime 1 day ago
Off the top of my head, I think I would have considered a masterless node system like CAN here, there everyone would just post their press status on change and on cyclic… because if you have to relay I2C messages even at 400kbps, that seems like a latency build up at n keys down the line.
But, I haven’t really thought about it at all. I’ve only used I2C like twice ever!
Comment by NotARoomba 2 hours ago
Comment by rebooot 1 day ago
Comment by pjc50 1 day ago
Comment by rebooot 1 day ago
Comment by andai 1 day ago
Comment by aghuang 1 day ago
Comment by stavros 1 day ago
Comment by NotARoomba 1 day ago
Comment by pparanoidd 1 day ago
Comment by thenthenthen 1 day ago
Comment by bitwize 1 day ago
Comment by fitsumbelay 1 day ago
Comment by lilingfei7 16 hours ago
Comment by hexjy 1 day ago
Comment by kalualualeiamba 1 day ago
Comment by M95D 1 day ago
- How much does it cost? Sell price, not BoM price. I expect something like $10'000 for a full 104-key layout.
- How heavy would it be?
- Can you lift a 104-key layout from the table without it breaking in 2 (or more) pieces? Can you even lift or move a 40% layout with one hand?
- How do you arrange it in a non-ortholinear layout? If you can't, then anyone can just buy an ordinary ortholinear for $100 and switch layouts in software.
- How does the spacebar key look like? Enter key? Shift? I can't type if those big keys aren't big.
- How do you make spaces between key groups?
- There are a lot of pogo pin connections. It's statistically impossible for all of them to work. Is there any redundancy for those connections? Alternate signal paths with automatic rerouting? Any debugging tools/indicators to find where the bad connections are?
- If you have a MCU in every key, and at that price, I would expect them to have a mini-display in the keycap plus lots of other fancy features.
- How about automatic function assignment for each key based on it's location? Can it do that? If not, then any drop on the floor becomes a half-hour puzzle-solving problem.
Comment by ehnto 1 day ago
Comment by M95D 1 day ago
Comment by sleepybrett 1 day ago
Comment by Karliss 1 day ago
Comment by tourmalinetaco 1 day ago
Comment by sleepybrett 1 day ago
Comment by pjc50 1 day ago
Comment by Jasp3r 1 day ago
Comment by tourmalinetaco 1 day ago
Comment by M95D 13 hours ago
This project is so bad, anyone with basic physics and electronics understanding can tell it's bad. Unlike @sleepybrett I never even built a keyboard in my life and yet can I still find numerous problems with that keyboard. And I didn't even get to the MCU firmware part. I can only imagine how bad that is.
If this project was done only to learn, then why is it here? People don't usually brag about what they learn. (Look ma! I put 3 lego bricks together.) I mean, it's perfectly OK to build projects to learn, make mistakes and learn from those too - I wish I had time to do that myself - but showing it on HN as if it's some viable product? Don't do that.
Why are you defending it? Just because it looks "cool"?
Comment by tourmalinetaco 11 hours ago
Let me remind you that you literally opened up with various constructive criticisms, providing value to OP and to others reading. That alone made the OP’s post worth it. Nobody made any claims that it was a product btw, you made that assumption yourself. OP could have—and should have—explained what they were aiming for here, but “Show HN” is literally for things people make, just because some people use it as free advertising doesn’t mean hacking away at personal projects is wrong, in fact it’s the opposite.
As for why I’m defending it? Because I want to, it’s that simple. I don’t need a complex explanation to defend it or myself, particularly when I made my thoughts clear earlier. What about you? Why do you feel the need to shield sleepybrett from criticism while he’s posturing over making a simple keyboard? Why do you feel the need to tear this project down over aspects you haven’t even looked at?
Comment by M95D 1 hour ago
Because it looks to me like some sort of hype product launch / vaporware / investor bait / star farming, or some other foul play, and everyone here gave votes and supportive comments instead of realizing just how bad it must be in reality.
Comment by sleepybrett 1 day ago