The RST
button is to restart the system. On the EchoKit devkit, it is labeled as rst
on the main ESP32 board.
The K0
button is the main action button for the application. On the EchoKit devkit, it is the single button to the left of the LCD screen on the extension board.
The
boot
button on the ESP32 board is the SAME as theK0
button.
Assume that you installed the Rust compiler on your computer.
cargo install cargo-espflash espflash ldproxy
Get a pre-compiled binary version of the firmware.
curl -L -o echokit https://echokit.dev/firmware/echokit-boards
To build the echokit
firmware file from source, you need to make sure that you install the OS-specific dependencies and then ESP toolchain for Rust. You can then build from the source and find the binary firmware in target/xtensa-esp32s3-espidf/release/
.
cargo build --release
Alternative firmware
If you have the fully integrared box device, you can use the following command to download a pre-built binary.
curl -L -o echokit https://echokit.dev/firmware/echokit-box
To build it from the Rust source code.
cargo build --no-default-features --features box
Connect to your computer to the EchoKit device USB port labeled TTL
. Allow the computer to accept connection from the device when prompted.
On many devices, there are two USB ports, but only the
SLAVE
port can take commands from another computer. You must connect to thatSLAVE
USB port. The detected USB serial port should beJTAG
. IT CANNOT beUSB Single
.
espflash flash --monitor --flash-size 16mb echokit
The response is as follows.
[2025-04-28T16:51:43Z INFO ] Detected 2 serial ports
[2025-04-28T16:51:43Z INFO ] Ports which match a known common dev board are highlighted
[2025-04-28T16:51:43Z INFO ] Please select a port
✔ Remember this serial port for future use? · no
[2025-04-28T16:52:00Z INFO ] Serial port: '/dev/cu.usbmodem2101'
[2025-04-28T16:52:00Z INFO ] Connecting...
[2025-04-28T16:52:00Z INFO ] Using flash stub
Chip type: esp32s3 (revision v0.2)
Crystal frequency: 40 MHz
Flash size: 8MB
Features: WiFi, BLE
... ...
I (705) boot: Loaded app from partition at offset 0x10000
I (705) boot: Disabling RNG early entropy source...
I (716) cpu_start: Multicore app
If you have problem with flashing, try press down the
RST
button and, at the same time, press and release theboot
(orK0
) button. The device should enter into a special mode and be ready for flashing.
Reset the device (simulate the RST button or power up).
espflash reset
Delete the existing firmware if needed.
espflash erase-flash
You will need to configure and start up an EchoKit server, and then configure your device to connect to the server in order for the EchoKit device to be fully functional.