zeroclaw-labs/zeroclaw · error
Bundled UF2 is a placeholder — download the real MicroPython
Error message
Bundled UF2 is a placeholder — download the real MicroPython UF2 from https://micropython.org/download/RPI_PICO/ and place it at src/firmware/pico/zeroclaw-pico.uf2, then rebuild ZeroClaw.
What it means
Error "Bundled UF2 is a placeholder — download the real MicroPython UF2 from https://micropython.org/download/RPI_PICO/ and place it at src/firmware/pico/zeroclaw-pico.uf2, then rebuild ZeroClaw." thrown in zeroclaw-labs/zeroclaw.
Source
Thrown at crates/zeroclaw-hardware/src/uf2.rs:67
::zeroclaw_log::Event::new(module_path!(), ::zeroclaw_log::Action::Fail)
.with_outcome(::zeroclaw_log::EventOutcome::Failure),
"cannot determine the user home directory"
);
anyhow::Error::msg("cannot determine home directory")
})?;
let firmware_dir = base
.home_dir()
.join(".zeroclaw")
.join("firmware")
.join("pico");
std::fs::create_dir_all(&firmware_dir)?;
// UF2 — validate magic before writing so a broken stub is caught early.
let uf2_path = firmware_dir.join("zeroclaw-pico.uf2");
if !uf2_path.exists() {
if PICO_UF2.len() < 8 || PICO_UF2[..4] != UF2_MAGIC1 {
bail!(
"Bundled UF2 is a placeholder — download the real MicroPython UF2 from \
https://micropython.org/download/RPI_PICO/ and place it at \
src/firmware/pico/zeroclaw-pico.uf2, then rebuild ZeroClaw."
);
}
std::fs::write(&uf2_path, PICO_UF2)?;
::zeroclaw_log::record!(
INFO,
::zeroclaw_log::Event::new(module_path!(), ::zeroclaw_log::Action::Note)
.with_attrs(::serde_json::json!({"path": uf2_path.display().to_string()})),
"extracted bundled UF2"
);
}
Ok(firmware_dir)
}
// ── Flashing ──────────────────────────────────────────────────────────────────View on GitHub (pinned to 88bb9c8533)
Solutions
- Download the real MicroPython UF2 from https://micropython.org/download/RPI_PICO/, place it at src/firmware/pico/zeroclaw-pico.uf2, and rebuild ZeroClaw.
When it happens
Trigger: Thrown at crates/zeroclaw-hardware/src/uf2.rs:67 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of zeroclaw-labs/zeroclaw@88bb9c8533 (2026-08-23).
Data as JSON: /api/errors/f644a7c7fd682194.
Report an issue: GitHub.