fun projects and FPGAs

For the final project I think I want to create a custom ergonomic keyboard. I am currently typing this from an Ergodox EZ, which, as an ortholinear and split keyboard, has some ergonomic benefits, but i am still finding that the individual key positions don’t match my hand shape as well as I would like to.

I have heard some good things about curved designs like the Dactyl and the Kinesis Advantage, but I am more interested in making a custom design based on some practical testing and modeling with my own hand shape.

I would also like to integrate a single-board computer and a battery pack into the two halfes of the keyboard respectively, so that the keyboard can be used as a standalone computer for very simple jobs when it is not plugged into another computer using USB. For this purpose it would be great to have a couple of features that keyboards don’t usually have:

  • host / sub switch to select between the two modes of operation
  • LED battery indicators
  • HDMI output
  • small OLED screen with serial login
  • USB host ports for connecting externals to the SBC. Ideally these could be forwarded to the host PC when the keyboard is plugged in over USB (like a hub), but I will have to investigate if that is technically feasible.

It would also be nice to take advantage of the fact that the keyboard is effectively a fully-fledged computer with storage and even network connectivity with software features such as using the keyboard as a hardware password manager (this idea was shamelessly stolen from the excellent MNT Reform 2 FOSS Laptop Project).