This is a (WIP!) Rust board support package for the open source Solo security key.
This key consists of:
- an STM32L432KC microcontroller
- either a USB-A or USB-C connector
- a clicky dome button
- 3 LEDs
- an NCP114 voltage regulator
- and various resistors, capacitors, and Zener diodes
One specialty is that it has a custom USB bootloader, allowing easy updates. To use it,
FLASH ORIGIN in memory.x needs to be set to
0x800_5000 instead of the conventional
Alternatively, the ST DFU bootloader can be used.
Additionally, serial TX/RX and all SWD pins (SWDIO, SWCLK, SWO) are kind of broken out.
You need stable Rust 2018 edition, for details see the embedded book, in short:
curl https://sh.rustup.rs -sSf | sh rustup target add thumbv7em-none-eabihf cargo install cargo-binutils rustup component add llvm-tools-preview
To build blinky, run
make blinky. You end up with a
To flash it to your Solo Hacker:
- insert Solo and boot to Solo bootloader by pressing the button for ~2 seconds (it starts to blink)
- setup Solotool and make sure you can flash the original
- watch the green LED blink
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.