Be The Cppcheck Ruler

Internet streaming data abstraction

realize that you need to create your own rules to catch specific bugs, then this is the right blog for you. There are two ways to set your own Cppcheck […]

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

Jenkins CI

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!

Hardware-in-the-loop is hard! Sometimes.

HIL Raspberry Pi

By: Ander Galisteo, Ph.D.
The concept of hardware-in-the-loop (HIL) is not new in the embedded space. The basic idea is to automate the functional tests of your device under development to verify if your implementation does what it’s supposed to do.

BDD for Embedded Systems

Behavior Driven Development for Embedded Systems

Introduction Behavior-Driven Development (BDD) is a software development methodology that focuses on defining the behavior of a system in plain, human-readable language. While commonly associated with end user business requirements […]

Create a Mature Test CLI Tool with Python Click

Create a Mature Test CLI Tool with Python Click

Introduction In firmware development, effective testing is crucial. Developers often need reliable ways to interact with their hardware. This tutorial will guide you through creating a Python-based command-line interface (CLI) […]

Unit Testing For Embedded Software Development

Unit Testing Keyboard

By: Steve Branam
Unit testing uses small automated tests to drive development of embedded system code. Learn best practices for Test Driven Development (TDD), including writing and implementing successful unit tests to provide fast feedback and confidence in your code.

A Long Way From Home

A finger moves toward the word update on a artistic depiction of technology

Over The Air updates (OTA) takes advantage of modern connectivity for devices. Even for devices that aren’t normally connected to communication networks, it’s often possible to connect them to a computer or mobile device that is connected to the network and update them. It’s also become a common part of modern embedded development and release strategy.