STM32F446RE NUCLEO board with SSD1306 OLED display

Async Rust Gateway From Embedded Firmware to Cloud Infrastructure - wk6

Week 6 marks a fundamental shift in the project. Up through Week 5, everything stayed within the embedded realm - microcontrollers talking to each other over LoRa. Data lived in OLED displays and defmt logs that disappeared when you closed the terminal. Week 6 changes that. It’s the bridge between embedded and cloud, between constrained systems and abundant infrastructure, between no_std and std. This is the week I learned async Rust isn’t just about performance - it’s about building systems that compose. ...

Dec 21, 2025 · 16 min
STM32F446RE NUCLEO board with SSD1306 OLED display

Gateway Firmware - From Wireless to Desktop, Wk5

Week 5 was supposed to be straightforward: add USB-CDC to Node 2, stream JSON telemetry to the desktop. Simple, right? Spoiler: The “simple” solution was blocked by hardware. Then the “good” solution was blocked by firmware. The working solution came from adapting to constraints instead of fighting them. This is the story of how Week 5 became a lesson in engineering pragmatism - and why the best solution isn’t always the most elegant one. ...

Dec 13, 2025 · 18 min
STM32F446RE NUCLEO board with SSD1306 OLED display

Binary Protocols and Reliable LoRa Communication

The first two weeks of this project focused on getting data moving: sensors reading correctly, LoRa modules talking, and messages arriving at the other end. That phase was intentionally simple and text-based. It worked, but it was never meant to last. This week was about moving closer to how real embedded systems behave in the field: binary data, explicit integrity checks, and predictable delivery behavior. Human-readable messages are convenient for debugging, but they waste bandwidth and hide failure modes. Radios don’t care about readability — they care about airtime, reliability, and determinism. This week’s work was about aligning the system with those realities. ...

Dec 12, 2025 · 6 min