Orpheus Based Password Manager


I've been wanting to make this password manager since I found out more than 33 of my saved passwords on Google had been compromised, so I decided to finally work on it in this hackathon.

What it does

Orpheus Password Manager is an USB device that:

  • Saves my passwords physically encrypted on the EEPROM of an Arduino.
  • Keeps my passwords away from the internet and safe from password breaches.
  • Let's me store up to 62 passwords of 16 characters
  • Generates random passwords upon request
  • Types any of the saved password automatically when unlocked through an app on my phone.

How I built it

I used Hack Clubs Orpheus Leap as the main board. It is a Leonardo based Arduino giving it ability to act as an USB host device, to which I connected a liquid crystal display, a rotary encoder/knob and a Bluetooth module. I coded the Arduino in the Arduino IDE, made a small app in MIT App Inventor to unlock the device over Bluetooth.

Challenges I ran into

At first I was struggling to encrypt the passwords. I was trying to code the encryption algorithm myself based on articles I read on encrypting data. I later found a library called the AESlib and thankfully I was able to encrypt and decrypt the passwords easily with the function provided in the library.

Saving the encrypted passwords to the right EEPROM address was also a challenge. However I got that figured out after playing around with a bunch of for loops and C functions like sprintf and strlen.

Accomplishments I'm proud of

It was my first time working on a hardware project in a hackathon all while being a one man team.

What I learned

I learnt a whole bunch of things even though I was working alone. Some of the new things I learned were:

  • How data encryption works, especially AES.
  • How to use an Arduino as an USB host device.
  • How to save encrypted data on an EEPROM
  • Indexing EEPROM addresses.
  • Working alone on a hackathon project is not an easy task.

What's next

I plan to design a case for this project in Fusion 360 and 3D print it. The app could be improved to let the user add new passwords.

Built With

Share this project: