Firmware in Rust

Lately I’ve been working on firmware written in Rust for the SAMD21 microcontrollers – these are the same as used in Arduino Zero for instance. The Rust ecosystem for microcontrollers is still in its early days, but is moving quickly and I think in a good direction.

One of the most exciting developments in this new Rust firmware world, is the first-class tooling, including for debugging. I gave a little “show and tell” at the November session of Code Craft, and wrote up a summary there – check it out if you’re interested!

If there is enough interest, maybe we could organise a series of evenings where we put together some little thing that involves a microcontroller and programming it with these new tools?

Adafruit Feather M0 Express

The courier showed up today, with a really neat new board from Adafruit – the Feather M0 Express. It is essentially a break out board for the Microchip (formerly Atmel) ATSAMD21G18, which is the same ARM M0+ micro used in the Arduino Zero, plus a 2MB flash memory, RGB LED, and a LiPoly charger. It’s not too expensive at $20USD, nice and tiny, and I think could be a real hit.

Using the Feather M0 Express from Arduino IDE almost couldn’t be easier – just add the Adafruit Board Manager URL to your Arduino IDE settings, then install the “Adafruit SAMD Boards” – instructions at https://learn.adafruit.com/add-boards-arduino-v164 .

However, the really exciting new option available with this new board, is CircuitPython – Adafruit’s implementation of MicroPython. Continue reading “Adafruit Feather M0 Express”