# 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: ```Bash $ ./build.sh ``` And to upload it to the Arduino, connect it to the computer and execute: ```Bash $ ./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](imgs/diagram.png)