Mender client in Rust

We are a small group who falling in Rust. We also used Mender for HMI-cluster on nxp imx8. We see clearly the benefit that Mender brings to the industry.

We would love to spreading Mender’s benefit to community more and more by developing Rust for Mender client and focus on esp32 first.

Please have a look at our repo : GitHub - virust-ai/esp32-mender-client: A Mender (https://mender.io/) - client for Esp32 in Rust. Enabling Update AI model for the Edge
Feel free to review the source code (it is still early stage, a lot of other features needs to be developed)

Please join our Discord for discussion : ViRust-AI

Next step : we would like develop it as a platform where user can update AI model for edge device

thanks

Hi @0xkelvin,

Thanks so much for making this public! I have tried to follow the Readme now, and it works fine up to the point of cargo run. Probably I am missing some common knowledge in either the rust or ESP32 ecosystem.
So generally speaking, I picked an ESP32-C3 as the board, upon which cargo run printed

mender@tyj-zephyr-vm:~/esp32-mender-client$ cargo run
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.11s
     Running `espflash flash --monitor -T ./partitions.csv --erase-parts otadata target/riscv32imac-unknown-none-elf/debug/esp32-mender-client`
error: could not execute process `espflash flash --monitor -T ./partitions.csv --erase-parts otadata target/riscv32imac-unknown-none-elf/debug/esp32-mender-client` (never executed)

Caused by:
  No such file or directory (os error 2)

Do I need to use some other hardware? Or what might I be missing?

Greetz,
Josef

Hi @TheYoctoJester

We was starting with esp32-c6 which is difference in term of memory range with esp32-c3
Some default setting for compilation is on esp32-c6

thanks for pointing out, we working on it to make it work on multi esp32 variants

Hi @0xkelvin,

Great news. As we have also been in touch on Discord, no need to fully continue the thread here, just for future reference: the above mentioned problem was solved by getting espflash installed via

cargo install espflash

Greetz,
Josef

Hi @TheYoctoJester
Please test again on esp32c3, we made it works, but still a lot of things need to improve
Our first video demo on esp32c3 : https://youtu.be/N24ugg88bFo?si=dcfzLs0KfL9N6YSQ

1 Like