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.
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.
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 […]
10 Pillars of Modern Embedded. Pillar 4: Effective Testing

Testing needs to be appropriate, effective, and evolve with the project.
That means it needs to verify the appropriate things, meeting the business goals and needs through a multifaceted testing strategy. It needs to be effective, minimizing the likelihood of bugs while minimizing the time spent on testing. It needs to evolve as the project changes and not grow uncontrollably.
10 Pillars of Modern Embedded. Pillar 3: Automated

Firmware development teams can eliminate tedious tasks, reduce (human) errors, and enforce standards easily–all while improving the quality, reliability and cost of the product. By identifying common errors early, automation allows frequent testing and, when ready, efficient deployment to production.