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 […]
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.
10 Easy Steps to Add Static Analysis to Your Firmware Build

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 […]
Trusting the Docker Images Your Code is Built On

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 Docker Hub […]
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 […]
DITAA Color Codes For Diagrams: Using Color To Help Separate Items In DITAA Diagrams

By: Steve Branam
DITAA is a simple text format that allows the creation of free-form custom diagrams.
Accelerating Medical Device Development

Accelerate your medical devices’ embedded software development using cultural, process, and tool changes such as an embedded CI pipeline.
Software Bill of Material (SBOM) for Medical Devices

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 […]
How to set up AMD Vivado and Vitis on MacOS

AMD (formerly 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 […]
10 Pillars of Modern Embedded: Pillar 8–Security

Security is not a feature, it is a framework. You build your system around this framework. Every design decision, every architectural component, every path on the PCB and every line of code should consider this. Modern systems need to put it front and center.
10 Pillars of Modern Embedded: Pillar 7 Emergent, Intentional Architecture

Good architecture is both craft and science. There are a variety of patterns and techniques that encourage building code that is malleable, reliable, and maintainable. The architecture emerges as you apply these and learn more about the system. It breaks things down into small cohesive elements that express intention about what they do.
Upgrading Your Control System: Replacing your existing PLC with Arduino OPTA

Replacing your current PLC with an Arduino OPTA can be a cost-effective and efficient choice for many industrial automation applications. The benefits of affordability, flexibility, and a supportive community make it an appealing option.