How I went from toggling a single GPIO pin to deploying intelligent, low-power firmware on the edge — and the lessons that shaped me along the way.
The first program I ever ran on a microcontroller did exactly one thing: it blinked an LED.
No operating system. No framework. No safety net. Just my code, a register, and a clock ticking a few million times a second. When that LED finally blinked at the rate I intended — not too fast, not stuck on — I felt something I hadn't felt writing software before. On a bare-metal system, nothing happens unless you make it happen. There's no runtime quietly cleaning up after you. That mix of total control and total responsibility is what pulled me into embedded systems, and it's the same thread that eventually led me to running machine learning models on the edge.
This is the story of that journey — from a single blinking pin to intelligent devices that sense, decide, and act on their own.
The Bare-Metal Beginning







