The last in that list is what I’m going to be talking about in this post. Every now and then someone will message me asking for conversion help. But 90% of the times they don’t have the tools they would need to do any sort of meaningful analysis.
The goal of this firmware is to turn an ATMEGA32U4 board (such as a teensy or a pro micro) into a rudimentary logic analyzer.
Logic analyzers are great tools but they’re typically very expensive so the everyday keyboard hobbyist is probably unlikely to own one. I would say if you want to get into the inner workings of vintage keyboards, this logic analyzer along with a decent multimeter are excellent assets that you’ll use all the time.
To build one of these is very simple. I used a din-5 breakout board but you could just as easily chop a cable.
You can of course substitute your connector of choice, or no connector at all if you’d like to hook it up directly.
You’ll need to know the pinout if you’re using a connector. You can find the pinouts for many keyboard connectors on kbdbabel.
As I mentioned above, you’ll be flashing the firmware to an ATMEGA32U4. I happened to have a spare teensy sitting around so that is what I’m using.
The next thing to do is soldering the wires to the microcontroller. There are actually two versions of this firmware; Port B and Port D. I went with Port D so that I can easily switch between Soarer’s converter and the analyzer firmware. Check the original post linked above to find out which pins to solder to.
Then of course you connect the two together. Here’s what mine looked like.
Once it’s built, you flash the appropriate firmware (Port B/D) to the device and you’re good to go.
How the firmware works is by reading the keyboard input and then outputting message to the console. You use hid_listen to read these messages. It looks like this.
Then you copy the text from hid_listen and paste it into scla, which is the companion application to the firmware. The application will visualize this input and you’ll get something like this.
And zoomed into a single key press.