How to compile the tmk_keyboard firmware for ErgoDox on Mac OS X
I've wanted to try the Norman layout for a while. This seemed like the perfect opportunity. The ErgoDox is so different anyway, changing the layout would should not pose too much of a problem? That's the theory. Unfortunately, the "official" ErgoDox firmware doesn't come with Norman. I didn't want to start hacking at keyboard firmware before even getting it up and running, so I decided to try tmk_keyboard.
This is how I got it working.
We need to install AVR Libc. This package contains C libraries for AVR microcontrollers (used by the Teensy microcontroller in the ErgoDox) and most importantly for us, a version of GCC that will allow us to build the firmware.
AVR Libc is a Free Software project whose goal is to provide a high quality C library for use with GCC on Atmel AVR microcontrollers.
You can install the dependencies using Homebrew.
1 2 $ brew tap larsimmisch/avr $ brew install avr-libc
There are many versions of the
tmk_keyboard firmware available on GitHub. I'm
using Tenderlove's fork.
Get the source code.
1 git clone email@example.com:tenderlove/tmk_keyboard.git
Change to the ErgoDox keyboard firmware directory.
1 cd tmk_keyboard/keyboard/ergodox
Build the firmware.
1 2 make clean make -f Makefile
You should now have a file called
ergodox_pjrc.hex in the directory. This is
what you need to load onto the keyboard.
I used the Teensy Loader app. Follow the instructions on their website
ergodox_pjrc.hex file that we just built.
Hopefully, that should be it. Good luck fellow ErgoDox owners!