The hardware for my Embedded Rust journey has arrived. With its delivery I have more than enough hardware to explore writing embedded systems using Rust.
In the picture you can see the:
- Micro:bit v2.00 - the board we will start with. It has an nRF52388 chip with Bluetooth Low Energy, Bluetooth mesh, NFC, Thread and Zigbee capabilities.
- nRF52840-DK - the development board from Nordic Semiconductor with an nRF52840 chip. The board is Arduino Uno compatible and comes with a debugger, a power profiler interface and an NFC antenna. The board can use many different power sources, including an onboard CR2032 battery.
- Asus USB-BT500 - a Bluetooth 5.0 dongle that will serve as the Bluetooth interface for Home Assistant. The Home Assistant recommended hardware list lists this dongle as one of the recommended options.
This project needs a purpose beyond just serving as an interesting learning opportunity. I have considered possible use cases and decided to make connecting the device to Home Assistant and enabling two-way communication the first milestone. The device should connect to Home Assistant via Bluetooth Low Energy (BLE) and act as a sensor and an actuator device. It should send updated sensor values at set intervals or when detecting a significant changes in measurements. From Home Assistant we want the ability to toggle a relay or a light on and off by sending commands to the device.
To get a good foundation I need to learn the basic bare metal ways to run logic on the microcontroller and integrate peripherals. Given the hardware I got available the Rust Embedded MB2 Discovery Book stands out as the perfect resource to start with. Using the Micro:bit the book starts with setting up the environment. Then through examples you proceed to learn new aspects of embedded development using Rust.
Let me leave you with this and start to set up my development environment.
Thank you for reading!