---
# System prepended metadata

title: 'Embedded Rust - Beginner level, low hanging, real world projects'

---

# Embedded Rust - Beginner level, low hanging, real world projects

Some ideas to track here to help people who are new to embedded rust who can cherry pick these tasks and help out the ecosystem while doing them.

## Ideas

### Rust crate for ultrasonic distance module

The current crate is https://github.com/nordmoen/hc-sr04, but it is old and stale.

#### Todos (may)

- a timer and a lot has changed in terms of timer ergonomics since then

#### Notes

- Hardware can be bought from various places. [Aman ordered this one](https://www.aliexpress.com/item/32767707969.html).
- anything timer/timing related, if you just wanna play around and not squeeze out the last bit of performance, embassy will be a lot easier to work with than RTIC
- embassy is easier to use since it’s abstracting away all those interrupts; also it enables you to write a state machine without having to resort to tasks + manual state management; And allows to write nice async drivers


### RTIC async POC
- https://hackmd.io/6ejCFNBJTuKBwnuz0O41iQ
- Example https://github.com/korken89/dwm1001-async/blob/master/src/bin/minimal.rs

### nRF PPI experiments 
- https://github.com/kalkyl/nrf-play/blob/main/src/bin/srf04_ppi.rs
- 

### Way to abstract RTIC so that you can write drivers for it


## General Notes

### 521 chip

For basic use you just need to connect Vcc to either Vdd or 5V on your dk, GND to GND on dk, SDA to P0.03 and SCL to P0.04 to run the examples. It’s should have i2c pullup resistors on the board already iirc
