Install and prerequisites#
If you only need to configure an EP01, use EP01 Setup first. The browser-based tool handles connection, firmware updates, appearance presets, WiFi pairing, and touch sensor data without installing SDKs.
This page collects the tools needed for the public docs, Rust SDK and CLI, Python bindings, JavaScript SDK, and EP01 host workflows.
Rust SDK and CLI#
The Rust crate is enody. It is the core SDK and provides the host-side CLI.
Install the CLI:
cargo install enody
Add the SDK to a Rust application:
[dependencies]
enody = "0.2.1"
tokio = { version = "1", features = ["full"] }
Default features are intended for host-side applications and include remote
device access and CLI support. Disable default features when you only need
message types and traits in a no_std context.
Python bindings#
The Python package is enody. It wraps the Rust core with PyO3 bindings and
adds Python-oriented plotting, JSON, and tinygrad helpers.
pip install enody
The package declares Python >=3.8.
JavaScript SDK#
The JavaScript package is @enody/enody.
npm install @enody/enody
The package targets modern ESM applications. Browser builds use WebSerial, and Node.js scripts use the Node serial backend. Node-based tooling requires Node.js 18 or newer.
Documentation site#
The docs are built with Material for MkDocs.
python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
mkdocs serve
Build strictly before publishing:
mkdocs build --strict
USB dependency#
USB device access requires libusb on most platforms.
| Platform | Command |
|---|---|
| macOS | brew install libusb |
| Debian / Ubuntu | sudo apt install libusb-1.0-0 |
| Fedora / RHEL | sudo dnf install libusb1 |
| Arch | sudo pacman -S libusb |
| Alpine | apk add libusb |
| Windows | Bundled with the host tooling |
Linux users should also install the udev rule in USB Setup.
EP01 compatibility#
Use the latest public Rust SDK and CLI version with the firmware versions
offered by enody update. See Firmware Versions for the
current public policy.