2025-10-01 10:14:38 -07:00
2023-11-22 08:51:13 -08:00
2021-04-30 08:03:18 -07:00
2025-10-01 10:14:38 -07:00
2021-03-21 23:06:47 -07:00
2021-03-21 23:06:47 -07:00
2021-03-21 22:41:02 -07:00
2024-09-10 21:08:30 -07:00

Password Typer

WIP: switch from ATMEGA32U4 to RP2040

...or perhaps the smallest, most portable macro keypad :)

People in my department are complaining about the random-garbage passwords I had KeePass generate to secure our admin account. I've suggested that they get KeePass and learn how to use it (it's useful in plenty of other ways besides generating secure passwords and remembering them for you), but they haven't jumped on it just yet. I then came up with this idea: a small gadget that plugs into a USB port and types in the admin password for you. Since we have more than one, there's more than one button. Basically, you can set it up with up to four strings that it'll spew out on each keypress.

I'm trying to keep it as small as possible, so that it'll be easy to keep with you all the time. The USB plug is part of the PCB, so it adds no height. The new design will most likely have a small 3D-printed enclosure around the electronics and will leave the switches exposed. The metal-dome switches of the previous version will be replaced with tactile switches.

In addition to showing up on your computer as a USB keyboard, a serial port is provided through which you can configure the device with any terminal program: minicom, PuTTY, the terminal built into VSCodium, etc. Set it to 9600 bps 8/N/1, hit Enter to show the help, and set it to type whatever you want it to type. I suppose a point-and-drool configuration tool could also be written to use this interface, but I don't personally have need for such a thing. :)

Technical Details

Board design is in the kicad directory, and pulls in my KiCad library as a submodule. Firmware is in the src directory and is built with PlatformIO, running under VSCodium. (PlatformIO is configured to build for the Adafruit Trinkey QT2040, as I used one of those to port the software from the older version and used it for a bit as a one-button string typer.) The source is easily adaptable to a greater or lesser number of keys. Case design is will be in the case directory and is will be written in OpenSCAD.

To load firmware, plug into a USB port and short TP3 and TP4 together. The board should show up as a USB mass-storage device, to which you can copy the firmware file.

Description
No description provided
Readme CC-BY-SA-4.0 16 MiB
Languages
OpenSCAD 55.7%
C++ 41.2%
Shell 3.1%