esp-idf-hal
stm32-nucleo-f401re
esp-idf-hal | stm32-nucleo-f401re | |
---|---|---|
3 | 15 | |
404 | 56 | |
6.7% | - | |
9.2 | 4.0 | |
8 days ago | 5 months ago | |
Rust | C | |
Apache License 2.0 | MIT License |
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.
esp-idf-hal
-
What the HAL? The Quest for Finding a Suitable Embedded Rust HAL
HALs with std support: This is exclusive to ESP32 devices right now.
-
How to write HALs and get into microcontroller programming
Hey everybody, I'm Santiago a software engineer who recently pick interest on microcontrollers, I have been looking around the ecosystem and everything seems to be written in C/C++, nonetheless I saw this project esp-rs on github and I was fascinated and at the same time confused, I've never written any HAL or even dive into system programming.
- Using Rust's standard library on ESP32 microncontrollers
stm32-nucleo-f401re
-
Embassy on ESP: GPIO
📝 Although I followed the documentation to set up my first project, it wasn't all smooth sailing. It was mainly had to do with configurations/settings of configuration (toml) files. I figure this has to do with embassy still being considered to be experimental. Set up I managed to get working is available up in my git repo.
-
Recommend rust blogs
https://apollolabsblog.hashnode.dev/ has a lot of embedded rust, mostly tutorial style.
-
STM32F4 Embedded Rust at the PAC: Creating Hardware Abstractions
Here is the full code for the library/abstraction implementation described in this post. You can additionally find the full project and others available on the apollolabsdev Nucleo-F401RE git repo.
-
What the HAL? The Quest for Finding a Suitable Embedded Rust HAL
Git Repo (All Code Examples) → Link
-
Rust FFI and cbindgen: Integrating Embedded Rust Code in C
As might be obvious already, a project needs to be created, in this case, however, it's a library crate (lib.rs) that we need to include rather than a binary crate (main.rs). Additionally, I will need to configure the project for the hardware I need. To make things easier, I grabbed an existing template for a GPIO project I've created in the past and modified it. I simply deleted main.rs and replaced it with an empty lib.rs as a first step. Finally, cbindgen also requires that we add a cbindgen.toml the configuration file which can be empty for starts. Afterward, the project folder tree looks like this:
-
Rust FFI and bindgen: Integrating Embedded C Code in Rust
📝 Note: The code and project folders refrenced used in this post are available on the apollolabsdev Nucleo-F401RE git repo.
-
Sharing Data Among Tasks in Rust Embassy: Synchronization Primitives
Please note that the full code in this post is available on the apollolabsdev Nucleo-F401RE git repo. Additionally, the hardware used in this post is the Nucleo-F401RE board.
-
Embedded Rust & Embassy: PWM Generation
All the code presented in this post in addition to instructions for the environment and toolchain setup are available on the apollolabsdev Nucleo-F401RE git repo. Note that if the code on the git repo is slightly different then it means that it was modified to enhance the code quality or accommodate any HAL/Rust updates.
-
Embedded Rust & Embassy: GPIO Button Controlled Blinking
📝 Although I followed the documentation to set up my first project, it wasn't all smooth sailing. It was mainly had to do with configurations/settings of configuration (toml) files. I figure this has to do with embassy still being considered to be experimental. Set up I managed to get working is available up in my git repo.
-
4 Simple Steps for Creating a Platform Agnostic Driver in Rust
Git Repo (All Code Examples) → Link
What are some alternatives?
esp-hal - no_std Hardware Abstraction Layers for ESP32 microcontrollers
awesome-embedded-rust - Curated list of resources for Embedded and Low-level development in the Rust programming language
stm32-hal - This library provides access to STM32 peripherals in Rust.
espup - Tool for installing and maintaining Espressif Rust ecosystem.
crates.io - The Rust package registry
no_std-training - Getting-started guide on using the Rust with Espressif SoCs using no_std.
this-week-in-rust - Data for this-week-in-rust.org
esp-idf-sys - Bindings for ESP-IDF (Espressif's IoT Development Framework)
rust-embedded-driver - A rust-embedded driver example / template
notecard-rs - Rust driver for the Blues.io Notecard (https://blues.io/products/notecard/)
nrf-hal - A Rust HAL for the nRF family of devices