The Keyer, Well, It Doesn't Work

I've wanted a memory keyer for a long time, but they tend to be expensive and I don't work enough CW to really justify it. However, about three years ago it occurred to me that you could make a memory keyer out of an Arduino. (An Arduino is an amazingly cheap microcontroller board that some clever Italians designed. See, e.g. http://www.arduino.cc/ for more information.) Anyway, a while after I thought of that, I decided that I didn't want to spend a bunch of time designing the hardware and programming the Arduino. At about that same time, it occurred to me that someone else might have had the same idea, and so I went looking for someone else's design to appropriate.

What I found was K3NG's keyer, and it was just what the doctor ordered. (http://blog.radioartisan.com/arduino-cw-keyer/) Boards for keyer shields (a "shield" is a board that sits on top of the Arduino and provides the extra hardware needed for the application you want to use the Arduino for) weren't then available, so I decided I would learn board layout and do my own. I also decided that I would use it to exercise my surface-mount soldering skills and worked toward that goal. A few weeks later, I had gerbers to send to a PCB fab.

In February of 2014, I finally gave the project enough priority to send off for PC boards, and I bought the components needed to populate one of the boards. I built it up enough to attach a speaker to it, programmed the Arduino with K3NG's code and plugged it in. And...nothing happened.

I've looked at it, and I've discovered that the transistors (all four of them) are in backwards. Apparently, on my PCB, the base and emitter are swapped from where they need to be. It's like a mirror-image of what it's supposed to be. After digging into it to figure out what went wrong, I've come to the conclusion that I have no idea how I made it come out the way that it did. I've also descovered that the gEDA folks don't have a documented approach for making sure that parts whose pin arrangements are important (like transistors, diodes, and electrolytic capacitors, and unlike resistors or ceramic capacitors) and I've kind of been left scratching my head trying to figure out what to do.

Eventually, I decided to create my own footprint file for this particular type of capacitor (one where the pins are, in order, "base, emitter, and collector") and I'm using that footprint rather than the generic SOT-23 one, which has pins that aren't actually even usable with the NPN transistor model from the schematic. There's another tool that supposedly should be used, but that tool isn't packaged and I'm not willing to install it from source, especially since the instructions on how to use it are so vague.

Anyway, I'm laying out a new board. I can verify that the pins on the data sheet connect to the components they're supposed to in the new layout. In the meantime, I've ordered some 30-gauge wire and I'm sharpening my X-Acto knife and I'm going to be re-working my existing shield. I don't think I can wait another two or three years for updated boards. If all goes well, I should have a complete keyer in a couple of weeks.