I made a thing to help you make a thing out of a keypad

I do a lot of electronics projects in my spare time, and I tend to try to make reusable parts to save myself effort in the future. Because I have to order ingredients in certain quantities, I often wind up with more than I need for my project.

So I’ve opened a Tindie store, called Overengineered Widget Laboratories. Right now there’s one product in the store, called Keypad:GO. See, I built a sculpture last summer that needed to interact with people through a phone-style keypad. The keypad interface part of it seemed like something other people could use, so I made a few extras. This is a very easy way to interface a keypad or small keyboard to an embedded electronics project, because it handles all the basics for you — matrix scanning, debouncing, key matrix collisions, etc.

It will also help you reverse engineer the keypad’s circuit, because often cheap keypads arrive without good documentation. In the tiny flash of the embedded microcontroller, I’ve packed a setup wizard that will walk you through the process of setting up the keypad of your choice. All you need is a terminal program. This is honestly my favorite part, and I demonstrate it in the video below.

Here’s Keypad:GO on the back of a cheap keypad from the internet, being wired up by my tiny dinosaur assistant, Gargantua.

Keypad:GO being attached to a keypad by a small green dinosaur

And here’s the demonstration video:

After that process is done, it just produces key characters over serial or I2C — so it can interface with basically any embedded platform.

There’s a detailed user manual with more dinosaurs if you’d like to know more.

I’ve published the schematic (linked in the manual) and the firmware. (It’s written in Rust on top of lilos, like most of my personal projects these days.)

If this looks useful to you and you want to help fund my electronics habit, come on over to my Tindie store — if it’s out of stock, please join the Waitlist, because people joining the Waitlist is what causes me to make more boards!