Make a cheap keypad speak serial, so you can use it in your project easily!

Keypad Go

Sold by Overengineered Widget Labs

$15.00

No tax for United States [change]
Keypad Go needs pins for the serial connection and the keypad, unless you're planning on soldering wires directly. If you already have 2.54mm pins in your toolbox, let me know and I won't include any.
Stock available: 15
Home automation
Prototyping
STM32
SHARE

Orders placed starting in May 2024 will receive either a rev2 or a rev3 board -- they're functionally equivalent, but the rev3 is slightly easier to make.

Keypads: cool but tedious

There's nothing quite like the feel of a chunky physical keypad, like on an old phone or ATM. It adds a certain feel, a certain groundedness, to a project's user interface.

Interfacing with a keypad isn't hard, but it can be tedious and requires a bunch of pins. Once you get the keypad in your hands, you've still got to

  • Figure out how it's wired, because they usually don't come with a datasheet,
  • Wire up seven or eight or twelve pins to a microcontroller -- pins you now can't use for anything else,
  • Write code to scan the key matrix often enough to not lose keys, and
  • Write code to clean up the input signals, filter out ghost keys, and debounce the (often cheap) switches.

If you were trying to build something that includes a keypad, all this work on the keypad itself can seem like a lot. If your project needs to run some code on that microcontroller...well, having to also scan a keypad can add a lot of complexity.

I got tired of all that, so I built this widget. It's called Keypad Go, because that's what it do: make keypad go.

[This video content is unavailable on this device]

Keypad Go does the tedious stuff so you don't have to

Keypad Go is a tiny backpack you slap on the back of a typical keypad (or wire up to a more elaborate system of your choice). You provide a USB-to-serial cable (or old-school serial port), and Keypad Go will have you up and running within two minutes, even if you don't know anything about the keypad.

Seriously. Keypad Go will:

  1. Figure out how the keypad is wired for you. You'll have to help by pressing keys, but it'll do the rest.
  2. Determine an efficient configuration for scanning the keypad at a high rate. (And show it to you, in case you're curious.)
  3. Save the results so it survives power loss.
  4. Turn keypresses into serial data at 19,200 baud -- easy to feed to anything from an Arduino on up.

If you ever need to change the settings -- or move it to a different keypad -- there's a SETUP button that will restart the process. Easy. No software required beyond your usual way of talking to a serial port.

Tech specs

  • Voltage inclusive: Keypad Go loves 5 volt and 3 volt circuits equally.
  • It's just asynchronous serial: Keypad Go works with any device with a (TTL-level) serial port or UART. The interface is so simple you don't even need a library to talk to it. Really.
  • Bonus I2C interface: Keypad Go also happens to have an I2C port, compatible with cables for the Seed Studio Grove and Adafruit Stemma systems. It's also 5V tolerant and can be used to power the whole keypad. I2C is harder to get working (and less reliable) than async serial, but lets you string many devices together on the same pins.
  • Firmware upgrade options: Keypad Go has a pogo pin SWD connector for all you embedded hackers out there, but it's also happy to receive firmware updates over the same serial connection it uses for everything else.

More?

There's a pretty detailed manual, a well-commented schematic, and open-source firmware (all linked below)!

Links to code and documentation

Documentation (cliffle.com)

Code (github.com)

Design Files (cliffle.com)

Shipping policy

Normally, I ship orders about once per week.

The seller

Overengineered Widget Labs

Berkeley, California, United States
1 order since Jun 3, 2024
Unusual components, development tools, and odd electronic widgets to help you build and upgrade your projects.