Password Vault

Hardware USB Password Manager

Similar projects worth following
I have been a member of Hackaday for a long time (a passive member actually), and I was always amazed by the creativity and ingenuity of all the members over here. I think it is time to share with you my first project, the "Password Vault".

I have been reading alot about websites breaches and loads of passwords being dumped everywhere on the internet, and the necessity of using password managers to secure the different social media accounts.
Since I didn't want to store all my passwords in software, I thought I would create my own hardware password manager.

I would like to thank "Joonas Pihlajamaa" for his contribution.

The project is simply using the V-USB library to allow the ATTiny85 controller to act as a USB keyboard.

  • The project features:
  1. 2-bit Dip switch:
    Allows the user to select between 4 randomly generated multicase alphanumeric passwords.
  2. Push button:
    1. Sends the selected password to the computer.
    2. If the user pressed the button for 10 seconds, new set of passwords will be generated and the "ScrollLock" LED will flash indicating a successful generation.

That's it.

  • Future enhancements:
    • Switch to SMD components.
    • Use bigger controller to support more passwords.
    • Add some sort of protection in case the USB stick was stolen.
    • 3D printed key-chain enclosure .

All your comments and remarks are appreciated.

  • 1 × ATTiny85 Microprocessors, Microcontrollers, DSPs / ARM, RISC-Based Microcontrollers
  • 1 × 2-bit Dip switch
  • 1 × Tactile push button
  • 1 × 1.5K Resistor
  • 2 × 68 Ohm Resistors

View all 9 components

  • 1
    Step 1

    You can find the source code here:


View all instructions

Enjoy this project?



Doug Chan wrote 08/04/2017 at 19:54 point

I'd suggest switching over to the attiny84A it's lower power and is basically the same chip but with more I/Os. If you're switching to SMT then you might as well.

I don't think the 85 has enough, but you might be able to juggle the I/Os with more dipswitches. IE: Have one switch determine input/output mode, then another set of switches flip on the physical IOs to a serial interface pinout and password selection IOs. You could also have something like a 4 or 8 pin dip switch with a shift register to interface a longer password list.

  Are you sure? yes | no

mwahid wrote 08/05/2017 at 18:11 point

Thanks Doug for your comment.

You are right about the ATTiny84A that has more IOs yet the EEPROM is still the same a the ATTiny85 (512B).

I used the Tiny85 as a proof-of-concept and I was facinated by its capabilities given its 8-pins. In fact, I was thinking of taking the project to the next level by using a microcontroller with built-in USB device functionality (ATMega32U4 or STM32F103), bigger EEPROM size, rotary encoder to cycle through the passwords, and a small LCD to display the password (in case the host device doesn't have USB-host functionality). In addition of course to preserve the "Memory Stick" size.

Right now, the bottle-neck is my SMT soldering skills which I need to work on.

Thanks again


  Are you sure? yes | no

Matt Kendrick wrote 12/06/2016 at 14:13 point

Really neat project. I've built something similar. My device only stored a few login procedures though. I like the dip switch package for accessing multiple passwords without adding a bunch of buttons. Have you thought about adding an application interface to allow passwords to be added without reprogramming the chip?

  Are you sure? yes | no

mwahid wrote 12/07/2016 at 08:34 point

Thanks Matt for the nice comment.

This is a good idea, and I was thinking of a way add new passwords over serial port. However, this will require using a bigger controller as the ATTiny85 IOs are fully consumed.

What do you think?

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates