How to Avoid Pushing In-development Changes to The Production Repository

Once a code base is sophisticated enough to require both a public, customer-facing production environment and private development environment, it becomes vital to prevent potentially breaking development changes from being […]
Controlled Development Environments

Docker is a great solution for controlled development environments. One of the great things about Docker is specifying an entire environment. You create a list that includes the OS, along […]
Debugging Step 1 – Check the Datasheet

When setting up something like a new sensor for a project feature, it’s become typical for engineers to grab a development kit for their ease of setup and the speed […]
The Git Cherry-pick and Git Rebase Interactive Combo

Version control is necessary, but using it well is an art. Today I am going to give an overview of two Git commands that I found helpful during software development, […]
Docker: An Ideal Development Environment

Docker is a revolutionary tool that provides speed and repeatability for an embedded team. While traditionally used in non-firmware environments, there is enormous potential to improve the development efforts of […]
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.
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 […]
Using Rust Packages in a C Project on Nordic Devices

This example shows how to call a function from a Rust package from C on a nRF5340 DK and nRF52840 DK.Source: https://www.rust-lang.org/ Why would you want to use Rust? Rust […]
How to Modify a File Using SED

Let’s take a look at a microchip project that was found to cause issues in the past. Upon trying to build the problematic example it was found that one of […]
Device Updates: Cut Down Time and Data Usage

Have you ever suspected that the way updates are handled on your embedded devices wastes electricity, drives up customer cellular data bills or takes longer than really needed? Let’s look at how device updates have traditionally been done…
How to Prevent Your Python Script From Getting Culture Shock in Different OS’s

After hours of focusing, you finally finish writing a Python script for your project. It works perfectly on your computer and you pushed the changes to your favorite source control […]
Embedded Command Line Interfaces and Why You Need Them

Embedded Command Line Interfaces and why you need them Featured Categories Our Engineers Security Embedded CI All Categories Recent Posts By: Joe Perrin During the course of development – from prototyping hardware through manufacturing – it becomes necessary to run test code over and over to verify functionality or perform system-level testing. This…