You need
- Seeed XIAO ESP32S3 Plus: 21 × 18 mm, room for about 20 firmwares, a battery charger on board, and it reads its battery (the FM-1 shows its level). Its LED blinks what it's doing.
- a 3.7 V 180 mAh LiPo with bare wires: solder it to the BAT+ and BAT− pads on the XIAO's back. Check the polarity with a meter first: the wire colours on these aren't always right. A firmware switch takes a few mAh, and the XIAO charges it from its USB-C (its red LED flashes while it does, and goes out when it's full).
- Chrome or Edge on a computer, and a USB-C cable that carries data
No power switch: when it's done, or nothing happens for a while, the board goes to deep sleep (months on that battery). Press its BOOT button (or reset) to wake it.
Already set up? You don't need to install again: the program on the board doesn't change. An update is just the files on its drive, the menus (lilfm1.bin, lilsmk.bin) and JieLi's loader (wl82loader.bin): get them on the Drive tab.
1. The program
Pick your board, and plug it into this computer. A new board: hold its BOOT button, tap reset, and let go (its download mode). One with lilfm1buddy on it: if its LILBUDDY drive shows up on this computer, eject it first (its LED goes blue: it's ready to install). Then press Install. A new board, or one with lilfm1buddy 0.1 on it: let it erase. To update one, don't: its files stay. Then tap reset.
Erasing deletes everything on its drive, backups too: copy them to your computer first.
No build yet: the page has no firmware next to it.
2. JieLi's loader, and firmwares
On a computer the board is a USB drive, LILBUDDY (its LED cyan). Put .fwsc firmwares on it (drag them there, or from the Drive tab). Eject it when you're done.
The board writes the FM-1's flash with the loader JieLi made for its chip (wl82loader.bin). It isn't ours to hand out: the Drive tab gets it from jl-uboot-tool, checks it, and puts it on the drive.
The board on this computer is a USB drive: press Open, and pick it, LILBUDDY.
JieLi's loader
The menus on the FM-1 and SMK-37
Updating lilfm1buddy is just these and JieLi's loader: the program on the board stays the same.
Firmwares and backups
The FM-1's menu shows the first 23, by name, after "Back up this FM-1".
| File | Size |
|---|
Add one from mutant.cloud
Or from your computer
MIDI routing
Make one on fm1buddy's MIDI map page (it learns each control from your devices), and put it on the drive as midimap.txt. Add a line bluetooth to enable Bluetooth MIDI.
What happened last time on the FM-1 (log.txt)
Your browser can't open folders: use Chrome or Edge on a computer, or drag files onto the drive yourself.
- Plug the board into the FM-1 (switched on) with a USB-C data cable, or into a powered hub with the FM-1 and other MIDI devices on it. Its LED goes green.
- With a
midimap.txton its drive, it routes MIDI between them (make one on fm1buddy's MIDI map page; a linebluetoothadds Bluetooth MIDI). Without one, it waits. - Press BOOT for the menu on the FM-1's screen. With stock V15 or a Felucca-based firmware running, the board sends the FM-1 into its boot loader by itself. With any other (SLOOP, ...), or none, the LED says switch it off, then on: do (the FM-1 straight on the board for this, no hub).
- The FM-1 shows the list: Back up this FM-1, then the firmwares and backups. Turn SEL to move, press OCT+ to pick, and OCT+ again to be sure (anything else goes back).
- The board writes it (or backs it up to
fm1-N.bin), the FM-1 starts, and the board goes to sleep. Unplug it.
The LED
| on a computer: a USB drive (flashes as it's read or written) | cyan |
| ejected: a serial port, until it's unplugged | blue |
| on the FM-1, waiting for BOOT | dim green |
| routing MIDI (flashes as it goes through) | green |
| looking for the FM-1 | a blue blip a second |
| switch the FM-1 off, then on | a slow yellow blink |
| pick one on the FM-1 | cyan, a short gap a second |
| backing it up / writing it | a fast white / magenta blink |
| done | bright green (then it sleeps) |
it didn't (log.txt on its drive says why) |
three red blips, a pause |
The XIAO's LED is one colour: the same blinks, without the colours.
Until something is picked nothing is written: to keep what's on it, switch the FM-1 off and on. Only the firmware's own image is written, never the flash's head (what the chip starts from), and the chip's boot loader is in its ROM: nothing here can make it unrecoverable.
How it works, and the code: lilfm1buddy. Its bigger sibling, with a touch screen and Wi-Fi: fm1buddy.