ChisLink is a portable GBA cartridge manager and MCU service platform. It can start a GBA multiboot manager, manage GBA cartridges, browse SD files, provide WiFi/BLE services to GBA software, and expose a C SDK for third-party programs.
- README: English | 䏿–‡
- User manuals: English | 䏿–‡
- ChisFlash cartridges: ChisFlash
- Store: ChisFamily Official Store
- GBA multiboot manager for cartridge management.
- ESP32-C3 MCU firmware with SD, WiFi, BLE, web file manager, and signing support.
- Public GBA SDK for file, stream, socket, BLE, cart, and runtime services.
- SDK examples, including storage, streams, sockets, BLE scan, Bomberman link, and a BLE HID gamepad sample.
- Cartridge page:
- GBA-side cartridge probing.
- Game database save detection and hardware save detection.
- Backup/restore by DB result or by hardware result.
- ROM dump and GBA NOR flash programming with progress, speed, and ETA.
- File page:
- UTF-8 SD browser with multilingual font support.
- Run
.mb.gbamultiboot apps through the chainloader. - Set a custom boot multiboot app.
- Flash ROMs, restore saves, favorite, rename, move, and delete files.
- Wireless page:
- WiFi radio, lazy connect, power save, and TX power trim.
- AP scan, SSID/password input, and Join WiFi.
- Explicit Web Server startup on port 80.
- BLE scan/test entry.
- About page:
- Language selection.
- Default/custom boot firmware selection.
- Build version and commit label.
- Prepare a microSD card with an MBR partition table and a FAT32 partition.
- Put your device signature at
/sd/.chislink/signature.bin. Legacy/sd/config/signature.binis still accepted and migrated. - Copy ROMs, saves, and
.mb.gbaexamples anywhere on the SD card. - Flash the firmware package from the latest GitHub release.
- Start the GBA in multiboot mode to enter the manager.
The firmware creates this application directory automatically:
/sd/.chislink/
├── chislink.conf # MCU config: WiFi, web, signing server
├── manager.conf # GBA manager config: language, custom boot
├── signature.bin # Device signature backup
├── saves/ # Save backups
├── dumps/ # ROM dumps
├── favorites/ # Favorite files
└── examples/ # Sample files for SDK examples
Release assets contain chislink-fw.zip with:
flasher_args.json
bootloader/bootloader.bin
chislink-mcu.bin
partition_table/partition-table.bin
storage.bin
identify.bin
You can flash with esptool-js or a
compatible ESP flashing tool using flasher_args.json.
The SDK is plain C and does not allocate hidden global workspaces. Applications provide the memory used by socket, BLE, stream, and protocol layers.
Build all examples:
make -C examplesEach example emits a .mb.gba multiboot image. Copy it to the SD card and run
it from the manager file browser.
BLE hosts can automatically reconnect to a previously paired HID device. If a
PC or phone is still connected to the 08_ble_hid_gamepad example
(ChisLink Pad), it can interfere with peer-to-peer BLE examples such as
07_bomberman.
Before testing BLE Link examples, disconnect or forget ChisLink Pad on the
host, or temporarily disable the host Bluetooth radio. Restart the involved
ChisLink devices or reload the target .mb.gba examples so the BLE profile
starts from a clean state.
MIT. See LICENSE.