Documenting System Architecture With AsciiDoctor

By: Steve Branam
As the adage says, a picture is worth a thousand words. Diagrams provide a high level of information abstraction. Somewhere between zero and too much is the sweet spot for the right amount of documentation for a system, balancing the needs of development, quality, cost, and effort.
Comparing CAN, CAN-FD, and CAN-XL

Intro CAN, or Controller Area Network, is a popular communication standard in the automotive industry that has come a long way since its inception back in the 1980s. It has […]
Power Optimization Techniques for Firmware

Introduction Power efficiency is a critical factor in the success of modern embedded systems, especially for battery-powered devices. Efficient firmware design can significantly extend battery life, reduce heat, and improve […]
What is Dojo Five reading in June 2025?

“Dojo” translates to “place of the way” and represents an environment for immersive learning. Here at Dojo 5, we prioritize that learning by encouraging our engineers to always be on […]
Selecting an RTOS, Which Should I Use?

Introduction So, you’re kicking off a new embedded project, congrats! Whether you’re wrangling sensors, spinning motors, or just trying to blink an LED and talk to the cloud at the […]
10 Easy Steps to Add Static Analysis to Your Firmware Build

When it comes to embedded system applications, security is one of the most important requirements. In addition to embedded security topics such as Bluetooth encryption, SSH, and TLS, modern firmware […]
Making Embedded Communication Reliable: A Reusable COBS Library

What is the issue? Embedded systems often communicate over serial connections like UART, SPI, or USB. These communication channels are prone to issues when binary data gets misinterpreted as control […]
Documentation Done Right: Why Firmware Teams Need Robust Documentation

Why is Documentation so Important? When you are deep in the weeds working on a project, it’s easy to think “There’s no way I could ever forget how this code […]
Best Practices for Bluetooth Low Energy (BLE) Product Design

Designing products with Bluetooth Low Energy (BLE) technology presents unique challenges that can make or break your embedded project. Project managers overseeing BLE implementations need to understand both the technical […]
How to Align External Firmware Development Teams with your Internal Engineering Process

In today’s fast-paced product development landscape, many companies turn to external firmware development teams to accelerate time-to-market, access specialized expertise, and manage workload fluctuations. However, one of the biggest challenges […]
Trusting the Docker Images Your Code is Built On

We’ve written before about the benefits of using Docker in your development environments. You don’t have to write every image yourself, though! There are many existing images on Docker Hub […]
nRF52 DFU and the Missing Service Changed Indication

Even when using Nordic’s pre-packaged SDK files for adding DFU (Device Firmware Update) capabilities, things can get tricky. We learned this as we added buttonless DFU to a customer project […]