Espressif advances with Rust – 30-06-2023

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • awesome-esp-rust

    Curated list of resources for ESP32 development in the Rust programming language

  • Yes! The training developed with Ferrous Systems (https://esp-rs.github.io/std-training/) contains several examples, and you can find many community projects in https://github.com/esp-rs/awesome-esp-rust#projects

  • std-training

    Embedded Rust on Espressif training material.

  • Yes! The training developed with Ferrous Systems (https://esp-rs.github.io/std-training/) contains several examples, and you can find many community projects in https://github.com/esp-rs/awesome-esp-rust#projects

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • SlimeVR-Rust

    🦀 + SlimeVR = 💖

  • Afaik there while there are some OSS projects they aren't necessarily mature.

    The no_std hal is still a bit of a moving target so it's not as beginner friendly, the most mature here seems to be the SlimeVR firmware: https://github.com/SlimeVR/SlimeVR-Rust/tree/main/firmware

    For std hal there are a few more, OFMon being a good one: https://github.com/arashsm79/OFMon

  • OFMon

    Offline-first smart energy monitoring platform using Rust, ESP32, Thingsboard, and a fork of Thingsboard Mobile flutter app.

  • Afaik there while there are some OSS projects they aren't necessarily mature.

    The no_std hal is still a bit of a moving target so it's not as beginner friendly, the most mature here seems to be the SlimeVR firmware: https://github.com/SlimeVR/SlimeVR-Rust/tree/main/firmware

    For std hal there are a few more, OFMon being a good one: https://github.com/arashsm79/OFMon

  • embassy

    Modern embedded framework, using Rust and async.

  • book

    The Rust Programming Language

  • Rust makes use of some more advanced type features than Java has. You’ll want to focus on some of the differences between traits and interfaces. Additionally, in Java you’re probably used to a lot of runtime dynamism, this is possible in Rust, but not something you usually want to use. To understand this better, look at dyn object safety.

    Finally, the biggest thing in Rust that you need to become familiar with from Java is the ownership system. First, Java is a default copy-by-reference language, whereas Rust is move by default. So learn the difference between, T, &T, and &mut T. Learning the ownership system will make you disappointed in Java’s thread-safety story. Rust makes thread safety and multiple references to values very obvious and you need to be explicit about how things should be shared. This will probably be your biggest hurtle, based on my experience.

    Read the book, these concepts are all explained very nicely: https://doc.rust-lang.org/book/

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts