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. (by ivmarkov)
smol
A small and fast async runtime for Rust (by esp-rs-compat)
rust-esp32-std-demo | smol | |
---|---|---|
16 | 1 | |
766 | 0 | |
- | - | |
6.8 | 0.0 | |
2 months ago | 9 months ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rust-esp32-std-demo
Posts with mentions or reviews of rust-esp32-std-demo.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-06-04.
-
ESP32 USB is frustrating, try JCUSB for S3 + USB + CDC + OpenOCD + Arduino IDE
This is my link: https://github.com/ivmarkov/rust-esp32-std-demo
- Rust on my ESP32 (using idf framework)
-
Embedded Rust on ESP32C3 Board, a Hands-on Quickstart Guide
A complete STD demo on ESP32C3
-
Low FPS on ESP32 LCD
I'm trying lots of Rust demos (including rust-esp32-std-demo, esp32-spooky-maze-game) for ESP32 on my M5GO kit with ili9342c controller and all of them struggle to give fullscreen (320x240) frame-rate > 5.
-
Considerations when benchmarking on mcu?
I used this demo as a guide, it uses esp-idf for rust, and allows you to use std
- Embedded Rust Development
-
Can you run rust on the new raspberry pi pico w?
rust-esp32-std-demo works quite well with WiFi, HTTPS and MQTTS. The only thing I could not make work (but I did not put much effort into it) was using async primitives. That part seems to be experimental, indeed.
-
Rust on Espressif chips – 15-07-2022
FWIW I've very recently gotten https://github.com/ivmarkov/rust-esp32-std-demo (which is a pretty comprehensive demo) running on a TinyPICO (w/ESP32) and am looking forward to building out my own projects next.
-
Is this normal bindgen/embuild behavior?
I'm using this template project to get started with the esp32, though I've started fresh in a new main function. Every time I build the project -even if I only add a blank line to main - it seems to re-compile bindgen and embuild, and regenerate the bindings for a variety of packages that have C components. I haven't made any changes to these though and the process takes a full 90 seconds. In addition nothing in the bindings that are getting generated shows up in intellisense in vscode. Any help appreciated.
-
Starting work using the esp32 in rust - problems and solutions. (devlog, i guess?)
This worked fairly well for me. I assume that's where the book takes you, bit I've missed if you said if you're trying to use std or no_std. https://github.com/ivmarkov/rust-esp32-std-demo
smol
Posts with mentions or reviews of smol.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-03-20.
-
vs code doesnt like my toml file, but compiles just fine
[package] name = "experiment" version = "0.23.0" authors = ["garse"] edition = "2018" categories = ["embedded", "hardware-support"] keywords = ["embedded", "svc", "idf", "esp-idf", "esp32"] description = "A demo binary crate for the ESP32 and ESP-IDF, which connects to WiFi, Ethernet, drives a small HTTP server and draws on a LED screen" repository = "https://github.com/ivmarkov/rust-esp32-std-demo" license = "MIT OR Apache-2.0" readme = "README.md" [patch.crates-io] smol = { git = "https://github.com/esp-rs-compat/smol" } polling = { git = "https://github.com/esp-rs-compat/polling" } socket2 = { git = "https://github.com/esp-rs-compat/socket2" } getrandom = { version = "0.2", git = "https://github.com/esp-rs-compat/getrandom.git" } #getrandom1 = { version = "0.1", git = "https://github.com/esp-rs-compat/getrandom.git", package = "getrandom", branch = "0.1" } [profile.release] opt-level = "s" [profile.dev] debug = true # Symbols are nice and they don't increase the size on Flash opt-level = "z" [features] default = ["experimental"] # Enable this feature for the build to use ESP-IDF native tooling instead of PlatformIO under the hood native = ["esp-idf-sys/native"] # Enable this feature if you are building for QEMU qemu = [] # Enable this feature in case you have a Kaluga board and would like to see a LED screen demo kaluga = [] # Enable this feature in case you have a TTGO board and would like to see a LED screen demo ttgo = [] # Enable this feature in case you have an ESP32S3-USB-OTG board and would like to see a LED screen demo heltec = [] # Enable this feature in case you have a generic SSD1306 Display connected via SPI to pins 3, 4, 5, 16, 18, 23 (SPI3) of your board ssd1306g_spi = [] # Enable this feature in case you have a generic SSD1306 screen connected to pins 14, 22 and 21 of your board ssd1306g = [] esp32s3_usb_otg = [] # Enable this feature in case you have an RMII IP101 Ethernet adapter ip101 = [] # Enable this feature in case you have an SPI W5500 Ethernet adapter w5500 = [] # Enable this feature in case you have a Waveshare board and 4.2" e-paper waveshare_epd = [] experimental = ["esp-idf-svc/experimental", "esp-idf-hal/experimental", "embedded-svc/experimental"] [dependencies] anyhow = {version = "1", features = ["backtrace"]} log = "0.4" url = "2" esp-idf-sys = { version = "0.30.6", features = ["binstart"] } esp-idf-svc = "0.37.2" esp-idf-hal = "0.33.1" embedded-svc = "0.17.2" embedded-hal = "0.2" embedded-graphics = "0.7" display-interface = "0.4" display-interface-spi = "0.4" st7789 = "0.6" ili9341 = { version = "0.5", git = "https://github.com/yuri91/ili9341-rs" } ssd1306 = "0.7" epd-waveshare = "0.5.0" smol = "1.2" rand = "*" [build-dependencies] embuild = "0.28" anyhow = "1"
What are some alternatives?
When comparing rust-esp32-std-demo and smol you can also consider the following projects:
esp-idf-sys - Bindings for ESP-IDF (Espressif's IoT Development Framework)
socket2 - Advanced configuration options for sockets.
ili9341-rs - A WIP, no_std, generic driver for the ILI9341 (and ILI9340C) TFT LCD display
getrandom - A small cross-platform library to securely get random data (entropy)
embassy - Modern embedded framework, using Rust and async.
polling - Portable interface to epoll, kqueue, event ports, and wepoll
espflash - Serial flasher utility for Espressif SoCs and modules based on esptool.py
esp-idf-template - A "Hello, world!" template of a Rust binary crate for the ESP-IDF framework.
rust-esp32-std-demo vs esp-idf-sys
smol vs socket2
rust-esp32-std-demo vs ili9341-rs
smol vs getrandom
rust-esp32-std-demo vs getrandom
smol vs ili9341-rs
rust-esp32-std-demo vs embassy
smol vs polling
rust-esp32-std-demo vs espflash
rust-esp32-std-demo vs polling
rust-esp32-std-demo vs esp-idf-template
rust-esp32-std-demo vs socket2