Rendered at 22:03:41 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
NotARoomba 3 days ago [-]
A while back I was frustrated when wanting to buy a keyboard that there were no triangle-shaped keyboards or circle-shaped keyboards. This lack of peculiar keyboard shapes gave me the idea to make a keyboard that could be reconfigurable into any shape my heart desired. I’m still working on the firmware and making more keys but I wanted to share my progress so far. Heres the source if anyone’s interested in how I made it: https://github.com/notaroomba/keybytes
jacquesm 1 days ago [-]
How about using a capacitive sheet under the keys, a software x/y map -> keystrokes and a simple passive blob under the keys? That might end up cheaper than this. Nice work though, at least you got the itch scratched :)
NotARoomba 1 days ago [-]
Ohh this does sound like a good idea. w tinker around with it and see but then I would also have to carry around a capacitive sheet thats the size of whatever keyboard I want. Thank you!
jacquesm 1 days ago [-]
You're welcome, if you make it work let me know please it sounds like a very interesting thing you are doing.
NotARoomba 6 hours ago [-]
Of course! I’ll probably make another hacker news post about it lol
schiffern 1 days ago [-]
I know, carry around a keyboard-sized keyboard? How preposterous. :)
Everyone knows keyboards are carried in a hefty sack, like an old baron with their gold coins...
conorbergin 1 days ago [-]
Someone sent me a link to your project because I had done something similar earlier this year, I left a github issue with the links, if I had seen this I would’ve commented like a normal person.
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.
NotARoomba 24 hours ago [-]
Woahh this seems cool, I did think of using cables but I didn't want to deal with the hassle of them adding space between the keys. Also the cpbergin link in the github issue doesn't work. Also, "I think the concept has legs", what do you mean by this?
conorbergin 21 hours ago [-]
Hmm, somethings wrong with my hosting, https://cpbergin.com/dyson2026 should work. It’s just the same video as in the submission.
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?
broken-kebab 1 days ago [-]
But looking at demo, I see it can only be rectangular anyway?
digikata 1 days ago [-]
It's a reasonable demo, I could envision variable length wire/flex ribbon spacing segments for different arrangements. Also would be fun for custom buttons for custom panels - big red buttons, buttons w/ guards, etc.
nine_k 1 days ago [-]
It should be relatively easy to add slightly angled connectors. It should be also not hard to make the key PCBs non-square.
sleepybrett 1 days ago [-]
here is the thing though. I can buy a 10$ board like a arduino pro micro or a rpi 2040. Cut out or 3d print a switch plate for whatever switch i want to use and then handwire the matrix, flash qmk/zmk on the board and I have a keyboard for FAR less than 6$ a key. Wiring that matrix is not rocket science, he'll it's barely harder than your typical baking recipie.
sleepybrett 2 days ago [-]
at the cost of what per key? Congrats your removed all the efficiency from the system.
pjc50 2 days ago [-]
People are willing to spend quite a lot on regular old mechanical keyboards.
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.
pipe01 1 days ago [-]
The key's circuit by itself is probably a few tens of cents, I can't imagine the rest of it being that expensive
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)
podocarp 1 days ago [-]
Is that for a certain order size? Because a lot of the cost can come simply from retooling or swapping components. Like if you have 100 x1 smt components vs 1x 100 smt components it's a huge different if you get what I mean. Also anything through hole I basically just give up getting assembled as a hobbyist.
sleepybrett 1 days ago [-]
you know what a spool of wire, a reel of diodes, a peice of plasticcard and a hobby knife (for a switch plate, assuming you don't have access to a 3d printer or laser cutter), and a rp2040 costs? Because that's all you need (aside switches) to build any size/geometry of keyboard you want.
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.
wongarsu 1 days ago [-]
Pogo pins are expensive. Somewhere around $0.15-$1 per pin. This design has four pairs of two pins. So just the connectors are over a dollar per key, possibly multiple dollars
pipe01 1 days ago [-]
That's fair, I didn't take that into account. I wonder if some alternative design that doesn't use them is possible
addaon 19 hours ago [-]
Inductive coupling could work for both power and data, but probably not at high enough power levels to have LEDs per key if you want to go through 10+ keys in a row...
sleepybrett 1 days ago [-]
Oh i've spent a lot prototyping keyboards, the pcb quite often one of the cheapest bit (if you even bother with one).
darksim905 2 days ago [-]
Just a small suggestion but... maybe re-record your demo without giant floodlights on your desk? :(
stavros 2 days ago [-]
What's wrong with the lights? I like a well-lit video.
luplex 2 days ago [-]
it completely clips when viewing on firefox (I use Zen btw). Like half the pixels are pure white. Looks fine on chromium.
reading these comments are so interesting to me. I would've thought a video is a video, but I guess maybe there's some codec settings behind the scenes? On Firefox, I get the washout. On Brave/Chrome, it looks normal.
jdiff 1 days ago [-]
Firefox on my machines looks fine.
darksim905 17 hours ago [-]
reading these comments are so interesting to me. I would've thought a video is a video, but I guess maybe there's some codec settings behind the scenes? On Firefox, I get the washout. On Brave/Chrome, it looks normal.
goodmythical 1 days ago [-]
Looks fine on mine as well.
pjc50 1 days ago [-]
I think that might be a FF problem.
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.
frangonf 2 days ago [-]
Not the case in my Zen (macos) looks fine.
schiffern 1 days ago [-]
Extremely cool!
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?
I love the idea of staggered keys and think that this would be worth tinkering with in a future revision. I would have to pass data and power through 2 pins and do some interesting circuitry but this should be possible! I'd also have to add more magnets so that it could snap together at an offset but in theory it should work. Thank you for this!
addaon 20 hours ago [-]
> I would have to pass data and power through 2 pins and do some interesting circuitry but this should be possible!
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.
Agentlien 2 days ago [-]
I like the idea but I could only find an image of two keys. It would be great to see a demo of a full layout. With only two keys it's a very early POC and hardly a keyboard.
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.
NotARoomba 2 days ago [-]
I am waiting on some key switches to make more keys (5 in total), but for now I just wanted to show the progress on the mechanical/electrical side. I don’t have enough PCBs for a full set of keys yet, but when the key switches arrive and I assemble the 3 other boards I’ll let you know how it goes :D
Agentlien 2 days ago [-]
Looking forward to seeing it!
What's the production cost of this per key?
NotARoomba 1 days ago [-]
Currently production cost is around 8-10 USD but I’m trying to bring that down!
mentalgear 2 days ago [-]
> Can it be easily moved around?
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).
tgv 1 days ago [-]
Normal keyboards have staggered rows. This design doesn't seem to permit that.
The keys are attached to a board so it can be in any orientation
kaipereira 2 days ago [-]
This is awesome!
How does the rigidity of the keyboard hold up with many keys and what's the cost of the materials at higher order quantity?
NotARoomba 2 days ago [-]
Thank you!!
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!
vim-guru 2 days ago [-]
I like the idea, but ergonomic keyboards are usually not perfectly columnar.
mft_ 1 days ago [-]
Very good point. I wonder whether the communication would work with rows of connected keys, only joined to other rows at one end? You could then just create simple connection blocks for different row offsets.
childintime 2 days ago [-]
Gotcha! Just in time before he scales things up to consider the impact of not having column comms.
mrheosuper 2 days ago [-]
The I2C has limit of 127 of different addresses. Also there can be I2C hang, especially when there is that many slaves on the bus.
Maybe using CAN is better.
NotARoomba 1 days ago [-]
Each key bit-bangs I2C on all four sides which removes this limit so it can technically be infinite!
If the I2C open-collector bus works well enough, the same bus will work fine for CAN. There is no need to comply with the CAN spec.
dm319 1 days ago [-]
My impression was I2C is quite prone to interference too?
9dev 2 days ago [-]
I'd suggest also adding blank modules without a switch on them for empty space on the keyboard (for example around arrow keys), that would still provide the interconnect to adjacent keys. Cool project.
NotARoomba 1 days ago [-]
Ohh this would be cool, thank you for the idea!
_paulc 1 days ago [-]
Neat project, given how cheap the ch32v003 is there are lots of opportunities to do fun distributed things with them (assume you have seen bitluni’s projects [1]) - even if they aren’t really practical!
I didn’t see the ch32 firmware in the repository - the ch32v003 only has 1 i2c peripheral - assume you are bit-banging the others?
Thank you! I am bit banging the others and I did see their videos about the ch32v003 and how it was cheap to use them. I am currently working on writing the firmware and haven’t pushed it yet.
euroderf 1 days ago [-]
OT but I'd like to see circuits of this type, on this scale, available for every loco or car (or building or structure) in a model railroad. An interface to DCC. Every car addressable and effects controllable. Much more cheaply than the current SOTA.
nkrisc 1 days ago [-]
With such complexity per key, are there other advantages besides the modularity? Are there per key customizations this could enable that regular keyboards couldn’t do in firmware alone?
NotARoomba 1 days ago [-]
Technically no, you it would provide the same functionality as even with a regular keyboard you could map out a keypress to do anything. This just adds more customizability in another dimension. There might be something else but nothing else is occurring to me right now.
kvakvs 2 days ago [-]
Sometimes my keyboards get dropped and lose a keycap or two, but never anything serious. If this is dropped on the floor, my trusty keyboard will turn into a bag of puzzle bits, right in the middle of heated gameplay or a meeting...
NotARoomba 2 days ago [-]
The magnets are strong enough that most of it should survive lol. I will be doing drop tests to test that theory out soon
tensegrist 2 days ago [-]
perhaps you could add optional magnetic rails for extra support
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
Woahh this would be cool to tinker around with. I’d also want to take into consideration reducing the ammount of parts you have to assemble for a funcioning keyboard but this definitely would help with the structural support.
aveday 2 days ago [-]
Fantastic work, I'm always excited to new modular input device projects like this.
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?
NotARoomba 1 days ago [-]
Thank you! While the connectors aren’t direction agnostic yet I can rotate the magnets on those sides so that it is almost physically impossible to connect them. I am planning on making another revision where this is fixed and they are direction-agnostic, inspired by USB-C connectors, but for now I’m adding in detections in the firmware to alert me in the case that a key is reversed.
IllIIlIlIlIIIIl 2 days ago [-]
This is a really neat idea for a macro keyboard. If it supported staggered rows and row heights, not to mention structural rigidity it would be good for everyday use too.
NotARoomba 2 days ago [-]
Thank you! I am currently thinking about adding those in the next revision and it would definitely make it more practical.
okunugaadeniyi 1 days ago [-]
This is really cool I love the fact that it can be detached and placed in different sections. It makes it easy to move a key from one location to another without much hassle. I also really love the magnetic attraction feature, it makes the whole concept even more impressive
pinyen_cheng 1 days ago [-]
I think maybe the most difficult part will be cost. As far as I know, it will cost more than 5 dollars per item. But if the quality is good enough, I think maybe some gaming user will buy it. Customize layouts is really important for gaming user.
rjh29 1 days ago [-]
For a gaming user it would be cheaper to generate a keyboard PCB, plate and case, then manufacture it with JLCPCB and put in your desired switches and keycaps. There are generators online for any custom layout.
eviks 2 days ago [-]
Is there a mouse module? Can you connect in a "staggered" manner rather than in a linear grid?
NotARoomba 2 days ago [-]
There isn’t a mouse module yet, but I am going to make more modules that include screens, finger print sensors, and I’ll add in a mouse one too :D. Currently there isn’t support for a staggered manner but I am going to work on it for the next revision.
genxy 1 days ago [-]
This is awesome. There were a couple midi controller projects that had magnetically aligned, pogo pin linked modules. Congrats on making this!
jasonjmcghee 2 days ago [-]
This is very cool.
It needs spacers / extensions so it can be laid out as desired.
trollbridge 2 days ago [-]
I’ve wondered when someone would do this (which gets rid of the annoyances of scanning).
The real breakthrough would be reprogrammable key legends in something like e-ink.
O_H_E 2 days ago [-]
I'm not sure if I have a use case for this but on the technical aspects this is so cool. Those magnetic snaps made me grin!
SV_BubbleTime 2 days ago [-]
I looked over the PCB and schematic and it looks well polished. Not a first draft obviously.
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.
NotARoomba 2 days ago [-]
Thank you!
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.
SV_BubbleTime 1 days ago [-]
So every I2C command is a relay hop? The 10th key in a chain has all the latency of the 9 before it who got the message and relayed it on? Separately what happens when the key is connected on all four of its sides? Does it receive four messages and need to send out four? Or is there some discovery of best path to master? I assume the master polls out “hey have you been pressed” to everyone?
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!
NotARoomba 3 hours ago [-]
Yes it is a relay hop and the latencies do stack. If a key is connected on all 4 sides then in the worst case scenario it will have to receive 4 and send out 1 to the best path to the master. Ideally the master doesn’t poll and an interrupt would be triggered on a keypress. there might be a way to batch them but it would probably run on a FIFO basis. I could turn it into a CAN bus but I still have to test out if that would be better than the current system.
rebooot 2 days ago [-]
good idea!
the other day was doing a roundup on keyboards to see whats new and got a striking realization, how nobody has ever slapped a nvme slot into on the back/core part of the enclosure to use as external drive since lot of us comute everyday with extra peripherals
pjc50 1 days ago [-]
NVME might not be the right idea as it's on the wrong end of a USB connection, but you could easily put a USB3-C socket in there.
rebooot 1 days ago [-]
usbc would be the typical interface, what im saying is opening the enclosure to add a nvme slot inside the keyboard itself
1 days ago [-]
andai 1 days ago [-]
Wow. This is super cool. The magnets were a great idea!
aghuang 2 days ago [-]
Very cool, would really like one
stavros 2 days ago [-]
This is cool, but wouldn't it cost more than $2k for a 104-key keyboard? I can't imagine these PCBs having a final price of less than $20 each.
NotARoomba 1 days ago [-]
Around 800 currently but I’m trying to bring that cost down.
pparanoidd 2 days ago [-]
Now give them all wheels so they can rearrange themselves on my desk
thenthenthen 2 days ago [-]
Was looking in the comments for this^
bitwize 2 days ago [-]
Hook the whole mess into Claude, so that it can punish you for attempting to write the code yourself!
fitsumbelay 2 days ago [-]
this is extremely cool. would love to see full board
lilingfei7 17 hours ago [-]
really nice
hexjy 2 days ago [-]
[flagged]
kalualualeiamba 1 days ago [-]
[dead]
M95D 2 days ago [-]
Non-viable product. I would NOT buy this.
- 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.
ehnto 2 days ago [-]
I think not-a-keyboard is probably the better use case. A modular plug and play, configurable keypad would be pretty useful for sim enthusiasts or various workstation uses. You could solve the "picking up" problem by putting the modules on a baseplate.
M95D 1 days ago [-]
Not even good for gaming because of the unreliable connections between modules.
sleepybrett 2 days ago [-]
designing a custom pcb for your own 'weird keyboard layout' and getting them manufactured short run would probably be cheaper and work better.
Karliss 1 days ago [-]
The MCU in each module is probably one of the cheapest parts in that build $0.2-0.25 a piece. It's the mechanical parts which are expensive. The switches+keycaps which you need anyway depending on how nice you want them to be can cost $0.4-1.5 per key. The most expensive part is probably the pogo pins $0.5/per pair x 8 = $4 and magents.
tourmalinetaco 2 days ago [-]
These are great points, however, who said anything about buying a 100% keyboard in this style, or buying anything at all? I didn’t see a sales page, so it’s likely not intended as an off-the-shelf product.
sleepybrett 2 days ago [-]
sure but even as a diy project it's hilariously stupid.
pjc50 1 days ago [-]
DIY is the right place for eccentric projects.
Jasp3r 2 days ago [-]
What do you mean? He tested the structural rigidity on 2 keys already and it worked fine
tourmalinetaco 1 days ago [-]
The only hilariously stupid thing is your lack of understanding. Even if this isn’t overly practical, I’m sure they learned a lot that will be applicable to further projects, and the few people this is practical for benefit. OP shared a cool thing they did. You don’t have to like the thing they did. You, however, don’t have a leg to stand on if you cannot articulate constructive criticism and just call it “stupid”.
M95D 14 hours ago [-]
I'm the one with the criticism. You should argue with me, not those who agree with my criticism.
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"?
tourmalinetaco 13 hours ago [-]
It’s here because OP wanted to show it (likely because they thought their project was “cool” plus wanted feedback). It was then positively voted on by the community. Like it or not, this website is a community-driven aggregator, not a curated commercial showcase. Over the course of a day I easily ignore 90% of the articles here, and consider most of them some form of “stupid” or “bad”. Unlike real life, ignoring the things you dislike here really lets them go away.
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?
M95D 2 hours ago [-]
> Why do you feel the need to tear this project down over aspects you haven’t even looked at?
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.
sleepybrett 1 days ago [-]
I've built a dozen plus keyboards in various configurations. I don't lack understanding, i have better understanding that you do apparently. I can build any keyboard i want with switches, a bag of diodes, a spool of wire and just about any commodity dev board like a rp2040 that qmk/zmk can support, add a 3d printer or a friend with a 3d printer it's a viable keyboard. Hell not even a 3d printer, i've seen guys who've built switch plates and cases with a dremel or basic woodworking tools.
Everyone knows keyboards are carried in a hefty sack, like an old baron with their gold coins...
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.
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?
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.
For reference, my heuristic for circuit price estimation is
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.
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.
Another commenter mentioned[0] that often ergonomic keyboards aren't columnar, but staggered. What if for the pin layout, instead of this:
It was this? 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.
[0] https://news.ycombinator.com/item?id=50240718
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.
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.
What's the production cost of this per key?
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).
The keys are attached to a board so it can be in any orientation
How does the rigidity of the keyboard hold up with many keys and what's the cost of the materials at higher order quantity?
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!
Maybe using CAN is better.
>https://www.nxp.com/products/LPC11C00
I didn’t see the ch32 firmware in the repository - the ch32v003 only has 1 i2c peripheral - assume you are bit-banging the others?
[1] https://www.youtube.com/@bitluni
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
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?
It needs spacers / extensions so it can be laid out as desired.
The real breakthrough would be reprogrammable key legends in something like e-ink.
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.
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.
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!
- 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.
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"?
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?
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.