Repository: rust-embedded/awesome-embedded-rust (language: rust)

Issue:
discovery book clone for micro:bit
The discovery book is an amazing resource, but it uses very specific hardware.
I want to make a similar book but for the micro:bit (and only needing the micro:bit), as it is a board specifically made for teaching, and I think has wider availability and is cheaper. I have also explicitly tried to use a different structure and style where it made sense, just to see if it would work better.
If you want to take a look at a very early state: https://github.com/droogmic/microrust, obviously contributions are welcome.
I'd appreciate some help with the licensing though, as I don't want to infringe on japaric's copyright.


Discussion / hints:
Off to a very nice start! Let me know if you need some content or support in the `microbit` crate. Happy to help out where I can.

NB: The matrix LED could use a driver, it's a bit annoying to use bare bones. OTOH there's already a driver for the sensor so it would be great to have one or more examples using the accelerometer.
@therealprof Thanks! I am new to embedded and rust myself, so this is quite a bit of me just documenting along the way... Sorry for competing with your blog and thanks for the crate, I may make a PR or two in the future ;P

I see the MAG3110 magnetometer driver, but I cant see an accelerometer driver?

I am aware the LED display is a pain to use, I was planning on using that as a source of teaching exercises to demonstrate the necessity of timers, delays etc. maybe (slowly) implement a simple interface for it over the course of the book.
> Sorry for competing with your blog and thanks for the crate, I may make a PR or two in the future ;P

No harm, no foul. I'm happy that someone is picking up the stuff and doing something useful with it.

> I see the MAG3110 magnetometer driver, but I cant see an accelerometer driver?

Hm, interesting; I thought I committed the mma8653fc driver but obviously not. The values I got out of this didn't really make sense to me so I didn't pursue but I think I have to revive it now.

> to demonstrate the necessity of timers, delays etc. maybe (slowly) implement a simple interface for it over the course of the book.

Delays won't help. Displaying anything useful requires a proper scan line algorithm (which requires somewhat strict timing). And it's not a 5x5 matrix either so it requires some odd mapping. I started implementing this but at some point lost interest due to limited utility to me.

Fix patch:
diff --git a/README.md b/README.md
index 84d46aa..90d2e30 100644
--- a/README.md
+++ b/README.md
@@ -65,6 +65,7 @@ In 2018 Rust community has created an embedded workgroup to help drive adoption
 -   [cortex-m rtfm](https://github.com/japaric/cortex-m-rtfm) RTFM framework for ARM Cortex-M microcontrollers
 -   [msp430 rtfm](https://github.com/japaric/msp430-rtfm) RTFM framework for MSP430 MCUs
 -   [FreeRTOS.rs](https://github.com/hashmismatch/freertos.rs) Rust interface for the FreeRTOS API
+-   [MicroRust](https://droogmic.github.io/microrust/) Introductory book for embedded development in Rust on the micro:bit.
 
 ## Tools
 


Test patch: