Converts any Arduino into a TOTP keychain
 
 
 
Go to file
kirbylife 01d7651212 change the rs/en screen pins 2023-05-04 20:57:19 -06:00
imgs fix RW Pin 2023-05-02 15:37:53 -06:00
src change the rs/en screen pins 2023-05-04 20:57:19 -06:00
tools Improve the soft wipe method 2023-04-27 23:28:12 -06:00
.gitignore Add comments 2023-03-30 15:05:14 -06:00
Cargo.lock Improve the soft wipe method 2023-04-27 23:28:12 -06:00
Cargo.toml change the rs/en screen pins 2023-05-04 20:57:19 -06:00
README.md test insert imgs 2023-04-28 14:56:54 -06:00
avr-atmega328p.json Initial Commit 2023-03-30 12:05:33 -06:00
build.sh Add new optimizations to do the elf smoler 2023-03-30 22:09:09 -06:00
upload.sh Finally works! 2023-04-26 21:50:18 -06:00

README.md

RustyToken (I'm open to new names)

IT's a TOY utility to make a TOTP keychain. This it's a TOY, Please don't keep your top priority keys here. I disclaim any responsability for anything that may happen to your TOTP keys.

Hardware

To make your own RustyToken you'll need:

  • 1 Arduino (UNO/Nano)
  • 1 RTC DS3231
  • 1 Screen STN LCD 16x2 without i2c interface
  • 2 push buttons
  • 1 220 ohms
  • A lot of wire

Software

To build the firmware for your Arduino you'll need:

  • A linux machine (I don't know if this compile on another OS)
  • All the rust env tools (rustc, cargo, rustup)
  • The Rust's nightly version
  • all the AVR env build tools (avr-gcc, avr-binutils, avr-libc, avrdude)
  • Python3 to use the tool

How to build and load the firmware

To build the firmware you execute:

$ ./build.sh

And to upload it to the Arduino, connect it to the computer and execute:

$ ./upload.sh

IF this step fails, edit the upload.sh script and change the /dev/ttyUSB0 to the Serial port assiged to your Arduino (You can check this path with the Arduino IDE)

Diagram

Diagrama de RustyToken