Fantasi Wiki
Fantasi is a multi-platform firmware that replaces the stock firmware on security research devices with a common runtime. Its headline capability is RFID - reading, writing, sniffing, and emulating LF and HF tags with the same commands on every supported device.
Supported Hardware
| Target | MCU | Flash | RAM | Status |
|---|---|---|---|---|
| Flipper Zero | STM32WB55 (Cortex-M4) | 1 MB | 192 KB | Supported |
| Kiisu | STM32WB55 (Cortex-M4) | 1 MB | 192 KB | Supported |
| Chameleon Ultra | nRF52840 (Cortex-M4) | 1 MB | 213 KB | Supported |
| Proxmark3 | AT91SAM7S512 (ARM7TDMI) | 512 KB | 64 KB | Supported |
| Proxmark5 | AT32F435 | - | - | Coming soon |
| T-Watch Ultra | ESP32-S3 | - | - | Coming soon |
| Kode Dot | ESP32-S3 | - | - | Coming soon |
Quick Start
Build for any supported target:
make PLATFORM=flipper
make PLATFORM=kiisu
make PLATFORM=chameleon
make PLATFORM=proxmark3
arm-none-eabi-gcc and git must be on PATH. Third-party dependencies (TinyUSB, LittleFS, FreeRTOS) are auto-fetched on first build.
Flash to the device:
make PLATFORM=<name> flash
A successful flash is indicated by a solid blue LED. Connect at 115200 baud to the enumerated CDC port (/dev/ttyACM* on Linux, /dev/tty.usbmodem* on macOS):
fantasi> help
batt show battery level
ble BLE status [list|on|off]
cat print file contents
cd change directory
cdc return USB to serial (CDC) mode
connect connect to a BLE peer
crc32 CRC32 of a device file
device print device identifier
df show free flash bytes
dfu reboot into bootloader/DFU
disconnect disconnect BLE peer(s)
echo print arguments back
edit edit a device file in default editor
exit exit the CLI
free report heap and SRAM free bytes
help list commands
kill stop a pid or the running app
launch load and run an app (.elf) or Berry script (.be)
log stream or write log messages
ls list files
memtest write/read-back test free SRAM
mkdir create a directory
msc enter USB mass storage mode
pair pair with a BLE device
ps list tasks (state, priority, free stack) + heap summary
pwd print working directory
quit exit the CLI
radio show radio stack info
reboot restart the device
reload refresh client settings from the device
rfid launch RFID app
rm delete a file
rmdir remove empty directory
scan scan for BLE devices
settings manage saved settings
shortcut list/set/run app shortcuts (slots 0-7)
shutdown power the device off
unpair remove BLE bond(s)
upload copy host file to device
uptime show time since boot
version show firmware version
webusb switch USB to WebUSB (protobuf) mode
whoami show unique device name
See the CLI Reference for what each command does.
Where to Go Next
- RFID - read, write, sniff, and emulate LF/HF tags on every device
- Architecture - system design, HAL contract, code structure
- Features - per-platform feature matrix
- Flashing - USB and SWD flashing for every target
- Radio Stack - BLE stack installation for Flipper Zero and Chameleon Ultra
- CLI Reference - every built-in command explained