Update firmware#
EP01 firmware updates are exposed through the Rust CLI and the public Rust SDK
EP01UpdateTarget type.
CLI update#
Connect EP01 over USB:
enody update
The command:
- Discovers attached EP01 update targets.
- Lets you select a device when multiple devices are attached.
- Lists available public firmware versions for that device.
- Updates to the selected version.
- Verifies that the host responds after the update.
Example prompt shape:
Device: 00000000-0000-0000-0000-000000000000 (version 0.2.0)
Available firmware versions:
1. 0.2.0
Select version [1-1, default: 1]:
Updating to version 0.2.0...
Update complete.
The exact versions shown are device-specific. Use the versions listed by the CLI for the selected EP01.
Offline image#
If Enody support has given you a local firmware image:
enody update -f firmware.bin
Only use firmware images from Enody. The docs do not describe private firmware image layout or flashing offsets; use the SDK entry point.
Rust API#
use enody::update::EP01UpdateTarget;
#[tokio::main]
async fn main() -> Result<(), enody::Error> {
let targets = EP01UpdateTarget::attached().await;
let target = targets.first().ok_or(enody::Error::InsufficientData)?;
println!("{} {}", target.info().identifier, target.info().version);
if target.update_available().await? {
let versions = target.available_firmware().await?;
let selected = versions.first().ok_or(enody::Error::InsufficientData)?;
target.update_device(selected.version()).await?;
}
Ok(())
}
Rust tools that need local image support should use the same update target surface used by the CLI.
Safety checklist#
- Use a reliable USB cable.
- Keep EP01 powered during the update.
- Disconnect unrelated development boards if you are unsure which device is selected.
- When the CLI warns that a device did not respond to host identification,
confirm that only the intended EP01 is attached before using
--force. - Do not unplug EP01 while the update command is writing or verifying.
Recovery and rollback#
There is no separate public rollback command. If the device appears in
enody update, select any available version listed for that device. If EP01 no
longer appears in enody list, enody info, or enody update, contact support.
Troubleshooting#
If no device is found, run:
enody list
enody info
If USB permissions fail on Linux, follow USB Setup.