Developer notes for Specter-DIY
Compiling the code yourself
We use this build as a platform for Specter: https://github.com/diybitcoinhardware/f469-disco
To compile the firmware you will need
On MacOS install it using brew:
brew install arm-none-eabi-gcc
sudo apt install gcc-arm-none-eabi binutils-arm-none-eabi gdb-arm-none-eabi openocd
make disco to get the binary or
make unix to compile the simulator. They will be in the
specter-diy.bin file is the firmware that you need to copy to the device.
The easiest way to start developing is to use a simulator, and when you are done - try it on a real hardware.
Enabling developer mode
By default developer mode and USB communication are turned off. This means that when you connect the board to the computer it will NOT mount the
PYBFLASH anymore and there will be no way to connect to debug shell.
To turn on the developer mode get to the main screen (enter PIN code, generate recovery phrase, enter password), and then go to Settings - Security - turn on Developer mode - Save.
Now the board will restart and get mounted to the computer as before. You can also connect to the board over miniUSB and get to interactive console (baudrate 115200). You can use
minicom for that, i.e.
screen /dev/tty.usbmodem14403 115200.
Writing a simple app
Specter can be extended with custom apps. Most of the functionality is already splitted into apps, like
WalletManager to manage your wallets,
MessageApp to sign bitcoin messages,
XpubApp to show master public keys etc.
Check out the apps folder to understand how they work.
TODO: More detailed description