Dion

Blog posts and open-source work

About

Dion

  • Embedded software engineer
  • dion@tweedegolf.com

Dion is an experienced Rust and embedded software developer who has worked in a lot of projects. The experience comes in the form of knowledge about a plethora of communication technologies (including LoRaWAN, LTE and UWB), a focus on well-architected code and a drive for innovation. His skills and creativity can take a project from an idea to a full product and allow him to give advice about what is possible within the given project bounds and about how to maximize the results.

Dion has created and maintains several open-source projects:

  • nrf-modem: An async Rust wrapper around the modem library for the nRF9160
  • sequential-storage: A crate for storing data in flash memory with minimal need for erasing pages
  • device-driver: A toolkit to write better device drivers, faster

He has also contributed to:

  • statime: A PTP stack written in Rust
  • embassy: An async runtime for embedded devices in Rust
  • dw1000-rs: An extensive driver for the DW1000 chip

In his spare time, his creativity tends to find musical outlets. Dion plays the piano and regularly works on electronic music.

In my job I get to speak to lots of people about Rust. Some are just starting out, some have barely ever heard of it, and then some people are running Rust silently in production at a very large company in a very serious product.

While using a full-blown filesystem for storing your data in non-volatile memory is common practice, those filesystems are often too big, not to mention annoying to use, for the things I want to do. My solution?

I've been hard at work creating the sequential-storage crate. In this blog post I'd like to go over what it is, why I created it and what it does.

At Tweede golf we're big fans of creating applications on embedded devices with Rust and we've written a lot about it.

But if you're a hardware vendor (be it chips or full devices/systems), should you give your users Rust support in addition to your C support?

In this blog I argue that the answer to the question is yes.

Open-source work

Show all

Statime

Statime is an initiative of Tweede golf, an open-source implementation of the Precision Time Protocol (PTP) in Rust.

High-precision timing is part of crucial networking infrastructure. With Statime we provide a memory-safe alternative for existing implementations.

The first milestones of the project were kindly co-funded by the NLnet Foundation.

Statime is part of Project Pendulum. In July of 2023 the Sovereign Tech Fund invested in Pendulum, securing development and maintenance in 2023, and maintenance and adoption work in 2024.

Tags

Languages

Contributors

nrf-modem-nal

An embedded-nal implementation for the nRF9160 (built on top of the nrfxlib rust crate).

Other than exposing the NAL, it also implements enabling and disabling the modem when required automatically.

Tags

Languages

Contributors

Stackdump

A set of rust crates for making stack dumps and getting stack traces out of them.

Developed and maintained by Dion.