C++
2026
Getting Started with MetricMQ: Local Setup and Grafana Monitoring
MetricMQ is a 328 KB C++20 message broker featuring a 16-byte binary protocol, Ed25519 message signing, LMDB sequence persistence, native Prometheus metrics, and an ESP32 client. This guide covers running the broker, testing Python demos, and visualizing real-time metrics with Prometheus and Grafana.
Continue reading Getting Started with MetricMQ: Local Setup and Grafana Monitoring
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 CI2025
std::pmr in Embedded C++ - Predictable Memory Without the Heap
A practical embedded-first guide to std::pmr: what it solves, where it fits, how to size buffers safely, and when to prefer a custom allocator or plain static storage instead.
Continue reading std::pmr in Embedded C++ - Predictable Memory Without the Heap
7 C++ Inheritance pain-points Rust Fixes Forever
Seven ways C++ inheritance can create issues, and how Rust’s composition model fixes them all. From diamond problems to fragile base classes, see why composition wins in the long run.
Continue reading 7 C++ Inheritance pain-points Rust Fixes Forever
RAII in C++ vs Rust- How Each Language Manages Resources Without the Garbage collector
Managing memory and resources like files, network connections, or locks is essential in programming. While some languages rely on garbage collectors for automatic cleanup (Java), C++ and Rust use RAII (Resource Acquisition Is Initialization) to handle this deterministically.
Continue reading RAII in C++ vs Rust- How Each Language Manages Resources Without the Garbage collector
Build Systems in Embedded Development: From Make to Pigweed
Why does your code compile on your machine but fail on your teammate’s? Explore Make, CMake, and Pigweed—the tools that turn scattered C++ files into working firmware. Learn which one you actually need and why that answer might surprise you.
Continue reading Build Systems in Embedded Development: From Make to Pigweed
C++ String Operations
C++’s for String Puzzels
Continue reading C++ String Operations
Bitwise Operations in C/C++
A comprehensive guide to bitwise operations in C and C++, covering operators, practical applications, and common patterns for efficient programming.
Continue reading Bitwise Operations in C/C++