![Smile :)](./images/smilies/icon_e_smile.gif)
So I came to geekhack purely because I happened to stumble across the Ergodox while searching for a keyboard solution to my pain in my wrists. And because Dox and Litster were awesome enough to open source their designs, I was able to use the laser cutters we have at work to take the design for a test drive. What I found just laying my hands on the boards echoed what I've read from a few people, mainly that the thumb cluster wasn't entirely comfortable for me at the same height as the other keys. A couple of test cuts later and I've landed at this:
![Image](http://acidfire.ca/keyboard/BDY14173.jpg)
Comparison w/ Ergodox:
![Image](http://acidfire.ca/keyboard/BDY14176.jpg)
I made some minor modifications to the key layout, dropped the thumb pad 9mm, and everything felt a bit better in terms of fit. I still want to offset the pinkie keys down a bit more, but for now I'm happy to test my new layout. So before I lay out and order PCBs, I set up a test the old fashioned way:
![Image](http://acidfire.ca/keyboard/BDY14185.jpg)
Installing diodes made it super simple to connect my columns. The best part is, it takes minimal effort to remove the hot glue & solder, so when I do finally get PCBs made it won't take me long to recover my keys for the new board.
And because the black & clear acrylic sandwich looks so slick:
![Image](http://acidfire.ca/keyboard/BDY14178.jpg)
I'm also a bit proud of the way I've designed the thumb area, as it allows for a variety of different layouts to be used/customized, and then connected to the mainboard:
![Image](http://acidfire.ca/keyboard/thumbpads.png)
Larken on GH pointed out that leaving your hands floating while the boards are tented leads quickly to fatigue, so I took his advice and updated my design:
![Image](http://acidfire.ca/keyboard/BDY14190.jpg)
I widened the edges a bit, and extended the palm rest, updating the design of the curve as I did. I also moved the pinkie keys down a few millimeters, which feels more comfortable to reach with. The result is far more comfortable than the previous iteration, so now I may just have to cut some pretty 6mm clear spacer pieces and peel off all that protective paper.
Someone was also asking about the positioning of the thumb on the lower keypad. Keep in mind when you see this, the drop of the thumb area makes a big difference in whats reachable:
![Image](http://acidfire.ca/keyboard/BDY14193.jpg)
![Image](http://acidfire.ca/keyboard/IMG_0659.jpg)
![Image](http://acidfire.ca/keyboard/IMG_0661.jpg)
I haven't begun to work on the PCB yet as I've been trying to settle out on my layout first, but while it'll be similar to the ergodox layout there is definitely going to be a few changes:
- Each half will have a ATMEGA32u4 w/ an open source bootloader. I had considered just using the Teensy 2.0's, however open source & open hardware is very much a part of what I do for work that I don't feel right using something close sourced when I have other options. The ironic thing is, I'm using a full controller in each because I plan to use a Bluegiga WT12 bluetooth radio (which is closed source) in each half (eventually) to set the whole thing up as wireless and compatible w/ my mobile devices. If I produce a kit for this, the bluetooth would be an optional add on. If someone knows of a more open module that would allow me to actively switch between bluetooth connections (without having to cycle through them), i'd love to take a look at it.
- The keys themselves will most likely be a 7x5/8x5 matrix layout connected to a MCP23018, keeping it from eating all the I/O on the 32u4 as I have a few other things in mind and leaves more of it open to be hacked/used for other things down the road.
- The thumbpad will most likely be connected on an MCP23008 so that its simple to address/change, move, etc w/o needing large connectors.
Using an I2C bus for the keys allows for simple modifications & tweaks, especially w/ customizing the layout as the MCU will be laid out on a seperate board, and additional peripherals/keypads/foot switches could be added w/ minimal effort.
So basically, there will only need to be 4 pin connectors between each board and each half will have three boards for now (not including the bluetooth.)
There a few more additions/plans I have for the board that I'll be keeping a surprise for now, but I think they'll add an interesting touch to the project
![Wink ;)](./images/smilies/icon_e_wink.gif)
The other reason as well that I'm not planning to use existing firmware is that I plan to produce a proper configuration tool that would allow myself & others to configure/set keys w/o having to mess around with the firmware. I have it laid out right now to support 8+ layers, possibly more, all stored on the boards so that you can take your setup with you and not need the software.
I've also been giving some thought as to how I might want to intergrate LEDs into the board, for style & function. The LEDs I have in mind are SMD, are roughly 2x1.5mm and RGB. I'd be using them in an array similar to the keys, using a set of 74HC595s & something along the lines of a ATMEGA8/168/328 on an I2C bus. We've already got libraries written for this at work so I can reduce the size of everything as much as possible. This board would come preassembled as it would be far simplier for me to troubleshoot and for you guys to put together if you don't have to solder 360 tiny leds. This would be the arrangement of the LEDs under the switch:
![Image](http://acidfire.ca/keyboard/rgb-leds.png)
The 4 LEDs would act as one for the first revision as doing independent control of each would be a fair bit more complicated, but I like the idea and I've added it to my list of features to explore in a future revision.
More to come!