Converts any Arduino into a TOTP keychain
 
 
 
Go to file
kirbylife b99737a7a7 Add readme file 2023-04-28 00:05:36 -06:00
src Improve the write_u32 method 2023-04-27 23:37:49 -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 Improve the soft wipe method 2023-04-27 23:28:12 -06:00
README.md Add readme file 2023-04-28 00:05:36 -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

todo!();