How To Protect Your Firmware: 5 Mistakes To Avoid

By: Joe Schneider
You put a massive amount of time, energy, and cost into developing your firmware. As such, protecting your firmware should be a top priority. Avoiding these 5 mistakes will help ensure your firmware stays secure.
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.
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.
Useful Python Packages For Parsing HTML Report

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 […]
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…
Finding Time for Rust: 7 Simple Steps to Learn Rust

By: Nwanua Eluweze
Rust appears to be gaining steam as a solid language to solve complex and challenging problems in embedded systems. Here are a few tips that may help you learn Rust.
Unit Testing For Embedded Software Development

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.
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.
Modern Embedded Firmware Development Practices in the Warehouse Automation Industry

This blog explores the multifaceted realm of modern embedded firmware development, as well as the innovative testing practices that help identify and mitigate bugs early in the process, leading to cost savings and more robust systems.
10 Pillars of Modern Embedded: Pillar 6 Effective Requirements

Effective Requirements is Pillar 6 of the Dojo Five Modern Embedded development practices. Project goals and requirements clearly defined, documented, and prioritized with traceability through verification and validation. The set […]