HN user

taylorconor

214 karma
Posts3
Comments19
View on HN

My 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!

I 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/docume... [1]: https://github.com/zsa/docs/blob/master/ErgoDox%20EZ%20Schem... [2]: https://kandepet.com/dissecting-the-ergodox-the-ergonomic-pr...

I built a similar project (https://github.com/taylorconor/inkymon) using an Inky wHAT e-ink dev board [1] connected to a Raspberry Pi Zero, which seems to be the same display as used here.

It's really not fit for this calendar / todo list use-case. It's not possible to get much information density on a 400x300 two-tone display. No anti-aliasing or hinting on the fonts, for example. So you either need great eyesight or very few todos :)

[1] https://shop.pimoroni.com/products/inky-what.

I guess the inline function would require a Badge and the private member function would not. So an inline constructed but never used Badge is even more likely to be completely optimized away