SYS: FANTASI WIKI PAGE: DEPENDENCIES_
← HOME

Dependencies

Everything needed to build and flash Fantasi on a fresh Debian/Ubuntu box. You only need the rows for what you're doing. Versions other than the ones noted are usually fine.

One-shot install (Debian/Ubuntu)

System packages:

sudo apt install build-essential make git \
                 gcc-arm-none-eabi \
                 libreadline-dev libsystemd-dev pkg-config \
                 udisks2 util-linux \
                 dfu-util bluez

Python packages (a venv or --user is fine):

pip install pyserial pyusb pexpect nanopb pyocd

Chameleon Ultra flashing also needs nrfutil (a separate vendor binary); once it's installed:

nrfutil install device nrf5sdk-tools

Building firmware

DependencyRequiredPurpose / install
arm-none-eabi-gcc + binutilsyesCross-compiler for all three firmwares. sudo apt install gcc-arm-none-eabi, or put an upstream Arm GNU Toolchain bin/ on your PATH (verified against 14.3.Rel1).
GNU makeyesBuild driver. sudo apt install make
gityesmake auto-clones TinyUSB + LittleFS on demand. sudo apt install git

TinyUSB and LittleFS are fetched on the first build; every other third-party library is vendored in-tree.

Flashing

make flash (auto-detect) or make PLATFORM=<target> flash drives these via tools/flash.py.

TargetToolInstall
Flipper Zero / Kiisu (STM32WB55)dfu-utilsudo apt install dfu-util
Chameleon Ultra (nRF52840)nrfutil + nrf5sdk-toolsinstall nrfutil, then nrfutil install device nrf5sdk-tools
Proxmark3 (AT91SAM7S)pyserialpip install pyserial

The STM32WB BLE radio-stack flasher (tools/radio_flash.py) needs pyusb (it talks to the ROM DFU over USB, not a serial port).

Python

DependencyRequiredNotes
Python 3yes3.9+. Runs tools/flash.py, tools/radio_flash.py, and tools/launch.py.
pyserialflashingProxmark3 flasher
pyusbsome toolsWebUSB vendor-pipe helpers; also tools/radio_flash.py

Full reference

For the host CLI, host-side storage (MSC), BLE, SWD/JTAG debugging, tests, and protobuf regeneration dependencies, see the full dependencies.md in the firmware repo.

★ DREAM // HACK ★