Embedded
Practical C Macro Patterns for Embedded Driver Development
C macros get a bad rap—often deservedly so. But when developing drivers for embedded systems, carefully crafted macros can eliminate entire classes of …
Stop Using Sliding Windows When You Just Need a Smooth Signal
I review a lot of code, and I keep seeing the same mistake over and over. Someone needs to smooth out a noisy signal (maybe sensor data, maybe user …
Evaporative Test Load for DAQ Testing
Every now and then, I come up with a hack for a problem that’s better than a purpose built solution. I love when this happens. I wanted to share …
EasyTLV: A Lightweight TLV Serialization Library
EasyTLV is a TLV (Tag-Length-Value) serialization library I built while developing smartcard drivers for the GridPlus hardware wallet. TLV is a simple …
MicroCLI: A Lightweight CLI Framework for Bare Metal Systems
When working on embedded systems, I typically rely on some form of serial interface for debugging the firmware and perhaps issuing some control …