Blog

Technical deep dives into firmware design, embedded debugging, and system-level problem-solving.

Simplifying OpenOCD Deployment with a Debian Package

Instead of manually copying binaries and dependencies across machines, you can package OpenOCD into a Debian .deb archive. This post walks through creating a custom package to simplify installation and distribution.

Managing Multi-Compiler CMake Projects in VS Code

Learn how to build host utilities alongside embedded firmware in CMake by using ExternalProject. This guide covers setting up multiple compilers, integrating utility projects, and configuring VS Code workspaces for smooth IntelliSense.

Cross-Compiling OpenOCD: A Step-by-Step Walkthrough

Learn how to build OpenOCD binaries on Ubuntu 22.04 for both the ARM64 and AMD64 target architectures. A great way to share a consistent OpenOCD build across your Debian systems

How to Find the Memory Address of a Symbol in an ELF File

A quick and useful tip for locating symbol memory addresses in ELF files using arm-none-eabi-nm combined with grep—perfect for embedded debugging scenarios like setting up SEGGER RTT or inspecting linker placements and runtime symbols.

Using CMake to include libraries in your projects

Including External Libraries in CMake Projects

Learn how to use CMake’s FetchContent module to automatically download and integrate libraries like CMSIS into your embedded projects, eliminating the hassle of manual copying and updates.

Remote Debugging using Raspberry Pi and OpenOCD

Remote Debugging with OpenOCD on Raspberry Pi

Learn how to turn a Raspberry Pi into a remote debugging server for the RP2040 using OpenOCD, a complete with step-by-step setup and instructions for building OpenOCD from source to resolve hardware compatibility issues.

OpenOCD Beginner's Guide for Embedded Development

Getting Started with OpenOCD: A Beginner’s Guide for Embedded Developers

A beginner-friendly guide to installing, configuring, and using OpenOCD for flashing and debugging microcontrollers.

Need help with embedded systems development?

Whether you're building something new, fixing stability issues, or automating what slows your team down — we can help.