Dojo Five Blog

Sharing our insights about modern embedded development

Featured Post

Jenkins CI

Setting up Jenkins for Embedded the right way (or not at all)

By: Brandon Leiran
Embracing continuous integration (CI) practices and tools makes embedded development smoother. Jenkins isn’t always the best choice for Embedded CI, but if you follow the 3 CI principles laid out in this article, you’ll start off well!


Recent Posts

Dojo Five logo inside craft box

Our Engineers: Patrick Little

April 27, 2021

Patrick Little is a Senior Firmware Engineer at Dojo Five and joined us in March of 2021. Patrick always thought he was going to be “a programmer” growing up…

ST Microelectronics-NUCLEO image

Plant Moisture Monitoring with an STM32 Nucleo

March 23, 2021

Zhi Xuen Lai of Dojo Five walks you through his plant moisture monitoring project, which uses an STM32 Nucleo board and includes mobile notifications.

Python logo

Useful Python Packages For Parsing HTML Report

January 7, 2021

Static analysis tools such as IAR C-STAT, Cppcheck, and Flawfinder are able to generate reports in the form of HTML files. To learn how and why it is necessary to add a static analysis tool to your firmware builds, check out our 10 Easy Steps to Add Static Analysis to Your Firmware Build and Static…

Man using a macbook track pad

I’ve been using Markdown all this time??

December 31, 2020

Sometimes you need something lightweight for text files that doesn’t require all the fancy tools and formatting that is offered by other languages, such as HTML – but is still readable and mergeable as a text file. If that resonates with you, chances are good that Markdown is what you are looking for. Even if…

Two guys in front of macbooks marking up a paper

Three Suggestions for Successful Code Reviews

December 22, 2020

We’ve all been a part of bad code reviews. Both as the developer and as the reviewer. If you haven’t, you’re extremely lucky! Code approved with zero comments seconds after the pull request was submitted are just as frustrating as ones with an entire novel, possibly with several copies of the same chapter, written across…

Get gui showing commit messages

Using a Git GUI Isn’t All Bad (And Sometimes Pretty Useful)

December 17, 2020

While not the popular opinion of CLI git users, I’ve gotten a ton of mileage from my git GUI. Using the CLI rather than a GUI provides a lot of value: seeing the bigger picture of your code and being able to navigate through different branches, commits or history can become clean and easy to…

Testing Python Scripts in A Docker Container

December 15, 2020

Most Python scripts require external packages. Many require a specific version of these packages or even the Python interpreter. Instead of installing these dependencies globally on your machine, you can either create an isolated virtual environment using Python virtual environments (venv) or create a Docker container. While there is a lot to like about virtual…

Someone typing on a keyboard

Start with the Process, Finish with the Work

December 10, 2020

Start with the process, Finish with the work To obtain regulatory approval for medical device software, you’ll need to comply with the IEC-62304 Medical Device Software Lifecycle standard. This standard requires that specific methodologies are followed. It doesn’t dictate the specifics, but it does require that the medical device manufacturer defines a set of software…

Man sitting in front of three monitors

The Case for EmbedOps (Embedded DevOps)

December 8, 2020

From even before the first computer was working, the technology industry has been looking for the best way to write code. Today, as code “eats the world”, the types of things developers need to do is not limited to coding. There are managing releases and versions, managing development environments, testing, integrating, and so on. In…

Lit up circuitry on transparent board

Secure Boot – What Is It?

December 4, 2020

Secure Boot Secure Boot is a security standard for devices used during the boot process to ensure only software that is created and trusted by the manufacture is executed. In the embedded world, this translates to preventing malicious code created by an outside source from running on your embedded project. Past Experiences with Secure Boot…

Depiction of data being sent around the globe

Simulators in EmbedOps: Another Reason DevOps is Beneficial to your Embedded Development Workflow

December 3, 2020

Arm is no stranger to DevOps or Continuous Integration (CI). They have  several pipeline scripts available  for Travis CI and outline how they use Jenkins to build and test Mbed OS. But so far, there has not been a demonstration of how to use a simulator in pipelines. We partnered with Arm to show how…

Peter flying

Our Engineers: Peter Gabrail

November 20, 2020

Pete joined Dojo Five in November of 2019 as a Senior Firmware Engineer. He grew up in a little seed in the forest back in Syracuse, NY and did his first programming in high school, working on Commodores and Amigas as a hobby…

A wave of data in front of binary code

How to set up Xilinx Vivado and Vitis on MacOS

November 18, 2020

Xilinx makes a number of great products that we have worked with in the past. If you haven’t used an FPGA-based platform before, it is amazing what you can do with these devices. You can literally build hardware accelerators, meet hard real-time deadlines in silicon, make changes to the FPGA logic in the field with…

Medical devices in an operating room

Software Bill of Material (SBOM) for Medical Devices

November 18, 2020

Software Bill of Material (SBOM) for Medical Devices Modern devices are becoming increasingly more complex. Higher user expectations for product features and connectivity have developers looking to include third-party code instead of creating functionality from scratch. Some of these third-party libraries are fairly large and complex. Having third party origins, you’re likely to find code…

Man writing some code

3 Steps to Reading New Code

November 11, 2020

Approaching Code For The First Time Whether you are approaching a code base for the first time or you are doing a code review for another developer, reading code may be like reading another “language”. In school, you get extensive instruction on how to write code, but rarely hear about how to approach a large…

glasses on a laptop

Unit Tests: Benefits For Your Automatic Build

November 2, 2020

What are Unit Tests? Unit tests are functions written to test an isolated module in a codebase. Isolation allows for specific modules to be tested without interaction with the rest of the system. Unit tests are designed to test the top-level application program interface (API) by inducing controlled input to the module and monitoring the…

Is Static Analysis necessary for your Automatic Build

Static Analysis: Is It Necessary for Your Automatic Build?

November 2, 2020

Is This Extra Step Necessary? Static analysis has the potential to become an integral part of your regular development as well as your continuous integration setup. Is it necessary for your automatic build and build security? The short answer: Yes. We will explain why. There are main types of analysis that are used in the…

A bike chain close up

Choosing a Continuous Integration (CI) compiler

October 28, 2020

Linux-based gcc ARM cross compilers for bare metal targets While looking for a gcc cross compiler to use for an EmbedOps project, I took a look at my options and found a few choices, each with advantages and disadvantages. I wanted to set up an EmbedOps Continuous Integration (CI) environment for an embedded ARM processor…

Futuristic tunnel with overlays of charts and symbols

10 Easy Steps to Add Static Analysis to Your Firmware Build

October 27, 2020

  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 developers use a static analysis tool that checks for vulnerabilities in your source code. There are many existing static analysis tools (Cppcheck, Clang Sanitizers,…

A phone projecting app icons above

Medical Device Documentation

October 21, 2020

  Working on a medical device is a large undertaking. The documentation required by the FDA is able to intimidate even the most stalwart engineer all on its own. But they require it for good reasons, and once you and your team get started, you may find they become helpful instead of intimidating. Maintaining the…