Blog
Thoughts, tutorials, and insights on software engineering, architecture, and technology
How an E-Paper Display Keeps Time: The RMT Peripheral Story
EmbeddedE-paper displays need microsecond-accurate electrical pulses to move ink particles. This is the story of how the ESP32 RMT peripheral generates those pulses, and what broke when Espressif rewrote the driver API.
March 12, 2026· 6 min read
Read more →The Byte That Froze My Display
DebuggingA single malformed UTF-8 byte froze an entire e-ink display. No crash, no error — just an infinite loop. This is the story of how a bare continuation byte exposed a parser bug in embedded firmware.
March 11, 2026· 4 min read
Read more →From ASCII to UTF-8: How Text Learned Every Language
HistoryFrom 128 characters in the 1960s to every writing system on Earth. The history of text encoding, why UTF-8 won the internet, and what happens between bytes and the pixels you read.
March 11, 2026· 5 min read
Read more →