Repository navigation
Copy the Firmware
github-actions[bot] edited this page Nov 3, 2026
·
1 revision
You'll need: a board with CircuitPython installed, a copy of the project · Time: 5 minutes
The firmware is the set of files in the project's PropMaker_Feather folder. Copying them onto the CIRCUITPY drive puts them on the robot.
- From the latest release, download
ddl0-firmware-…zipand extract it. (The simulator download and a Git copy have the same files in theirPropMaker_Featherfolder.) - Plug the Feather into your computer. The CIRCUITPY drive appears.
- Open the extracted folder.
- Select these and copy them onto CIRCUITPY, replacing anything already there:
-
code.py,boot.py,config.py,hardware.py,log.py,log_off.py,settings.toml - the folders
behavioursandlib
-
- Make a folder called
soundson CIRCUITPY and put your WAV files in it. The sounds aren't included in the project: see Adding sounds for how to make them and the Sound list for the names. - Wait for the copy to finish. The board restarts by itself and Lola starts up.

Don't copy or delete
boot_out.txt: the board writes it itself.
The board's wings sweep, its eyes light up and it plays a sound. Then it breathes.
Once the libraries are on the board, the simulator can copy just the files you changed.
- Plug the robot in.
- In the simulator, click ⬆ Deploy at the right of the toolbar.
- It lists the files that are new or changed. Check the list, then confirm.
- Each file appears in the Log as
[sim] deployed …. The board restarts once at the end.

| Problem | Fix |
|---|---|
| No CIRCUITPY drive found | Plug the robot in and wait for the drive to appear. Check your cable carries data. On Linux it's looked for under /media/$USER/, /run/media/$USER/ or /media/; on a Mac under /Volumes/. |
The board crashes with an error about sounds/
|
The sounds folder is missing on CIRCUITPY. Make it (step 5). |
| The copy fails: the drive is "read-only" | Logging mode is on. Turn it off first: see Test it and read the log. |
| The board's LED blinks and Lola does nothing | There's an error. Open the serial console to read it (Test it and read the log). Did you copy lib? |
| ImportError: no module named … | The lib folder is missing or incomplete. Copy it again. |
| The wings don't move while it's plugged in | Normal: the wings can't run while the board is plugged into a computer. Unplug it and run on the battery. |
-
Deploy compares files byte for byte and copies only what's new or changed: the top-level
.pyfiles,settings.toml,behaviours/andsounds/. It never toucheslib/orboot_out.txt, never deletes anything, never copieslog.txtorlog_mode, and copiescode.pylast so the board restarts once with everything in place. - Deploy copies from the folder chosen with 🗁 Firmware.
- Try every change in the simulator before deploying: Try changes in the simulator.
DD-L0-LA59 Animatronics · Project on GitHub · Report a problem with this page · Edit these pages in the wiki/ folder
Start here
Using the simulator
- Get the simulator
- A tour of the window
- Make her breathe, boop and more
- Camera, overlays and recording
- Speed, scenarios and panels
- Layouts, themes and shortcuts
- Accessibility
- Troubleshooting and FAQ
Building the robot
- Safety first
- Parts list
- Wiring
- Install CircuitPython
- Copy the firmware
- Calibrate the wings
- Test it and read the log
Changing how she behaves
Adding new hardware
For developers
- Building the simulator
- Project layout
- CI and releases
- Contributing and branching
- Simulator architecture
- Adding a part kind
Reference