rust-embedded/awesome-embedded-rust

discovery book clone for micro:bit

droogmic opened this issue · 3 comments

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.

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.