5 ms·
Show HN: Threeboard – a full-size mechanical USB keyboard with only three keys
- _benj 5y agoBut, is it clicky enough? ;)
- taylorconor 5y agoPut whatever switches you want on it and it can be!
- _benj 5y agoOn a more serious note, that’s a really cool project! As it happens, I spent quite a bit of time last night learning about the qmk firmware and was looking around for a “keyboard development board”… Do you think that you’d aim to grow the firmware to support bigger boards?
- taylorconor 5y agoFor me personally, no. But I think the threeboard firmware is small enough right now that it's very readable and understandable, so it could make a good starting point to fork and adapt to different boards!
- friendlydog 5y agoIt seems the A key takes the brunt of the typing, did that factor into your design?
- taylorconor 5y agoYes the A key is the most frequently used, as it increments the USB keycode in all layers. An alternative would be a mode that allows setting individual bits in the keycode byte, but that's still quite arduous.
- xcambar 5y agoWell executed, usable strictly speaking but practically useless. Perfect!
- ljm 5y agoI wonder if I can program my novelty Stack Overflow ctrl-v/ctrl-c threeboard to work this way.
- xeromal 5y agohaha, I have one too!
- stavros 5y agoHere's my 5-key equivalent https://www.stavros.io/posts/keyyyyyyyys/ https://www.stavros.io/posts/keyyyyyyyys/
- gigaflop 5y agoHaven't I seen you in ai03's Discord channel? I would have gone by a different name in there (this was from before the name change of the server, I think), but your handle is very familiar.
- stavros 5y agoHmm no, I don't know what that is.
- Xevi 5y agoI've actually thought about creating something like this. It looks pretty good for combating RSI. Because it would allow you to have your arms in any position. However, I think it would be necessary to have two of them, one in each hand. And maybe a small trackball on one of them. It would probably also help to have straps on them that wrap around your hand, so you didn't need to grip them to keep them from falling to the floor.
- stavros 5y agoYes, all these are good additions if you intend to use the keyboard for actual text entry, agreed.
- empressplay 5y agoHow about a two-key version that uses morse code? one key for dash, the other for dot. Or maybe the third key on the threeboard could be space / stop? (one press for space, two presses for stop?) Could be neat for kids to learn morse code
- sxv 5y agoI did some back of the envelope calculations for fun. A 5-key setup would allow one-hit triggers of: abcdefghijklmnopqrstuvwxyz and space, period, apostrophe, enter. Then add a "shift" key and you add one-hit triggers of A-Z, backspace, question mark, tab, esc. Then you could get 60 additional output values with double-tap shift and hold + key (30) and double-tap shift and release + key (30).
- pcwalton 5y agoThat's essentially 5-bit Baudot code: https://en.wikipedia.org/wiki/Baudot_code https://en.wikipedia.org/wiki/Baudot_code
- axiosgunnar 5y agoNow use that to code Brainfuck
- sc__ 5y agoCool! Can you recommend any reading resources for getting into hardware design?
- taylorconor 5y agoSparkFun have some pretty good tutorials and resources for learning, e.g. this tutorial which guides you through using KiCad, a tool for designing schematics and PCBs: https://learn.sparkfun.com/tutorials/beginners-guide-to-kicad https://learn.sparkfun.com/tutorials/beginners-guide-to-kica....
- 1MachineElf 5y agoI love small keyboards, but with only 3 keys, you may as well just send ASCII codes. Nitpick aside, this does appear to be a quality project. :) A design document, user manual, and graphical simulator are lacking in many other niche keyboard projects.
- taylorconor 5y agoIt does just send ASCII codes (well, USB keycodes)! It's not supposed to be practical, just to be technically interesting and useful to learn from!
- MikeTheGreat 5y agoI saw your answer to 'how to get into hardware design'. If you're willing to answer noobie questions I've got another one for you :) I put together an ErgoDox by following the directions (and by soldering. Lots of soldering :) ) but I don't really understand how the circuits work. In particular I'd like to put together a keyboard that connects the switches using wires instead of a PCB, but I don't know why there's all the ICs here and there, or what they're doing, or even where to find a circuit diagram of the ErgoDox, nor how to analyze those circuits. Could you recommend a good 'next step' for getting more familiar with the various parts that go into something like an ErgoDox? I'm enough of a noob that I'm not going to be surprised if you just link me back to your repo here (in which case I apologize in advance) :)
- taylorconor 5y agoI tried to give a bit of an overview of this in the 'hardware design' section of the documentation [0]. It has some external links to further documentation and tutorials in it too. But the learning curve is very steep. I'd maybe suggest looking for an electrical engineering intro book or course at a level you feel comfortable with, just to get an idea of the basics. For the ErgoDox keyboard, the schematic is actually available on their own repo [1], but it's going to look quite intimidating initially. But I found a pretty great looking article explaining the electrical design of the ErgoDox that you might find useful [2]. The ErgoDox actually looks very similar electrically to the threeboard, it uses the same MCU (atmega32u4), but of course has the extra complexity of communicating with the other half of the keyboard over the 3.5mm connector. [0]: https://github.com/taylorconor/threeboard/blob/master/documentation/threeboard/hardware_design.md https://github.com/taylorconor/threeboard/blob/master/docume... [1]: https://github.com/zsa/docs/blob/master/ErgoDox%20EZ%20Schematic.pdf https://github.com/zsa/docs/blob/master/ErgoDox%20EZ%20Schem... [2]: https://kandepet.com/dissecting-the-ergodox-the-ergonomic-programmable-keyboard/ https://kandepet.com/dissecting-the-ergodox-the-ergonomic-pr...
- MikeTheGreat 5y agoThank you for sharing the [2] link - I think that's what I'm looking for. I read through the 'big' ideas (like how the keypress matrix works, etc) but I wasn't clear on why there's like 3-6 other ICs / components in the ErgoDox too - stuff like "Why is this resistor here?". I was thinking of trying to make a keyboard that used a much cheaper CPU (like one of those $1-2 ones from China, or the Pico Pi) and realized that if I swap out that out that I'd have no idea where to put resistors, or why :) I'm definitely going to look through your stuff too - a 3 key keyboard might be a much easier way to start, actually :)
- oneoff786 5y agoYou know people who use the DSA layout type 30% faster than the standard ASD.
- csdvrx 5y agoAlternatively, get a 4-key board off amazon, popular for playing OSU Example: https://www.amazon.com/4-Key-Programmable-Mechanical-Keyboard-One-Handed/dp/B09PF5576R https://www.amazon.com/4-Key-Programmable-Mechanical-Keyboar...
- taylorconor 5y agoThese kinds of things are distinctly different, assigning macros or keycodes to specific keys. The threeboard is not a macropad, it's a fully-functional keyboard that can type anything, it just requires specifying the keycode to type or programming in macros to type words/sentences.
- csdvrx 5y agoThat's wrong. The 4 key OSU keyboard is a 4 key keyboard emitting keycodes. I know because I have one (!!) Some of them even use QMK so you can assign anything you want.
- taylorconor 5y agoMy point is that they're macro pads where you can assign keycodes or keycode combinations to specific keys. The threeboard is itself capable of determining which keycodes to send and is not limited by what it's been programmed to do. So it's fully-functional in the sense that you can use it to type anything, it'd just take a really long time and make you very unhappy!
- csdvrx 5y agoFair enough!
- couchand 5y agoVery interested to see that the simulator is built with simavr, a project I've been hacking around with a lot recently. As I understand it, enabling this kind of application is exactly the vision simavr was built with. Good work!
- taylorconor 5y agoSimavr was fantastic to work with, it's a very impressive project!