During this workshop we will do an air-gapped hardware wallet with SD card support based on 32F469IDISCOVERY board from STMicroelectronics. Demo video.
We will use mbed for development, but in principle you can use any OS / framework and hardware. Bitcoin functionality will also work on Arduino (but only 32-bit boards). You may need to change SD card and display libraries though.
If you want to start a bitcoin hobby project, feel free to contact me and ask questions. I will be glad to help. Email: stepan@cryptoadvance.io, Telegram: https://t.me/stepansnigirev
There are two pretty convenient ways to start with mbed:
- Online: register on mbed.com and click on Compiler. You will get to web IDE. Don't forget to add the board to the compiler ("Add to compiler" button).
- Offline: install PlatformIO for Atom or Visual Studio Code.
- Step 1. Blinky. Blink with LEDs.
- Step 2. Display. Drive a display and make a very simple GUI (label + button)
- Step 3. Bitcoin! Import wallet from mnemonic phrase, generate addresses and show them on screen (QR + text).
- Step 4. SD card. Parse unsigned transaction from electrum, show it on screen, sign and save back to SD card.
- Step 5. Final steps. Load mnemonic from memory or generate a random one and store it.