Memtype: Open Source Password Keeper

Open Source Password Keeper

Memtype project is a low-cost and open source solution to store your passwords for having them available everywhere in a tiny and portable USB form factor device.

The device is based on the Atmel attiny85 device and uses V-USB software solution to have USB communications and enumerate as a keyboard.

The project started with the idea… what's the cheapest way of having a USB stick with all your passwords ?

About security… the device can't be accessed without entering a 4 digit PIN and all credential info is encrypted using NOEKEON cipher (we use this cipher as AES implementation is too much for the little attiny85).On the top image you can see the first Memtype prototype next to the first version. The prototype was done using a Digispark board and was modified to insert a 4 way switch. On the bottom, the latest (OSHPark made) version with SMD joystick and two LED is shown.


  • Encrypted storage using NOEKEON implemented in ASM!
  • PIN Lock, unlock it when connected! no one can use it if lost!
  • Store not only the password but also the user! it types it all for you jumping from one field to another!
  • Why stop there? store also the command and it'll type it for you! let it type the long “ssh user@someserver -p port” command for you or anything else! You can add waits so it types everything at the right time with ASCII SYN chars.
  • Enumerates as a HID, no need for drivers, it'll work on any device with USB.
  • Dynamic storage, so you're not limited to a fixed password length, just fill the 2K flash reserved for credential storage with anything you want 🙂
  • Assign names to your stored user/password/commands so you can find them fast and easy.
  • Easy command line tool to manage all your keys, make backups in xml, copy it to another device for some other user with access to the same services for example.
  • Easy to generate keymaps, edit the example file and generate the one for your keyboard map and language.
  • RED and GREEN leds two know device status LOCKED / UNLOCKED.
  • Open Source Hardware and Software.
  • Mac, Linux and Windows support for the command line tool.In a normal design the most extended method to flash an AVR microcontroller is by routing MCU ICSP pins to a dedicated ICSP connector. An alternative way when you're still developing the product is to use a bootloader.

    Bootloader is the option we choosed with Memtype during development phase but, the space occupied by the bootloader is valuable space we can use for credential storage, so we decided to remove the bootloader for end user units (about 2KB space freed).


    Our decision for attiny85 bootloader is Micronucleus, you can find more information in their github repository: Micronucleus Attiny85 Bootloader

    [Memtype First programming method]

    The first method that came to our minds were those mini grabbers test clips you can see on the image below, as they are used in a lot of projects. But we realized that grabbing six clips in such a narrow space was not only time consumming, but also a source of problems as connections to attiny pins were too lose.

For more detail: Memtype: Open Source Password Keeper

About The Author

Scroll to Top
Read previous post:
Raspberry Pi Emergency Light with Darkness and AC Power Line Off Detector

In this session we are going to make a 9WATT Emergency Lamp using Raspberry Pi and Python. This lamp will...