Why this blog exists
This blog is where I write down what I learn while building embedded systems and the platforms that ship them. AI-assisted engineering runs through most of my workdays now, so it shows up here too — as a tool grounded in real systems work, not as a promise detached from it.
What the work looks like
The posts draw from real engineering work across several stacks:
- Yocto/OpenEmbedded platforms, BSPs, and production Linux images
- Device Tree, Linux kernel configuration, and driver integration
- Boot chains: U-Boot, GRUB, A/B updates, recovery flows
- Hardware bring-up across ARM and x86 platforms
- Manufacturing, commissioning, production test, and field recovery images
- Agent workflows, automation, tooling, and system design for small technical teams
Five topics I keep coming back to
Embedded Systems
The hardware end of the stack: boards, SoCs, peripherals, firmware, and boot. Board bring-up notes, driver debugging, kernel oddities, and the details that decide whether a product ships or returns to the bench.
Platform Engineering
Build systems, BSPs, and the delivery pipelines that keep them shippable over years. Yocto is my daily driver today; the same discipline — reproducibility, layer hygiene, and release cadence — applies to any long-lived platform.
Engineering Tools & AI Assistants
Editors, automation and AI assistants for systems and platform work: from Emacs and VS Code to codebase exploration, patch reviews, and repeatable development workflows. What saves time, what adds noise, and what survives a real workday.
Edge AI
Inference where the constraints bite: MCUs, MPUs, and accelerators. Model choice, memory budgets, quantization trade-offs, and the integration work that turns a demo into something that runs reliably on the target.
Fundamentals
The foundations of computing, operating systems, and AI. From Unix and Linux to large language models and the history of AI: where these ideas come from, how they work, and the concepts engineers build on.
If you wish to contact me, click here.