Coordination repository of the embedded devices Working Group (WG)
This repository issue tracker is used by the embedded WG to coordinate efforts towards making Rust a great choice for embedded development.
What is it that we really want? At a broad level:
- To improve the absolute quality (functionality, safety, performance) of embedded software in the wild.
- To improve the productivity of embedded software development teams, by reducing the tangible and intangible costs of achieving a level of quality.
- To improve the experience for programmers developing for embedded systems.
- To make embedded systems programming more accessible for people that are not already embedded systems developers.
- @dvc94ch (all things RISCV)
- @dylanmckay (all things AVR)
- @hannobraun
- @jamesmunns
- @japaric (lead)
- @jcsoo
- @pftbest (all things MSP430)
- @thejpster
You can usually find the members of the embedded WG on the #rust-embedded channel (server: irc.mozilla.org). Most of us use our GH usernames as our IRC nicknames, except for @jamesmunns who uses the nickname bitshiftmask on IRC.
embedded-hal
is a project that aims to build a standard set of traits (interfaces) for I/O
functionality common in embedded devices: Serial, I2C, etc. with the goal of serving as a base for
building reusable driver crates, crates to interface with external components like sensors.
There are plenty of traits that still need to be designed, in particular ones that involve async I/O. Join the discussion and help us design the missing traits so that they'll fulfill your needs.
To put the embedded-hal
to test and to expand the embedded crates.io ecosystem we are running the
weekly driver initiative. The goal is to release a new no_std
, generic, embedded-hal
driver
crate every one or two weeks.
There's lots of cool devices that would be great to have drivers for. Join the initiative and help us grow the embedded crates.io ecosystem!
The community is building a curated list of crates useful for embedded development. In this list you'll find driver crates, board support crates and general purpose no-std crates. Help us improve this list by adding your crate via PR or by tackling any of our help wanted issues.
When the team deems it necessary the RFC process may be used to make decisions or to design processes, user interfaces, APIs, etc.
Learn more about the Rust's RFC process (which is the same as our own) [here][1].
To create an RFC, simply:
- clone this repo to your own personal one
- copy
0000-template.md
totext/0000-my-feature.md
(where "my-feature" is descriptive. Don't assign an RFC number yet) - fill in the details of your RFC in that file
- Open an pull request with this repository