Episodes

  • #023 - Modernization Embedded Systems with Test-Driven Development
    Jan 21 2026
    In this episode, embedded systems expert Jacob Beningo explores test-driven development (TDD) as the fourth step to modernize embedded software development. He addresses common misconceptions that TDD doesn't work for embedded developers, demonstrates how proper software architecture enables effective testing, and explains the mental shift required to write tests before production code for higher quality, more reliable embedded systems.

    Key Takeaways:

    • Test-driven development requires writing tests first, then production code to make tests pass, which feels counterintuitive initially but improves over time
    • Properly architected embedded software with decoupled hardware layers makes TDD highly effective for application code
    • The mental adjustment to TDD takes several weeks but results in faster overall development and higher code quality
    • TDD provides immediate feedback when changes break existing functionality through regression testing
    • Multiple testing types are available: unit, integration, system, regression, performance, and user acceptance testing
    • System-level TDD can drive development from user requirements down to individual components
    • AI tools can accelerate TDD processes while maintaining rigorous testing standards
    • A simple push button module can require 98 tests and 4,000 checks for complete validation
    • 100% test coverage is a worthy goal but doesn't guarantee bug-free code
    • TDD initially feels slower but dramatically reduces debugging time and improves long-term development velocity
    Show More Show Less
    27 mins
  • #022 - 2026 Embedded Systems Trends
    Jan 7 2026
    Embedded systems expert Jacob Beningo explores five major industry trends for 2026, focusing on how AI-assisted development, security requirements, and platform-based engineering are reshaping embedded software development. This comprehensive analysis covers emerging technologies and methodologies that microcontroller-based system developers need to understand to stay competitive in the evolving embedded systems landscape.

    Key Takeaways:

    • Use AI to create custom development tools rather than just copying code, potentially saving months of development time annually
    • Security is no longer optional due to regulations like CRA - threat modeling and secure boot processes are now requirements
    • Platform-based engineering is driving adoption of modern tools like CMake, VS Code, and Zephyr RTOS across silicon vendors
    • C++ continues gradual adoption in embedded systems, growing from 3% to 30% market share over 20 years while C remains dominant
    • Functional simulation techniques can reduce debugging time by 50%, saving significant development resources when combined with AI tools
    • Edge AI and tiny ML are poised for resurgence as microcontrollers gain more compute power and specialized processing units
    • DevOps adoption varies widely, with basic Git and compilation pipelines being minimum requirements for modern development
    • West manifest tools are becoming important for managing complex multi-repository platform projects
    • AI should enhance expertise rather than replace fundamental embedded systems knowledge and skills
    • Copy-paste culture threatens to erode deep embedded systems expertise needed for solving complex hardware-software integration issues
    Show More Show Less
    34 mins
  • #021 - From Pray and Patch to Proactive: Modernizing Embedded Security
    Dec 11 2025

    Visit our sponsor's website to learn more about their embedded security solutions at https://www.RunSafeSecurity.com/jacob

    This episode explores the critical shift from reactive "patch and pray" security approaches to proactive embedded security strategies. Host Jacob discusses common vulnerabilities in embedded systems, real-world security threats from nation-state actors, and practical tools and processes developers can implement to secure their devices throughout the entire development lifecycle.

    Key Takeaways:

    • Memory exploits (buffer overflows, out-of-bounds reads/writes, use-after-free) are the most common embedded system vulnerabilities
    • Nation-state actors like Voltaifun are actively targeting critical infrastructure through embedded devices
    • Even simple connected devices like $20 coffee makers pose significant security risks through botnets and grid manipulation
    • Supply chain attacks have risen 700% in recent years, requiring secure programming and signed keys throughout manufacturing
    • Threat Model Security Analysis (TMSA) should be performed upfront to identify critical data and potential attack vectors
    • Hardware isolation using ARM TrustZone, multi-core processors, or memory protection units provides essential security layers
    • Software Bill of Materials (SBOM) helps track open source components and monitor for newly discovered vulnerabilities
    • Static and dynamic analysis tools should be integrated into CI/CD pipelines for continuous security monitoring
    • Security must be considered throughout the entire device lifecycle, from design to end-of-life decommissioning
    • Proactive security approaches using runtime protection tools are more effective than reactive patching strategies

    Show More Show Less
    38 mins
  • #020 - Embedded DevOps with GitLabs Darwin Sanoy
    Nov 26 2025

    In this episode of the Embedded Frontier podcast, host Jacob interviews Darwin from GitLab's field CTO office about the adoption and implementation of DevOps practices in embedded systems development. They explore the unique challenges embedded developers face when modernizing their workflows, including managing complex codebases with hundreds of millions of lines of code, compliance requirements, and the critical differences between software-only products and embedded systems where software is just one component of the final product.

    Key Takeaways:

    • Embedded systems require different DevOps approaches than pure software products since shipping software doesn't mean shipping the final product
    • Modern vehicles contain 650 million lines of code in 2025, up from 200 million just five years ago, creating new complexity management challenges
    • Three categories of embedded systems each need different DevOps strategies: digital disruptors, stable machines, and functional safety systems
    • Containerized builds and shared development environments eliminate "works on my machine" problems and create reproducible, auditable builds
    • Software supply chain security through Solza attestation provides traceability from source code to final artifacts
    • Compliance as code can automate many regulatory requirements like ISO 26262 and MISRA C++, reducing manual bottlenecks
    • AI integration at the platform level helps embedded developers onboard to DevOps without becoming DevOps experts
    • Continuous delivery (creating release-ready firmware) is more appropriate for embedded than continuous deployment to production
    • Automated testing and QA are crucial to prevent manual processes from becoming the limiting factor in development speed
    • Over-the-air updates in embedded systems require managed deployments with higher reliability than cloud container replacements

    Show More Show Less
    25 mins
  • #019 – Modernizing Embedded Systems: Step #3 – Adopt DevOps
    Nov 18 2025
    This podcast episode explores step three of modernizing embedded software development: adopting DevOps practices to solve the critical problem of late and over-budget project delivery in embedded systems. Host Jacob Beningo discusses the four core DevOps principles, presents a compelling case study of the Ariane 5 rocket failure that cost $500 million, and provides practical guidance for implementing CI/CD pipelines to improve software quality and delivery speed.

    Key Takeaways:

    • Only 35% of embedded development teams deliver projects on time, with most running 3-6 months late
    • DevOps focuses on incremental value delivery, improved collaboration, automation, and continuous improvement
    • The Ariane 5 rocket explosion ($500 million loss) could have been prevented with proper integration testing and CI/CD practices
    • Start DevOps implementation with automated builds using containers to create unified development environments
    • Enforce code quality and standards automatically within CI/CD pipelines using tools like Misra C/C++
    • Implement regression testing to catch bugs early when they're easier and less costly to fix
    • Use metrics analysis to automatically identify tight coupling and potential bug locations in code
    • Artifact management ensures traceability and ability to deliver specific software versions to customers
    • Deployment automation should at minimum enable automatic hardware testing, even if not direct customer deployment
    • DevOps creates a value feedback loop between companies and customers through observability and telemetry
    Show More Show Less
    30 mins
  • #018 - Zephyr RTOS with Brendon Slade
    Oct 17 2025
    NXP's Brendan Slade discusses why major semiconductor companies are investing heavily in Zephyr RTOS, exploring how this open-source real-time operating system is transforming embedded development for IoT and edge computing applications. The conversation covers NXP's role as a founding platinum member of the Zephyr project, practical advice for developers evaluating RTOS options, and the collaborative ecosystem driving innovation in microcontroller software development.

    Key Takeaways:

    • Zephyr provides integrated middleware beyond just a kernel, unlike traditional RTOS options like FreeRTOS
    • NXP was a founding platinum member of Zephyr project to drive strategic direction for microcontroller enablement
    • Device tree configuration is the biggest learning curve hurdle, but once mastered, enables easy hardware portability
    • The Zephyr project has ~50 members including major OEMs from automotive, industrial, and consumer sectors
    • All code contributions require pull requests, tests, and peer review - no single company can force changes
    • Power management infrastructure is built into Zephyr drivers, enabling faster development of low-power applications
    • Training resources are available from multiple partners, and NXP offers Visual Studio Code extensions for easier development
    • The MCX N947 Freedom board (~$30) provides an excellent platform for exploring Zephyr capabilities
    • Future focus areas include AI enablement, cybersecurity compliance, and higher-level application frameworks
    • Companies should invest in device tree training first, then start with evaluation boards to assess portability benefits
    Show More Show Less
    34 mins
  • #017 - Modernizing Embedded Systems: Step #2 - Modernize Your Software Architecture
    Oct 2 2025

    Summary

    In this episode of the Embedded Frontier Podcast, Jacob Beningo dives into modernizing embedded software architecture—the second step in his seven-step framework for building faster, smarter firmware. He explores why most legacy architectures turn into “giant balls of mud,” how tightly coupling software to hardware holds teams back, and the four architectural dimensions you must consider: characteristics, principles, decisions, and structure.

    Jacob also shares controversial yet practical perspectives, including his philosophy that “there is no hardware, only data,” and why data—not hardware—should dictate design. From architectural decision records (ADRs) to adopting a top-down approach with the 4C model, this episode provides actionable insights for designing scalable, maintainable, and future-ready embedded systems.


    Takeaways

    • Avoid spaghetti code: Emergent architectures rarely scale; intentional design upfront is critical.
    • Define architecture characteristics: Select 3–7 key qualities (e.g., modularity, scalability, robustness) to guide decisions.
    • Establish design principles: Adopt philosophies like “data dictates design” and “there is no hardware, only data.”
    • Capture architectural decisions: Use ADRs to record trade-offs and prevent wasted rework.
    • Think top-down: Use the 4C model (Context → Containers → Components → Classes) instead of bottom-up hardware-first design.
    • Abstract hardware: Decouple hardware details from application logic for scalability and reusability.
    • Prepare for change: Modern IoT and ML-driven systems demand flexible, forward-looking architectures.


    Keywords

    embedded systems, software architecture, modularity, scalability, ADR, design principles, data dictates design, hardware abstraction, IoT, DevOps, test-driven development, modern firmware, top-down design, containers, 4C model

    Show More Show Less
    33 mins
  • #016 - Modern Build Systems with Kyle Dando
    Jun 4 2025

    In this episode of the Embedded Frontier podcast, Jacob Beningo and Kyle Dando from NXP discuss the modernization of embedded software and firmware, focusing on the MCU Xpresso SDK. They explore the significant changes made to the SDK, including the adoption of CMake and KConfig, the introduction of West for managing software repositories, and the overall impact on developer workflows. The conversation also covers the migration path for existing users and future trends in embedded software development, emphasizing the importance of user feedback in shaping the SDK's evolution.

    Takeaways

    - Modern build systems are essential for embedded software development.
    - The MCU Xpresso SDK packages low-level drivers and middleware for ease of use.
    - Accessibility improvements were a primary focus in SDK modernization.
    - CMake was adopted for its universal build capabilities and customer demand.
    - West allows for efficient management of software from multiple repositories.
    - KConfig simplifies project configuration and dependency management.
    - Developers can choose between command line and IDE workflows.
    - Migration to the new SDK is designed to minimize disruption for users.
    - Future trends include support for new operating systems and ecosystems.
    - User feedback is vital for continuous improvement of the SDK.

    Show More Show Less
    40 mins