Skip to content

Details

----- Online Event - link shared on day of event -----
********************
Welcome from Rust and Cpp Cardiff! All levels welcome!
********************
This week we are looking forward to another hybrid event with Rust Dortmund! If you are in the Dortmund area, we would highly recommend attending in person, but if you can't make it, then please come along online! We will join the Dortmund meetup, watching online together, discussing the talks, and joining in the Q&As.

This event will bring together Rust enthusiasts for an evening of learning, collaboration, and community building. This time with a focus on Embedded Rust.

Agenda

  • 17:30 UTC - Intro to Embedded Rust by Domenic Quirl
  • 18:30 UTC - A Soft Intro to the Embassy Framework by Björn Barwinski

Abstract - Intro to Embedded Rust
Writing code for embedded microcontrollers is often seen as daunting, something that's reserved for programmers who are "close to the metal" and know how to tread very carefully so they don't damage the chip and its connected hardware. While this might have been true in the past, both the microcontrollers themselves as well as the libraries, tools, and programming languages used to program them have evolved significantly over the past decade.

In this talk, we take a look at embedded development in general and how Rust is a good fit for it. Starting from how a microcontroller is structured, we look into what to consider when writing code and show why you won't need to think about most of this because the Rust embedded ecosystem handles the complex bits so you can focus on the fun parts. No matter your experience with embedded development, or whether you are new to Rust, hopefully this talk will convince you that it's not only easy to get started with embedded Rust, if you start out now you'll also have a great time.

Abstract - A Soft Intro to the Embassy Framework
When writing embedded code, there is often a lot of state to keep track of: Has this button been pushed yet? Is this timer still running, or is it expired? Is the microcontroller receiving new data from the sensor?
Keeping track of each of these on their own is not too difficult, but as the project grows, so does the number of possible state combinations. Soon enough, the code will grow into an entangled mess of ifs and elses that bears no resemblance to the clean picture you had in your head about efficiently waiting for the sensor to be ready while sending out update messages when a timer expired.
In this talk, we'll take a look at one possible approach to this problem, which is to handle the different inputs and actions concurrently using the embassy framework for running asynchronous tasks on embedded devices. We'll dive into what exactly embassy is and does, how it helps, and why async code is actually easier to understand on embedded than in regular Rust programs using the standard library. Last but not least, we'll also compare this solution to other approaches so you'll leave with a thorough understanding of the tradeoffs you make when choosing this path.

Biography - Domenic Quirl:
For the past few years, Domenic has been working on powering the world with Rust. After writing firmware for an embedded PCB that measures various electrical and fluidic sensors in home and industrial energy storage systems at his previous company, he is currently building a new team at Redox One to develop software for even larger batteries.
When he is not working on renewable energy infrastructure, Domenic enjoys listening to and making music, discovering new restaurants and recipes, and chatting about all things Rust and technology at meetups or conferences.

Biography - Björn Barwinski:
Björn’s Rust journey began with small side projects in 2020, but the language soon found its way into his professional career. In recent years, when working as a software consultant, he found that Rust empowered him to create more reliable, stable, and maintainable solutions than any other technology he had used before. Last year he joined AMAZONE, where he is building the central, pure Rust on-board telemetry platform for the next generation of smart agricultural machines. In his free time, Björn loves to play board games with his wife and friends. Apart from that, he enjoys doing winter sports like snowboarding and ice hockey.

Related topics

Amazon Web Services
Programming Languages
Rust
Computer Programming
Web Technology

You may also like