STM32 Series #12: Optimization and Assembly in C

The compiler transforms code while preserving meaning — but forget volatile and it changes the meaning too. See how assembly changes between -O0 and -O2 with objdump, and close out 12 episodes with the ‘conditions for embedded mastery.’

May 8, 2026 · 26 min · 

STM32 Series #10: DMA — Transfers That Free the CPU

Stop having the CPU send bytes one at a time — let DMA handle everything. By DMA-ifying UART transmission, the CPU is freed to do real work. Episode 10 builds intuition for throughput, latency, and bus contention.

April 30, 2026 · 16 min · 

STM32 Series #9: Interrupt Design Anti-Patterns

printf in ISR, missing volatile, heavy processing, forgotten flag clear — we deliberately trigger every classic embedded landmine and watch them fail. Applies to Arduino, ESP32, Renesas, PIC — every MCU with interrupts.

April 26, 2026 · 18 min · 

13-Part Series: The Embedded World Beyond Pointers

The next step after Arduino! Serious embedded programming with the STM32 microcontroller. Addresses, bits, and time — understand the essence of embedded systems step by step, building a solid mental model that applies to any platform.

February 12, 2026 · Updated: April 8, 2026 · 11 min ·