exploring a modern embedded development experience
What is null beach?
null beach is an exploration of modern software development practices tailored to the embedded domain. Focusing on developer experience, our main goal is to accelerate the edit-compile-debug loop, enable robust unit and integration testing, configure a build and release system that makes it easy to catch regressions and deploy software, and ultimately make rapid iteration on production-grade embedded software a reality. This project will explore Rust and the associated tooling as a major component of this acceleration. We will take an embedded design from concept to production, starting with a blinking LED, and evolving into increasingly complex designs across a variety of hardware platforms.
Who am I?
I'm an embedded software engineer that's worked at companies like Apple, Hewlett Packard Enterprise, and Sonos. I've worked on everything from bare-metal microcontrollers for low-power home security applications, to RTOS-based power monitoring on an ARM SoC (Apple Silicon), to userspace embedded Linux applications (Sonos audio distribution). No matter where I worked, I was universally disappointed by the state of embedded developer experience. A lack of cohesion around fast and easy testing, reproducible builds, and modern tooling is a giant anchor on the domain as a whole. I want to lift that anchor.