![]() |
|
|
|||||||
| modifications post your modifications here |
|
This article is an Island. It cannot be linked to using wiki BB-codes.
A project that I've been working on off and on for more than a year now, the Humble Hacker Keyboard (i.e. a keyboard for humble hackers like me) is an idea for a keyboard that I believe would appeal mostly to programmers, though it could have more widespread appeal. This is a big project for me, and I was hoping to have a complete working version before I made it public, but time being as scarce as it is, that could be a while. In the meantime, since I found geekhack, I thought this would be the perfect place to introduce it to the world.
![]() I've got a page set up at http://humblehacker.com/keyboard (design shamelessly ripped off from some page at apple.com). I've planned to set down all of my ideas there, but haven't had the time yet to do so. If this post sparks some conversation, maybe that might help. The ideas behind this board are an amalgamation of features from some of my favorite keyboards.
My TypeMatrix 2030 hacking project that I posted here some months back is the programming side of the project. The firmware for that will eventually become the firmware for the Humble Hacker Keyboard. This is an open-source project, but it's in such a narrow area I'm not sure I could get many people to work on it with me. The keyboard you see here is a real prototype. It's built using salvaged blue alps sliders. There were many compromises I had to make due to the cost of custom keycaps being exorbitant. For example, the center shift keys were actually supposed to be combined with the center return keys to make them larger and easier to hit. That would have been $1500 minimum. Ouch. update The keys were custom made by Signature Plastics. As I alluded to in the previous paragraph, I was limited to key shapes that they already had the tooling for. Anything more would have been too expensive. Signature Plastics did a great job and were very easy to work with. I expected that they would be resistant to working with someone who is just a hobbyist, but that was not the case. Speaking of cases, the case was also custom made. This is one of the coolest things ever. I made a 3d model using Google SketchUp, and sent it to ShapeWays. A short time later, an exact plastic copy of my 3d model appeared at my doorstep. Simply amazing. end update All that remains to be done to make this a working prototype is to build the circuit board and finish the programming. I have also started on a desktop companion application to make creation and sharing of layouts easy. But like I said, time being scarce I'm not certain when that will be finished. Back from the dead "Perfect is the enemy of good." This is my new mantra. This project has lain dormant for so long because I could see ahead of me all the work that it would take to bring to life my platonic ideal of a keyboard, and it seemed overwhelming. I finally decided that it just needed to get done, and that I could fix problems later, in version 2. So I bit the bullet, ordered some PCBs and got to work. I ordered two PCBs from ExpressPCB (minimum order). I decided to assemble one board as a test, and use the second for the final build. It turned out to be a good idea. ![]() ![]() I simplified this board from some earlier designs I had done. For one, I decided to use a Teensy++ board and solder to my PCB rather than try to solder all those tiny pins on an AT90USB1287 MCU. ![]() I'm saving my blue Alps sliders for the final build. For this test build, I'm using some white Alps sliders from an Apple Extended Keyboard II. To mount the keys to the PCB, I used a hot glue gun. This way, I could try to align them before the glue set - something that would be very difficult once they are soldered down. After all the switches were glued in place, I soldered them, the diodes, and the teensy++. ![]() ![]() Then I mounted one of my two sets of key caps. ![]() ![]() With that complete, I just had to load my firmware and I'd be off and typing! I mentioned that building a test board was a good idea. Here's why. Despite how much time I spent going over the PCB design to make sure I hadn't made any mistakes, I somehow totally missed a very obvious error. ![]() That trace should have gone between those holes, not through them! Doh! So I had to cut the traces and reroute with jumper wires. ![]() The part that sucks the most about this is that I had already mounted my SD card reader to those pins, and I'm pretty sure that I destroyed it trying to remove it. It took me a while to discover what the problem was. I thought at first that it was a firmware problem. Imagine my surprise. HumbleHacker I - The Final Build At long last, we arrive at the final leg of our journey to create this keyboard. First, I had to trim the corners off of the bottom of the board so it would fit in the case. Then, learning lessons from the previous build, I first added the previously mentioned jumper wire repair. After that, I mounted the pin headers for the Teensy++ and the SD card reader. ![]() Then I mounted the nearly 100 diodes for each key. ![]() ![]() After the diodes were mounted, it was time to trim off their leads: ![]() Next came mounting of my precious blue Alps sliders! ![]() ![]() ![]() ![]() Then, insert the PCB, and solder it down: ![]() ![]() Done! ![]() ![]()
|
| Bookmarks |
| Article Tools |
| Search this Article |
Posting Rules
|