Rust Esp32

Open-source Rust projects categorized as Esp32

Top 16 Rust Esp32 Projects

  • rust-esp32-std-demo

    Rust on ESP32 STD demo app. A demo STD binary crate for the ESP32[XX] and ESP-IDF, which connects to WiFi, Ethernet, drives a small HTTP server and draws on a LED screen.

  • Project mention: ESP32 USB is frustrating, try JCUSB for S3 + USB + CDC + OpenOCD + Arduino IDE | /r/esp32 | 2023-06-04

    This is my link: https://github.com/ivmarkov/rust-esp32-std-demo

  • esp-hal

    no_std Hardware Abstraction Layers for ESP32 microcontrollers

  • Project mention: Rust on Espressif chips – 29-09-2023 | news.ycombinator.com | 2023-09-30

    In the esp-hal, they appear to offer both sync and async I2C implementations, depending on what works best for an application. Since the async implementation is gated by a feature, it may not show up in the docs you linked.

    Async implementation: https://github.com/esp-rs/esp-hal/blob/main/esp-hal-common/s...

    You can also see the async feature mentioned here: https://docs.rs/crate/esp32s2-hal/latest/features

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • std-training

    Embedded Rust on Espressif training material.

  • Project mention: ESP32 Standard Library Embedded Rust: GPIO Interrupts | dev.to | 2023-09-07

    It's well established that interrupts are a tough concept to grasp for the embedded beginner. Add to that when doing it in Rust the complexity of dealing with mutable static variables. This is because working with shared variables and interrupts is inherently unsafe if proper measures are not taken. When looking at how to do interrupts using the esp-idf-hal I first resorted to the Embedded Rust on Espressif book. Interrupts are covered under the Advanced Workshop in section 4.3, and to be honest, I was taken aback a little at what could be an additional level of complexity for a beginner. Without too much detail, this is because the book resorts to using lower-level implementations. For those interested, by that, I mean FFI interfaces to FreeRTOS which I will be creating a separate post about later.

  • esp-idf-hal

    embedded-hal implementation for Rust on ESP32 and ESP-IDF

  • esp-idf-svc

    Type-Safe Rust Wrappers for various ESP-IDF services (WiFi, Network, Httpd, Logging, etc.)

  • esp-idf-sys

    Bindings for ESP-IDF (Espressif's IoT Development Framework)

  • Project mention: Computer Science graduate soon, looking at getting into embedded? | /r/embedded | 2023-04-27

    it's a great jumping off point as well if you want to experiment with rust: https://github.com/esp-rs/esp-idf-sys

  • espup

    Tool for installing and maintaining Espressif Rust ecosystem.

  • Project mention: Rust Based Linux Process Manager with both a TUI and a GUI | /r/Ubuntu | 2023-05-10

    https://github.com/esp-rs/espup/issues/19 https://github.com/tauri-apps/tauri/issues/1355

  • 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
  • coffee-scale-app

    Firmware and Progressive Web App to connect to a DIY bluetooth enabled coffee and espresso scale.

  • esp-pacs

    Peripheral Access Crates for Espressif SoCs and modules

  • Project mention: The Embedded Rust ESP Development Ecosystem | dev.to | 2023-09-15

    The no-std ecosystem follows the same layering approach that exists within embedded Rust. In embedded Rust, there are several levels of abstraction that are introduced on top of microcontroller hardware as shown in the figure below. The first level is the peripheral access crate (PAC) which gives us access to low-level microcontroller registers at the bit level. It's also worth noting that the PAC is specific to a particular microcontroller series. For ESP devices the different PACs are captured in the esp-pacs repository. The microarchitecture crate is at a similar abstraction level to the PAC but specific to processor core (Ex. RISC-V) functions.

  • no_std-training

    Getting-started guide on using the Rust with Espressif SoCs using no_std.

  • Project mention: no_std with ESP32: "rustc --print target-list" changes result depending on directory it's run from | /r/learnrust | 2023-11-10

    The first Book example is here: https://github.com/esp-rs/no_std-training/tree/main/intro/hello-world

  • OFMon

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

  • Project mention: Espressif advances with Rust – 30-06-2023 | news.ycombinator.com | 2023-07-01

    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

  • rustzx-esp32

    ESP32 implementation of RustZX Spectrum emulator

  • Project mention: Unlocking Possibilities: 4 Reasons Why ESP32 and Rust Make a Winning Combination | dev.to | 2023-06-29

    This repo has a nice example of a project set up with Gitpod. Also, Dev Container support can be added when creating project templates (more detail here).

  • esp32-spooky-maze-game

    Rust Bare Metal implementation of maze game for ESP32

  • esp-storage

    implementation of embedded-storage traits to access unencrypted ESP32 flash

  • Project mention: The Embedded Rust ESP Development Ecosystem | dev.to | 2023-09-15

    Among these several abstractions, we can program a microcontroller device at any level we like. Additionally, we can develop code with a mix of low-level and high-level abstractions. Obviously, to make code more portable it's better to stick to higher-level abstractions. Also in addition to the above, there exists other crates supporting other functions in no-std development. These include wifi services in the esp-wifi repository, heap allocators in the esp-alloc repository, logging features in the esp-println repository, exception handlers in the esp-backtrace repository, and finally embedded storage traits in the esp-storage repository.

  • mcloudtt

    A cloud-native asynchronous MQTT v5 Broker written in Rust.

  • esp32-phantom

    ESP32 Rust-based WiFi and BLE sandbox

  • Project mention: Official /r/rust "Who's Hiring" thread for job-seekers and job-offerers [Rust 1.70] | /r/rust | 2023-06-03

    rustlink: small set of Rust tools to program STM32 devices esp32-phantom: Rust sandbox to explore the WiFi and BLE capabilities of the ESP32 stm32-rf-scanner: STM32 and nRF24L01+ based 2.4GHz RF scanner stm32-dc-dc: STM32 based DC-DC converter

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Rust Esp32 related posts

Index

What are some of the best open-source Esp32 projects in Rust? This list will help you:

Project Stars
1 rust-esp32-std-demo 766
2 esp-hal 565
3 std-training 545
4 esp-idf-hal 387
5 esp-idf-svc 262
6 esp-idf-sys 234
7 espup 198
8 coffee-scale-app 95
9 esp-pacs 89
10 no_std-training 42
11 OFMon 34
12 rustzx-esp32 33
13 esp32-spooky-maze-game 28
14 esp-storage 23
15 mcloudtt 14
16 esp32-phantom 4

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com