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
Getting Started with MetricMQ
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 Getting Started with MetricMQ
Getting Started with MetricMQ on ESP32
MetricMQ is a 328 KB C++20 message broker built from scratch and still under development. In this blog post the metricmq is demostrated on the Esp32-s3 N16R8 Module
Continue reading Getting Started with MetricMQ on ESP32
Why Most Embedded Code Is Tightly Coupled — And How Dependency Injection Fixes It
Why direct register writes and HAL calls inside your application logic make firmware impossible to unit test on PC. Here is how to use Dependency Inversion and Injection in C and C++ using real I2C sensor hardware.
Continue reading Why Most Embedded Code Is Tightly Coupled — And How Dependency Injection Fixes It
An Experimental Setup - for Building Local First, 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 An Experimental Setup - for Building Local First, Portable Embedded C++ pipeline with self-hosted CI
The Embedded Engineer's Second Brain: PARA and CODE Systems
More information does not equal more clarity. Here is a beginner-friendly guide to turning information overload into clear engineering decisions using Tiago Forte’s CODE and PARA systems.
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 CSee My Blog Posts for more
My Projects
FLENS
FLENS (Firmware Linux Embedded Security) helps engineers understand what’s inside embedded Linux firmware. It automatically extracts firmware images, discovers third-party components, correlates known CVEs, calculates risk scores, and generates industry-standard SBOMs (SPDX and CycloneDX).
Continue reading FLENS
MetricMQ
Lightweight message broker with pub/sub and queue patterns, binary protocol support, and LMDB persistence.
Continue reading MetricMQ
Embedded Survellence
Real-time video monitoring system using YOLOv8 for object detection, FastAPI for REST APIs, and SQLite for event storage. Designed for embedded devices like Jetson Nano with, configurable FPS
Continue reading Embedded SurvellenceSee Projects for more
My Mini Projects
WhiteBoardDoodle: Collaborative Whiteboard
A lightweight desktop whiteboard for real‑time collaboration on trusted local networks. Built with Python, PyQt6, and WebSockets, it syncs drawings across multiple clients with smooth zoom/pan, undo/redo, and PNG export. Just start the server, open clients, and draw together.
Continue reading WhiteBoardDoodle: Collaborative WhiteboardSee Mini Projects for more
My Gallery
Some of my clicks on - Nature
Some of my photo shots of Nature
Continue reading Some of my clicks on - NatureSee Gallery for more