Hello World
I’m a software engineer working primarily in embedded systems and firmware, with experience spanning resource-constrained devices, embedded Linux, and desktop applications. I hold an MSc in Embedded Systems from Kingston University, London, UK with management studies as my minor subject, this educational experience has shaped how I approach engineering decisions beyond just code.
I use this space as a technical notebook and reflection log: to write about firmware, software design, testing strategies, systems thinking, and lessons learned from building software that runs close to hardware. Occasionally, I also share personal interests and side projects, including leisure work I pursue in my free time.
My Blog Posts
Some of my Blog contents
Table of Contents
MetricMQ is a 328 KB C++20 message broker built from scratch and still under development. It features a custom binary wire protocol, Ed25519 message signing enforced at the wire level, exactly-once delivery using sequence IDs with LMDB persistence, Prometheus metrics on every message path, and a native ESP32 Arduino client. This page shows the broker running four demos, each highlighting a different capability with live Prometheus metrics you can watch in real time.
Continue reading Table of Contents
Why Most Embedded Software Is Overcoupled - And How Dependency Injection Fixes It
Most embedded bugs aren’t hardware problems. They’re design problems , born from code that grew organically across board revisions, tightly knotted around pin numbers, register addresses, and brittle HAL calls scattered everywhere and with scalability things can get messy, adding to the technical debt. Its important we talk about how not to make your embedded software tightly coupled and leave room for extension & scalibility
Continue reading Why Most Embedded Software Is Overcoupled - And How Dependency Injection Fixes It
Local First, Building Portable Embedded C++ pipeline with self-hosted CI
A experimental setup on how to build stack using “Woodpecker CI, Cosmopolitan, and Google Pigweed” for small firmware teams to automate build-test-flash pipelines for their embedded systems
Continue reading Local First, Building Portable Embedded C++ pipeline with self-hosted CI
The Embedded Engineer's Second Brain: PARA and CODE Systems
More information is not equal to more clarity, Here I have assembled a simple guide to turning information overload into clarity using Tiago Forte’s the CODE and PARA methods.
Continue reading The Embedded Engineer's Second Brain: PARA and CODE Systems
Portable and Secure C- A Practical Guide to MISRA C & CERT C
The C language has powered satellites, pacemakers, and aircraft flight computers for five decades. That longevity is not accidental, and neither is the discipline required to keep it safe.
Continue reading Portable and Secure C- A Practical Guide to MISRA C & CERT C
Binary Search Tree in C
A complete guide to Solve the Binary Search Trees(BST) Problems in C & popular LeetCode BST problems
Continue reading Binary Search Tree in CSee Posts for more