If you're interested in soldering together a keyboard, but not having to design everything from scratch, it's worth checking out the Ergodox: <a href="http://ergodox.org/" rel="nofollow">http://ergodox.org/</a> . I built one a month ago, and I'm enjoying it a lot. It's a two-piece keyboard with straight key columns, and six buttons for each thumb. You can order the parts on massdrop, when they start another order: <a href="https://www.massdrop.com/buy/ergodox?s=ergodox" rel="nofollow">https://www.massdrop.com/buy/ergodox?s=ergodox</a><p>It's not perfect, mind you: the thumb islands are three buttons wide, and my thumb rests on the innermost button. And I have hands larger than average; I don't know how someone with smaller hands would find the board. Also, because of the layout changes, some keys (the square braces, enter, - and =) have to be moved somewhere else; the buttons you're used to pressing just aren't there.<p>There are some tiny parts; if you buy it, get a head-mounted magnifier with a light, like this one: <a href="http://www.amazon.com/SE-MH1047L-Illuminated-Multipower-Magnifier/dp/B003UCODIA/ref=sr_1_2?ie=UTF8&qid=1413732059&sr=8-2&keywords=soldering+magnifier" rel="nofollow">http://www.amazon.com/SE-MH1047L-Illuminated-Multipower-Magn...</a> . I don't know how I would've been able to surface-mount the tiny diodes without it.<p>Obviously, the downside to having a keyboard with radically different placements of buttons is that going to other keyboards becomes difficult again. I haven't solved this problem, but might end up buying a second one for work.
<i>if anyone doing a hand-wired build has a better/more efficient method of making the cables for the columns, please let me know</i><p>Use self-fluxing enameled wire. It's insulated with an enamel that melts/converts into flux at soldering temperatures, so all you need to do is wrap a turn around the post of each switch contact for a column, then add solder to complete the connection. Some are sold in a convenient pencil-shaped dispenser (<a href="http://en.wikipedia.org/wiki/Wiring_pencil" rel="nofollow">http://en.wikipedia.org/wiki/Wiring_pencil</a> ).<p>I've always wanted to build a keyboard for fast typing, with ultra-light low-travel leaf-spring switches that have a more "bouncy" feel. When trying to type at 160WPM+ it matters far less what kind of sound or tactile feel the keys produce as you care more about the key actuating immediately when hit and providing some spring action to help the finger back up afterward. A leaf-mounted keycap has essentially no sliding friction, which means very little difference in force required between hitting it obliquely or perpendicularly.<p>Isn't buying a premade MCU board for a "keyboard from scratch" cheating a little? I'd go with a deadbugged 8749 in a DIP-40 package, the classic MCU for a keyboard controller. :-)
If I were to build a keyboard I would definitely take a couple of ideas from typematrix.<p>First of all, staggered keys make absolutely no sense(unles it's actually a typewriter). It takes a week to get used to a straight layout, and it feels more natural. It's not a problem to switch between staggered and matrix layouts either.<p>Second thing I would copy is having enter and backspace between the two halves of the keyboard. If you touch type this area is unused, and it's less strain on your pinky finger.<p>But anyway, this was really a great project, and a nice writeup :)
Excellent build quality, but I was surprised by these two statements on things you need:<p><pre><code> A decent soldering iron. You will thank yourself later. Also note: you will burn yourself many times throughout the build. Might as well do it with a fancy iron!
LEADED SOLDER – I started the build without leaded solder and oh dear…
</code></pre>
If you have a "decent soldering iron", then lead-free solder shouldn't be a problem. Also, if you live in the EU, leaded solder will be extremely difficult to come by.<p>Well, even with a really crappy iron, as long as the tip is fresh, you shouldn't have a problem. Most people's problems with soldering come from not having the tip wet enough and not using enough solder, thereby not making enough contact with the wire and not putting heat into it fast enough to get that specific location hot before the heat conducts away into the rest of the wire.<p>Remember, the entire reason we're using the wire is because it's an excellent conductor. For that reason, thicker gauge wire is also going to be more difficult to work. And the only reason to use larger gauges of wire is to support more current. Keyboards run on extremely little current already. You probably could have done this with magnet wire and been fine (though I wouldn't recommend it, magnet wire is difficult to work for different reasons).<p>So crank up the heat. Get it into the wire as fast as possible. Lead-free solder generally needs higher heat than leaded solder anyway. Apply the solder, apply the wire, then wait a second before removing the iron, because you also have to heat the wire you're pushing in. Soldering is a chemical bond, the metals physically mix, and you need to get them up to the right heat to do that.<p>And keep it steady, any movement while it is cooling will create microfractures in the solder joint.
This is quite an inspiring article, thanks!<p>Your photography could be improved if you got a white sheet of paper or maybe some posterboard (eg: <a href="http://www.dickblick.com/products/blick-economy-white-posterboard/" rel="nofollow">http://www.dickblick.com/products/blick-economy-white-poster...</a>). Put that under and behind whatever you are taking a picture of and it will make a more neutral, less busy background. If you want to get more complicated, get a tripod.<p>A good guide for taking your kind of photos is here:
<a href="https://www.ifixit.com/Guide/How+To+Take+Amazing+Photos/718" rel="nofollow">https://www.ifixit.com/Guide/How+To+Take+Amazing+Photos/718</a><p>Lastly, make sure to have a link to higher resolution pictures :-)<p>Cheers!
Has anyone built a DataHand or something else that "reinvents" the keyboard? This is already two decades old.<p><a href="http://en.m.wikipedia.org/wiki/DataHand" rel="nofollow">http://en.m.wikipedia.org/wiki/DataHand</a>
OP. Consider using "spindly" or "strength-neglected" instead of "girly" arms when describing your weakness. Plenty of women have strong arms.<p>You did a decent job of being inclusive except for that spot. Nice work on the keyboard and article.
With a diode matrix, is it possible to distinguish multiple simultaneous key presses? And if not, how do you handle modifier keys? Looking at your photo, it would seem that they're wired into the matrix in the same fashion as the rest of the keys.
Now make a dictaphone :P<p>For real though, here's another guy who makes keyboards:<p><a href="http://mykeyboard.co.uk/microswitch/" rel="nofollow">http://mykeyboard.co.uk/microswitch/</a><p>They're a bit weirder and with very light switches.
I wasn't necessarily expecting the parts for a keyboard build to be cheaper than an already assembled mechanical but that Gons site is selling keyboard kits for $470 !? That seems really high to me. I'm not even sure if that price includes everything you need to build on. I'm wondering how normal that is for this kind of thing or if you're kind of buying support along with the price, which would make it worth it I guess.
Current keyboard designs bug me, to put it mildly.<p>Put a mux on each group of switches, have the microcontroller rapidly scan the muxes to determine which switches are down.<p>And now all of a sudden you have a keyboard that you can actually press down as many keys as you need and it still works. Except it won't. Because USB keyboards don't support arbitrary numbers of keys being pressed at once.
Probably one of the first projects I'll make once I get my electronics workspace set up is a small keyboard based on TL1240 switches.<p>Like OP, I have found the state of free CAD software bit disappointing, moreso for libre ones. So far my favorite has been the free 2D version of SolidEdge, but it has its quirks and like the name implies it doesn't do 3D at all.
I think that it'd be feasible to "teach" the firmware assignment of pins to rows/columns by pressing the keys in sequence upon first startup. You could probably even get away with pressing every key in any order in the "teaching" step if you installed some precisely chosen diodes in reverse.
I think this pretty cool, but I can't really see why you would be so conventional in a custom keyboard. I would end up remaking the space cadet or something similar I bet. I assume a modern linux install can handle the extra modifier keys
About the column wiring: You can buy ptfe sleeving and single core uninsulated wire. PTFE won't melt. Here's one example, it comes in a bunch of sizes and usually in 5 m lengths.<p>Really great write-up btw!
A witty and self-deprecating write up of a first dive into hobby hardware - and a great result.<p>I would also check out plover - steganography for the masses.<p>Excellent - keep it up!
'Tis pity. There's really no reason to go to all this effort and expense and not split the spacebar into left and right buttons, not add any other thumbable modifier keys, and worst, include neither a pointing stick nor a thumbable trackpad.