Dojo Five Blog

Sharing our insights about modern embedded development

Featured Post

Updating your hardware in the field

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…


Recent Posts

Code in an IDE

How to Prevent Your Python Script From Getting Culture Shock in Different OS’s

July 6, 2020

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 provider. The next thing you know, your teammate’s complaining that the script does not work on their computer because they are running on a different…

Time Peake Spacewalk outside ISS

How much is that medical device going to cost!?!??!

July 1, 2020

Creating a proof of concept device is cheap. Creating a device to be submitted through the regulatory path is not, even when it’s the exact same device. The regulatory path is expensive. Hardware-in-the-Loop Testing Setup at Dojo Five (Source) There are two ways you can develop a device. The first method, which most industries use…

Shell scripting

In A NutSHELL: Uses in CI/CD and Docker

June 29, 2020

What is shell? What is bash? Shell is a program for the user to interact with an operating system. The terminal window on Linux or macOS has the shell which lets the user interact with the operating system by using commands such as ls, cd, mkdir, etc. Bash also known as Bourne Again Shell is…

A finger point turning into weird futuristic circuitry symbols

Why does embedded development use ancient practices and how do we safely modernize it?

June 25, 2020

Web development tools can be integrated into embedded development to modernize your workflow. Mature web development tools can be integrated into an embedded development process to take advantage of features like automated testing, hardware in the loop, Continuous Integration (CI), and Continuous Deployment (CD). Embedded development of the past: before web development Embedded development predates…

Old school computers larger than refrigerators

DMA Controllers: the Underutilized Workforce

June 22, 2020

Direct Memory Access (DMA) controllers can vastly improve performance on resource-limited systems, a very common attribute of many embedded systems. As demands of embedded systems are growing all the time, the developers’ ongoing task is to find ways of getting the most performance out of the system. The good news is that as embedded processors…

Docker whale in all its glory

Docker: An ideal development environment

June 18, 2020

Docker is a revolutionary tool that provides speed and repeatability for you and your embedded team. While traditionally used in non-firmware environments, there is enormous potential to improve the development efforts of firmware projects. The Problem A few decades ago, you could submit your work as a batch job to a common environment, shared by…

Abstract roped points

How to manage WebHooks through Code

June 17, 2020

While simple at first, webhooks can become a hassle if you have products that use a good number of them and you have to keep them up to date. Here at Dojo Five, we found that having a YAML file with the needed information was a great way to give a little automation to this…

Notebook with Lets Get Started written inside

First Experiences with Python Virtual Environments

June 15, 2020

Getting Going As a Python project quickly begins to develop, we found that using python’s virtual environments might be a useful feature to implement. Not as nature-y as it may sound or that the above picture suggests… Being a bit of a Python newbie myself, I needed to do a bit of research about what… logo

PODCAST – Talking Community on

June 12, 2020

Another member of the Dojo Five team recently joined the podcast! Bailey Steinfadt shared her maker roots, introduced Robbie the Rude Robot, and discussed how her collection of hobbies has lead to her being on a winding road through a 501(c)3 she may have founded and her exciting career at Dojo Five! Check out…

Office with lots of seating!


June 11, 2020

“The Dojo Five Office Experience” I took this picture at the end of a workday shortly before we stopped working at the office. Why? Because this view puts a grin on my face. You’ll notice that each desk has two seats, the developer’s seat and the visitor’s seat, sitting side by side. The visitor’s seat…

Rust logo

Using Rust Packages in a C Project on Nordic Devices

June 5, 2020

This example shows how to call a function from a Rust package from C on a NRF52840-DK. Why would you want to use Rust? Rust is a pretty cool new programming language that aims to make fast, safer executables. There has been a strong effort to get Rust working well on embedded devices, and it’s…

Can You Power the City exhibit

Creating interactive experiences for kids while teaching them about energy use through museum exhibits

March 20, 2020

Adam Wolf talks about creating interactive experiences for kids while teaching them about energy use through museum exhibits on his latest episode

Just Right expression

3 Steps to Make a Professional CLI Tool Using Python’s Click

March 6, 2020

With 3 easy steps, you can make your CLI tool clean and professional. The Problem I started to create a CLI tool that I was pretty excited about using the Click library for Python. It felt good to get my tool in my computer’s path and be able to run my script with my command…

Close up photo of an embedded device

Setting up automated firmware builds

March 6, 2020

Developers and managers can trust firmware releases by automating their build process.

Tag hanging from a car rear view mirror

The Curious Case Where the Compiler Was Wrong

March 6, 2020

Always build the Nordic bootloader with optimizations turned on.

Twins baseball team near surgeons

Accelerating Medical Device Development

November 4, 2019

Accelerate your medical devices’ embedded software development using cultural, process, and tool changes such as an embedded CI pipeline.