Firmware versions#
EP01 firmware reports a semantic version through the public host API:
enody list
let host = runtime.host().await?;
println!("{}", host.version());
Use enody update as the source of truth for the firmware versions available
for a specific EP01.
Version history#
v0.2.2#
v0.2.2 adds the sensor data streaming support used by the configuration tool
and developer diagnostics.
Highlights:
- Adds configurable sensor data streams through the public runtime settings path.
- Adds live FDC1004 capacitive sensor sample batches for touch-sensing diagnostics.
Use this version line when you need the configuration tool's Touch Sensor Data panel or host tooling that subscribes to EP01 sensor streams.
Notes:
This API is not finalized yet, so SDK support is limited while the API is finalized.
v0.2.1#
v0.2.1 adds current-state reporting across the public EP01 hierarchy.
Highlights:
- Adds fixture, source, and emitter state commands and responses.
- Reports fixture and source target configuration plus target flux.
- Reports emitter target relative flux for each emitter.
- Improves command/response correlation for USB and WiFi clients so host tools can match responses to the commands that produced them.
Use this version line when host tooling needs to inspect EP01's current fixture, source, or emitter state after display, animation, or direct emitter commands.
v0.2.0#
v0.2.0 is the first EP01 firmware line focused on WiFi interaction.
Highlights:
- Adds the EP01 WiFi setup path used by the public SDKs.
- Adds local network discovery so SDKs and integrations can find EP01 devices on the same network.
- Adds token-based WiFi pairing and authorization.
- Adds support for multiple saved device tokens.
- Improves network scan and join behavior so host tooling can drive setup through the same public hierarchy used for USB.
- Aligns firmware behavior with the
enody-rs,enody-py,enody-js, and related host SDK work for EP01 WiFi control.
Use this version line when you want to interact with EP01 over WiFi through the public SDKs or integrations built on top of them.
v0.1.7#
v0.1.7 is the stable pre-WiFi public update line.
Highlights:
- Keeps the USB-first EP01 interaction model.
- Uses encrypted settings storage support for device configuration data.
- Served as the configuration/update baseline before the WiFi-focused
v0.2.0release. - Replaces the earlier
v0.1.6public update candidate.
Use this version line only when a device-specific update path still lists it or when Enody support directs you to it.
Public update policy#
The supported public update path is:
enody update
The update command asks the selected device which public firmware versions are available, presents those versions to the user, applies the selected version, and verifies that the host responds after updating.
These docs do not hard-code private release artifacts. If a firmware version is
not listed by enody update for your device, it is not part of the public update
path for that device.
Compatibility matrix#
| Component | Public version line | Notes |
|---|---|---|
| Rust SDK and CLI | enody 0.2.x |
Core public message model plus host-side remote USB, WiFi, update, token store, spectral export, and CLI support behind default features. |
| Python bindings | enody 0.2.x |
Wraps the Rust core and adds Python-oriented JSON, plotting, and optimization helpers. |
| JavaScript SDK | @enody/enody 0.1.x |
Includes browser and Node.js USB discovery, WebSerial/serial control, WiFi setup helpers, sample data, optimization helpers, and EP01 update support. |
| EP01 firmware | Versions listed by enody update |
Use versions offered for the selected host. |
Recovery#
There is no separate public rollback command. If EP01 still appears in
enody update, you can run the update flow again and select any version listed
for that device.
If EP01 does not appear in enody list, enody info, or enody update, contact
Enody support rather than using private flashing instructions.