Measuring CO2 using I2C & embedded Rust - moxi Ep1

Published at : 23 Dec 2025

This is the first episode in a three-part series where we try to turn the microbit into an air quality monitor. Today we're finding hardware, learning about I2C, and figuring out how this can be built in embedded Rust.

Subscribe : https://www.youtube.com/@therustybits?sub_confirmation=1
Patreon : https://www.patreon.com/therustybits

Chapters
0:00 Intro
1:09 The Hardware
3:12 The Bus
7:11 The Interface
11:15 The Driver
15:35 The Cleanup
17:48 The Thief

Special thanks to `word` and `long` Patreon supporters!
- Gaël Giraud
- Χάρης Αμαράντηγος
- Jason Whitlark
- Bogdan

Project stuff
Today's code | https://github.com/therustybits/moxi
SCD40 | https://www.adafruit.com/product/5187
Seeed BitMaker v2 | https://www.seeedstudio.com/CH-BitMaker-V2-p-5330.html
Grove to Qwiic cable (use with Seeed boards) | https://www.adafruit.com/product/4528
Sparkfun breakout board | https://www.sparkfun.com/sparkfun-qwiic-micro-bit-breakout-with-headers.html
Qwiic cable (use with Sparkfun board) | https://www.adafruit.com/product/4210

Useful stuff
Aranet4 | https://amzn.to/4mrXktk
Saleae logic analyzers (I have the Logic 8) | https://amzn.to/3ZrxjR6
^ These are affiliate links, which cost you nothing, but will earn the channel a small commission if you decide to make a purchase.

References
microbit schematic | https://github.com/microbit-foundation/microbit-v2-hardware
SCD40 datasheet | https://sensirion.com/media/documents/48C4B7FB/67FE0194/CD_DS_SCD4x_Datasheet_D1.pdf
The Embedded Rust book | https://docs.rust-embedded.org/book/
"The Book" | https://doc.rust-lang.org/book/index.html