Dojo Five Blog

Sharing our insights about modern embedded development

Featured Post

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.


Recent Posts

Abstract digital items and charts

The Unspoken Benefits of Having Automated CI Pipelines

August 21, 2020

In the web world, continuous integration and deployment (CI/CD) is quickly leaving “hot new trend territory” and heading toward being an absolute must for any development team. But if your business is in embedded systems, you may be just starting to hear about how it can benefit your teams. Whether you are working in a…

Power lines, trees, and stranded cars were unfortunately common this past week.

The Parts of DevOps That Have Nothing to Do With Code

August 19, 2020

When you hear about DevOps, you often hear about all of the ways it can help your code be better. That’s true. But there’s a whole host of other benefits. This week highlighted how a dev team can be stronger with a solid DevOps practice. The Storm Cloud Last Monday started normally. We did remote…

Operating room filled with medical devices

IEC-62304 Medical Device Software – Software Life Cycle Processes Primer – Part II

August 12, 2020

Part I provides some background to IEC-62304. Part II provides a slightly more in-depth look at some of the specifics. The IEC 62304 Medical Device Software – Software Lifecycle Processes looks into your development processes for creating and maintaining your software. The standard is available for purchase here. So what activities does the standard look…

Medical device monitoring vitals

IEC-62304 Medical Device Software – Software Life Cycle Processes Primer – Part 1

August 10, 2020

IEC-62304 Software Lifecycle requires a lot of self-reflection to scrutinize and document your development processes. There is an endless pursuit of perfection when it comes to heavily regulated industries. How can you guarantee something will have zero defects? That’s a pretty hefty task. The regulatory approach for the medical device industry is process control. The…

Laptop with some code on screen

I want to write my first embedded program. Where do I start?

August 7, 2020

The boom in the Internet of Things (IoT) commercial devices and hobbyist platforms like the Raspberry Pi and Arduino have created a lot of options, offering inexpensive platforms with easy to use development tools for creating embedded projects. You have a lot of options to choose from. An embedded development platform is typically a microcontroller…

A firm handshake between business partners

3 Lessons for Engineers Communicating With Customers

August 5, 2020

Before working with Dojo Five, I had worked with teammates from different backgrounds, but never met or talked with customers. There’s more to it than status updates. Your customers may appreciate deep technical expertise, but they are happiest when they can trust and enjoy the process of working with you. A project management tool shows…

Coder hard at work writing code in a code editor

Three Tips For New Engineers

August 3, 2020

With a bachelor in Electrical Engineering and a few coding experiences, I started my job at Dojo Five. What’s waiting for me were demos and releases that surprised me with unexpected results, challenging problems that took hours to solve, and software, tools, and technologies that I never saw or heard of before. Here are some…

Close up motherboard shot

How to Modify a File Using SED

July 31, 2020

I started with a Microchip example and found out that one of the Makefiles generated by using the Makefile generator command, prjMakefilesGenerator has invalid paths. Therefore, I decided to use SED to modify the Makefile instead of open the file and change it every time. The following is the usage of the Makefile generator command….

The homebrew homepage

Make Homebrew Do Your Dirty Work (MacOS/Linux)

July 29, 2020

Just recently, I have been moved over to MacOS (not a personal choice, mind you), and I’ve been learning about some of the really cool features and programs it has to offer. The one I want to share today is Homebrew, as I’ve used it time and again, and it has just made my life…

Solving a Rubik's Cube

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

July 27, 2020

There are times when we want to have two remotes for the same repository on our local machine. We may want to avoid pushing in-progress changes to one of the remotes because it is public or a production environment. The trick to prevent accidentally pushing in-development changes to the wrong environment is to use the…

Laptop with some code on screen

Trusting the Docker Images Your Code is Built On

July 24, 2020

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 DockerHub and elsewhere that can get you quickly up and running. But unless you enjoy terrifying your IT department, please don’t run off and use any and…

Locked chain on a fence

Protect Your Security Keys Using git-secret

July 22, 2020

Development teams, especially those working remotely or spread across different company locations can run into a problem when they need to store sensitive files for the team to use but placing them inside the project repo poses risks. One common scenario with embedded devices is public/private key pairs used for encryption schemes. A simple command-line…

Library shelves full of books

nRF52 DFU and the Missing Service Changed Indication

July 20, 2020

Firmware is Easy 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 that used the nRF52832. Using SDK5 v15.3.0 we had successfully given our device buttonless DFU ability when not bonded to a mobile…

Person in front of many code and terminal windows

IAR: Now on Linux!

July 17, 2020

We have worked with several clients to build medical devices. And for that class of embedded system, our clients’ go-to compiler is IAR. Until now, the IAR compiler only ran on Windows. Until now. The fine people at IAR Systems have recently announced that they have released build tools to run on Linux. And they…

Dry land

The CLI’s Essential ‘Verbose’ Option

July 15, 2020

For those creating their own CLI tool If you have played around with any command line interface tools, such as Particle CLI or Git UI, you’ll notice that they oftentimes will have a verbose or -v option with their commands. This allows you to change log levels within the program, outputting as little or as…

Futuristic development graphic

Controlled Development Environments

July 13, 2020

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 with all of the tools, accessories, scripts, and whatever else you want to appear in that image. Docker in turn goes and collects all of…

Circuits from a data sheet

Debugging Step 1 – Check the Datasheet

July 10, 2020

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 at which developers can get up and running. The usual approach involves a quick breadboard job to connect the dev kit to the existing hardware,…

Light trails near a phone booth

Best Practices for IIoT Firmware

July 6, 2020

Connected sensors are becoming increasingly ubiquitous across all sectors, and industrial and scientific products are no different. This category is becoming known as the industrial internet of things, or IIoT. When designing an IIoT device, engineers must consider a range of criteria that may not apply to other product categories. Industrial products are expected to…

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…