The Agile Embedded Podcast

40 Episodes
Subscribe

By: Luca Ingianni, Jeff Gable

Learn how to get your embedded device to market faster AND with higher quality. Join Luca Ingianni and Jeff Gable as they discuss how agile methodologies apply to embedded systems development, with a particular focus on safety-critical industries such as medical devices.

✂️ Clip this podcast
From Vision to Reality: Product Roadmaps in Embedded Development
#99
Yesterday at 10:00 PM

In the third installment of our requirements engineering series, Luca and Jeff shift focus from requirements themselves to the bigger picture: how do you actually turn ideas into working products? We explore the journey from product vision through roadmaps to backlogs, discussing what makes a good roadmap and—perhaps more importantly—the surprisingly common mistakes that even experienced teams make.

We dig into practical challenges like the "progress by PowerPoint" trap (putting milestones like "specification complete" on your roadmap instead of actual value delivery), the dangers of over-committing to dates before you understand the problem space, and why...


Factory Firmware Flashing with Pete Staples
#98
06/09/2026

We talk with Pete Staples, founder of Blue Clover Devices, about the often-overlooked challenge of flashing firmware in production. Pete shares insights from running a contract manufacturing operation in Shenzhen and explains why the handoff from engineering to manufacturing is more like "hucking it over a fence" than a smooth relay race.

We explore the gap between engineers' assumptions about factory capabilities and the dusty reality of production floors. Pete discusses security challenges, the complexity of modern microcontroller programming, and how Blue Clover's Production Line Tool addresses the middle ground between expensive custom automation and ad-hoc bench...


Requirements Engineering, part 2: A Practical Process for Safety-Critical Development
#97
05/27/2026

Requirements Engineering Part 2: A Practical Process for Safety-Critical Development

In this second part of our requirements engineering series, Jeff walks us through his preferred process for developing safety-critical products, particularly medical devices. We explore the crucial distinction between prototyping and design-controlled development, discussing when to start formal requirements work and how to keep your first version minimal yet complete.

Jeff emphasizes the importance of deeply fleshing out requirements before implementation—including error handling, which often comprises 70% of a product. We discuss tracer bullets as a development strategy, the value of writing test cases alongside requirements, an...


Fuzzing and Dynamic Analysis for High-Integrity Software with Paul Butcher
#96
05/13/2026

Fuzzing and Dynamic Analysis for High-Integrity Software with Paul Butcher

We sit down with Paul Butcher, Unit Director of Dynamic Analysis at AdaCore, to explore verification techniques beyond basic compliance in safety-critical software. Paul shares his experience from Eurofighter to automated trains, explaining how dynamic analysis—from unit testing to coverage analysis to fuzzing—helps find bugs that traditional testing misses.

The conversation dives deep into fuzzing: how it works, why it's so effective at finding corner-case bugs (even in well-tested systems), and the challenges of applying it to embedded systems with timing constraints. Paul intr...


Linux Profiling with Mohammed Billoo
#95
04/30/2026

Linux Profiling with Mohammed Billoo

We sit down with Mohammed Billoo, founder of Mab Labs and author of the Embedded Linux Essentials Handbook, to explore the world of embedded Linux profiling and optimization. Mohammed shares hard-won lessons from the field, including debugging a scientific instrument that mysteriously crashed after 60-minute runs and optimizing a sophisticated MANET platform that took a 20% throughput hit.

The conversation reveals a fundamental truth: in embedded Linux, the CPU is rarely the bottleneck. Mohammed walks us through his systematic approach to performance problems, starting with simple tools like HTOP before diving...


E94 Requirements Engineering, part 1: Fundamentals
#94
04/15/2026

Requirements Engineering Fundamentals - Part 1

We kick off a multi-part series on requirements engineering by exploring what requirements actually are and why they matter - even for Agilists. Jeff shares his medical device expertise while Luca brings his automotive and aerospace background to discuss the different levels of requirements (from high-level user needs to testable system requirements), the importance of traceability, and why proper tooling beats Word and Excel every time.

We dig into practical aspects like the EARS format for writing requirements, the crucial distinction between requirements and design choices, and why glossaries aren't...


Hardware-Software Co-Development with Tobias Kästner
#93
04/01/2026

We talk with Tobias Kästner, a physicist-turned-software-architect and technical consultant at Inovex, about his journey from painfully slow hardware-software integration cycles to achieving three-week hardware sprints. Tobias shares hard-won lessons from medical device development, where fuzzy requirements and constant feedback from life scientists forced his team to rethink traditional approaches.

The conversation centers on practical techniques: breaking monolithic PCB designs into modular "feature boards" connected via shields (think Arduino-style), using Git for hardware version control with SHA-1s printed on silkscreens, and leveraging tools like Zephyr RTOS to enable plug-and-play firmware that matches the modularity of t...


Test-Driven Development in the Age of AI
#92
03/18/2026

We explore how test-driven development (TDD) remains essential—perhaps more than ever—when working with AI coding tools. Luca shares his evolved workflow using Claude Code, breaking down how he structures tests in three phases: test ideas, test outlines, and test implementations. We discuss why TDD provides the necessary control and confidence when AI generates code, how it prevents technical debt accumulation, and why tests serve as precise specifications for AI rather than afterthoughts.

The conversation covers practical challenges like AI's tendency toward "success theater" (overly generous assertions), the importance of maintaining tight control over code quality, and...


Engineering Organizations Part 2: Product Companies and Market-Driven Focus
#91
03/04/2026

In this second part of our series on engineering organizations, Jeff and Luca explore how companies that build products should focus their efforts differently depending on their stage and scope. We start with startups and early-stage companies desperately searching for product-market fit, where the brutal truth is: quality doesn't matter yet. Your MVP should embarrass you—if it doesn't, you waited too long. We discuss the critical mental shift from throwaway prototypes to proper engineering once validation arrives, and why technical founders often fail by solving the wrong problem brilliantly.

Moving up the ladder, we examine narrow-focus co...


Engineering Organizations Pt 1: Service Firms - When You Are the Product
#90
02/18/2026

In this first part of a two-part series, Jeff and Luca explore how different types of service-oriented engineering organizations should focus their learning and improvement efforts. Drawing from their consulting experience, they examine three distinct categories: product development firms that turn client ideas into reality, engineering development firms that sell specialized technical expertise, and solo engineers who package all necessary knowledge into one person.

The core insight: what you should focus on learning depends entirely on what you're actually selling. Product development firms need to master the entire client journey and product design process, not just engineering...


Rust with Milica Kostic
#89
01/19/2026

In this episode, we sit down with Milica Kostic, an embedded software architect from Belgrade, Serbia, to discuss her journey from C/C++ to Rust and what it means for embedded development. Milica shares her experience adopting Rust in production environments, starting with an embedded Linux project using a microservice architecture that allowed for clean isolation of Rust code.

We explore the practical realities of learning Rust as an experienced C/C++ developer - yes, there's a learning curve, and yes, the compiler will slap you on the wrist frequently. But Milica explains how the development experience...


MicroPython with Matt Trentini
#88
01/05/2026

We talk with Matt Trentini, Principal Software Engineer at Planet Innovation, about using MicroPython for professional embedded development—including medical devices. Matt shares how he was drawn back to embedded development after becoming jaded with traditional C-based workflows, and explains why MicroPython's interactive REPL and rapid development cycle have become game-changers for his team.

We explore the practical realities of using an interpreted language on microcontrollers: how Planet Innovation uses it for Class B medical devices, what the performance trade-offs actually look like, and how features like the Unix port enable robust testing. Matt walks us through de...


Terrible Habits of the Solo Developer
#87
12/16/2025

In this episode, Jeff and Luca tackle the unique challenges faced by solo embedded developers. Drawing from their own experiences as consultants, they explore why working alone makes it harder to maintain good development practices - from the constant pressure to multitask across different stakeholder demands, to the difficulty of wearing multiple hats as leader, manager, and contributor simultaneously.

The conversation moves through common pitfalls: skipping documentation because "it's all in my head," letting code reviews slide, making questionable architecture decisions without a sounding board, and neglecting tools like simulators under time pressure.

But this...


Agile Hardware Development with Gregor Gross
#86
12/03/2025

In this fascinating episode, we dive deep into the world of agile hardware development with Gregor Gross, a civil engineer who runs Alpha-board, a PCB design service company in Berlin, Germany. Gregor shares his unique perspective on applying agile principles to hardware projects, where you can't just hit compile and get a new increment.

We explore the practical challenges of agile hardware development, from structuring contracts differently to breaking complex PCBs into testable modules and shields. Gregor discusses the importance of mixed hardware-software teams, the role of automated documentation, and why his engineers resist pair programming despite...


Crossover with Embedded AI Podcast
#85
11/18/2025

In this special crossover episode with the brand-new Embedded AI Podcast, Luca and Jeff are joined by Ryan Torvik, Luca's co-host on the Embedded AI podcast, to explore the intersection of AI-powered development tools and agile embedded systems engineering. The hosts discuss practical strategies for using Large Language Models (LLMs) effectively in embedded development workflows, covering topics like context management, test-driven development with AI, and maintaining code quality standards in safety-critical systems.

 

The conversation addresses common anti-patterns that developers encounter when first adopting LLM-assisted coding, such as "vibe coding" yourself off a cliff by letting t...


AI-enhanced Embedded Development (May 2025 Edition)
#84
11/12/2025

In this episode, Jeff interviews Luca about his intensive experience presenting at five conferences in two and a half days, including the Embedded Online Conference and a German conference where he delivered a keynote on AI-enhanced software development. Luca shares practical insights from running an LLM-only hackathon where participants were prohibited from manually writing any code that entered version control—forcing them to rely entirely on AI tools.

The conversation explores technical challenges in AI-assisted embedded development, particularly the importance of context management when working with LLMs. Luca reveals that effective AI-assisted coding requires treating prompts like co...


Zephyr with Luka Mustafa
#83
11/09/2025

In this comprehensive episode, Luka Mustafa, founder and CEO of Irnas Product Development, provides an in-depth exploration of Zephyr RTOS and its transformative impact on embedded development. We dive deep into how Zephyr's Linux Foundation-backed ecosystem enables hardware-agnostic development, dramatically reducing the time spent on foundational code versus business-value features. Luka shares practical insights from five years of specializing in Zephyr development, demonstrating how projects can achieve remarkable portability - including running the same Bluetooth code on different chip architectures in just an hour, and even executing embedded applications natively on Linux for development purposes.

The discussion...


Crossover with Mob Mentailty Part 2
#82
10/21/2025

Key Topics

[05:30] Cross-disciplinary mobbing with firmware and hardware engineers in IoT development[12:45] Addressing efficiency objections: Local vs global optimization in embedded teams[18:20] DevOps collaboration patterns and reducing friction between software and infrastructure teams[25:10] Selling mob programming to management: Building trust through continuous delivery[35:40] Dynamic team composition and the law of personal mobility in technical teams[42:15] Coordinating mob teams with waterfall processes and hardware gate systems[48:30] Automated firmware protocol documentation and testing infrastructure

Notable Quotes

"When you initially hear about mobbing, you think everybody's inactive, but there's a lot of excess thought capacity around programming that...


Crossover with Mob Mentality part 1
#81
10/16/2025

Key Topics

[03:45] Hardware-software coupling challenges and decoupling strategies[08:20] Documentation overhead in safety-critical medical device development[12:15] Breaking down silos between electrical, mechanical, and software engineering teams[18:30] Hardware abstraction layers as database abstraction equivalents[22:10] Introduction to mob programming: all brilliant minds working together[28:45] Flow efficiency and eliminating handoffs in embedded product development[35:20] Optimal mob sizes and team organization strategies[42:15] Inverse Conway maneuver for architectural alignment[48:30] Getting started with mob programming in embedded teams

Notable Quotes

"If you can run unit tests on your host and run your embedded code in a simulator on your PC, that's a...


Violet Su on hardware manufacturing
#80
07/08/2025

From Prototype to Product: Navigating Hardware Manufacturing with Violet Su

In this episode of the Agile Embedded Podcast, Luca speaks with Violet Su, Business Development Manager at Seed Studio, about the challenges and opportunities in hardware manufacturing. 

The conversation explores the realities of hardware development, from initial prototyping to mass production. Violet emphasizes the importance of getting products into users' hands quickly to gather feedback, even if they're not perfect. She highlights common pitfalls for newcomers to hardware manufacturing, including underestimating costs, certification requirements, and supply chain complexities. The discussion also covers the growing influence o...


AI-augmented software development
#79
06/25/2025

Luca and Jeff dive into how AI tools can supercharge embedded development workflows. Luca shares his extensive hands-on experience, while Jeff brings a fresh perspective as someone just starting to incorporate these tools. They explore how AI can help with coding, testing, and debugging - while emphasizing that good software engineering judgment remains crucial. The conversation is particularly timely since AI tools are evolving rapidly, unlike their usually more "evergreen" podcast topics.

A key insight they discuss is that while AI tools offer amazing productivity boosts (much like IDEs did), they're not replacing experienced developers anytime soon...


BONUS: Listener Question on Repository Organization
04/24/2025

## Key Topics

 

* [00:30] Introduction to the listener's question about repository granularity in embedded development

* [01:15] The listener's approach: separate repositories for different work products in safety-critical industries

* [03:20] Luca's initial reaction and concerns about over-complication

* [05:45] Discussion of monorepo approaches and configuration management

* [08:10] The concept of micro-repositories and parallels to microservices

* [11:30] Using feature flags and CI pipelines instead of repository separation

 

## Notable Quotes

 

> "You're splitting something which ought to be joined together into different repositories and hiding whatever is happening within the...


MinimumCD
#78
04/23/2025

The episode discusses the concept of Minimum Viable Continuous Delivery (Minimum CD), which represents a counter-movement to heavyweight frameworks like SAFe. The hosts explore how Minimum CD provides a set of essential practices for successfully building software-based products without unnecessary complexity. The approach focuses on core principles rather than rigid frameworks, making it particularly relevant for embedded systems development.

The discussion covers the fundamental requirements for continuous delivery, including automated testing, pipeline-driven deployments, and trunk-based development. The hosts emphasize that while these practices may seem challenging for embedded systems, they become increasingly important as devices become more...


Offensive Cybersecurity with Ryan Torvik
#77
04/09/2025

Key Topics

* [03:00] Ryan's background in offensive cybersecurity and defense contracting

* [04:30] The mindset and challenges of vulnerability research and hacking

* [09:15] How security researchers approach attacking embedded devices

* [13:45] Techniques for extracting and analyzing firmware

* [19:30] Security considerations for embedded developers

* [24:00] The importance of designing security from the beginning

* [28:45] Security challenges for small companies without dedicated security staff

* [33:20] Address Space Layout Randomization (ASLR) and other security measures

* [37:00] Emulation technology for testing embedded systems

* [45:30] Tulip Tree's approach to embedded system emulation and security testing<...


BDD with Steve Branam
#76
03/26/2025

Key Topics

[02:30] Definition of BDD as an additional layer of discipline on top of TDD[03:15] Common pitfalls of TDD, including testing to implementation and brittle tests[08:30] The structure of BDD tests using Given-When-Then format[12:00] Applying BDD at different levels, from unit tests to system tests[15:45] Using test doubles and spies for hardware interactions in embedded systems[22:30] Testing state machines with BDD[27:00] Off-target testing and hardware abstraction layers[33:00] Why BDD isn't more widely used in embedded systems[36:30] Using code coverage as a signal rather than a goal metric[39:00] Overcoming the learning curve and maintaining discipline in BDD

Notable...


John Taylor on the Embedded Systems Cookbook
#75
03/05/2025

John Taylor returns to the podcast to discuss his new book "The Embedded Project Cookbook", co-authored with Wayne Taylor. The book serves as a practical guide for embedded systems development, providing recipes and techniques that John has refined over his 30+ year career. Unlike his previous book "Patterns in the Machine" which focused on software engineering best practices, this new book takes a more hands-on approach to project mechanics - from requirements gathering through release.

The book provides opinionated guidance on setting up project infrastructure, managing requirements, software architecture, and release processes. While organized in a waterfall-like structure...


Trunk-based development
#74
02/19/2025

In this episode, Jeff and Luca discuss trunk-based development, a software development practice where developers merge their work into the main branch (trunk) frequently - at least daily. They explain how this approach differs from traditional branching models like GitFlow, and address common objections and concerns. The hosts emphasize that while trunk-based development may seem risky, it actually reduces risk by exposing integration problems early and forcing teams to implement good engineering practices like automated testing and feature flags.

The discussion highlights how trunk-based development acts as a "forcing function" that encourages better development practices, smaller changes...


QP framework with Mitch English
#73
01/15/2025

The episode features a discussion with Mitch English, a product development team lead at Inertia, about using the QP (Quantum Platform) framework for embedded systems development. Mitch and Jeff recently collaborated on a medical device project where they successfully implemented QP. The framework, created by Miro Samek, implements the actor model with active objects running in their own threads and communicating via messages. This approach helps avoid common concurrency issues found in traditional RTOS implementations.

The discussion covers how QP's hierarchical state machine framework makes it easier to manage complex state transitions and system behaviors. They share...


2024 christmas special
12/29/2024

https://youtu.be/Zwo1aTElfis

You can find Jeff at https://jeffgable.com.
You can find Luca at https://luca.engineer.

Want to join the agile Embedded Slack? Click here

Are you looking for embedded-focused trainings? Head to https://agileembedded.academy/
Ryan Torvik and Luca have started the Embedded AI podcast, check it out at https://embeddedaipodcast.com/

 

 


SAFe
#72
12/11/2024

Bryan Finster's episode on Luca's DevOps podcast. part one: https://open.spotify.com/episode/26cnxrZEWhQRxY3jkwQTb8?si=Fj3VtirDRU-l2xQAomrWUw
Bryan Finster's episode on Luca's DevOps podcast. part two: https://open.spotify.com/episode/36U6glqDPuvkpPwrdD8Axv?si=8T9isqUHS6WBh1aQyZEXGA
Scaled Agile DevOps Maturity Framework (SADMF), a SAFe parody: https://scaledagiledevops.com/
Klaus Leopold's Flight Levels framework: https://www.flightlevels.io/

You can find Jeff at https://jeffgable.com.
You can find Luca at https://luca.engineer.

Want to join the agile Embedded Slack? Click here

...


Ceedling
#71
11/27/2024

In this episode of the Agile Embedded Podcast, we are joined by Mark VanderVoord and Michael Karlesky, creators of the open-source tools Unity, CMock, and Ceedling, which help developers unit test C code. Mark and Michael share their journey of creating these tools, their experiences as open-source maintainers, and insights into the evolving landscape of embedded systems testing.

The discussion covers the origins of their tools, the challenges of maintaining open-source projects, and the different needs of various embedded development communities. We also explore the gaps in current testing tools, particularly in system and integration testing for...


Buzzword Bingo (or: which modern technologies make sense for embedded?)
#70
11/13/2024

Discussing Modern Development Techniques in Embedded Systems

In this episode of the Agile Embedded Podcast, hosts Jeff Gable and Luca Ingianni play buzzword bingo, discussing various modern development techniques, tools, and methodologies in the context of embedded systems. They explore the relevance and applicability of terms like microservices, serverless, Kubernetes, Docker, continuous integration, continuous delivery, continuous deployment, A/B testing, API-first design, behavior-driven development, and modern languages such as Rust and C++. They also touch upon the use of AI in development and deployment processes, along with debugging, observability, monitoring, and simulation tools like Memfault, Mender, and...


Exploring Rust for Embedded Systems with Philip Markgraf
#69
10/30/2024

Exploring Rust for Embedded Systems with Philip Markgraf

In this episode of the Agile Embedded Podcast, hosts Jeff Gable and Luca Ingianni are joined by Philip Markgraf, an experienced software developer and technical leader, to discuss the use of Rust in embedded systems. Philip shares his background in C/C++ development, his journey with Rust, and the advantages he discovered while using it in a large development project. The conversation touches on memory safety, efficient resource management, the benefits of Rust's type system, and the supportive Rust community. They also explore the practical considerations for adopting Rust...


Magic is Bad
#68
10/16/2024

The Dangers of Magic in Software Abstractions

In this episode of the Agile Embedded Podcast, hosts Jeff Gable and Luca Ingianni discuss the pitfalls of relying on 'magic' in software development, particularly in tooling, build systems, and frameworks. They illuminate how seemingly helpful abstractions can become burdensome when they obscure necessary complexities or become hard to debug. Through various examples, including comparisons of Arduino and CMake, they explore what makes a good abstraction versus a bad one. The conversation also delves into the importance of composability, testability, and the real-world impact of overly simplistic or 'magical' solutions...


Bailey Steinfadt on teaching git to non-developers
#67
10/02/2024

Building Trust with Git: Teaching Best Practices to Non-Software Engineers

In this episode of the Agile Embedded Podcast, hosts Jeff Gable and Luca Ingianni are joined by Bailey Steinfadt, owner of Stonepath Engineering. Bailey discusses her experiences in teaching Git and other software tools to non-software engineers, particularly in small manufacturing companies. Topics include the importance of visibility and trust in code projects, the typical profiles of her clients, and strategies for effective communication and trust-building between technical and non-technical stakeholders. The episode also touches on useful tools like GitHub, Miro, and Draw.io for managing projects...


Accelerate the Book
#66
09/18/2024

Applying 'Accelerate' Principles to Embedded Systems | Agile Embedded Podcast

Welcome to the latest episode of the Agile Embedded Podcast with Jeff Gable and Luca Ingianni! In this episode, we address a listener's question about the book 'Accelerate' by Nicole Forsgren, Jez Humble, and Gene Kim. Jeff and Luca delve into how the principles from this book, which focuses on Lean Software and DevOps, can be applied to embedded systems development. They discuss the nuances of embedded systems, the relevance of DORA metrics, and share insights on how capabilities and processes from the book translate to the unique...


Weronika Michaluk on Medical Devices development
#65
09/04/2024

Navigating Firmware and Software Collaboration in Medical Devices: Insights with Weronika Michaluk

In this episode of the Agile Embedded Podcast, hosts Jeff Gable and Luca Ingianni are joined by Weronika Michaluk, Software as a Medical Device Practice Lead at HTD Health. Weronika shares her experiences and lessons learned from working with firmware teams, bridging cross-functional collaboration, and discussing the importance of version control, aligning technical aspects, and clear communication. The conversation delves into agile methodologies, customer interactions, and strategies for efficient requirement management in the medical device industry. Tune in to gain valuable insights from Weronika's extensive...


Luca's interviews and trip report from Embedded World 2024
#64
08/21/2024

Jeff and Luca talk about Luca's trip to Embedded World NĂĽrnberg, and his impressions there. Bonus content are two impromptu interviews with Luka Mustafa, CEO of IRNAS, and Francois Baldassari, CEO of Memfault You can find Jeff at https://jeffgable.com. You can find Luca at https://luca.engineer. Want to join the agile Embedded Slack? Click here Are you looking for embedded-focused trainings? Head to https://agileembedded.academy/ Ryan Torvik and Luca have started the Embedded AI podcast, check it out at https://embeddedaipodcast.com/


A word from the hosts: we've changed our podcast process for the better
08/07/2024

A brief message to address the fact that we had been unreliable over the last few months, but we've made some changes and will do better in the future. You can find Jeff at https://jeffgable.com. You can find Luca at https://luca.engineer. Want to join the agile Embedded Slack? Click here Are you looking for embedded-focused trainings? Head to https://agileembedded.academy/ Ryan Torvik and Luca have started the Embedded AI podcast, check it out at https://embeddedaipodcast.com/


Paul Barbu Gheorge on Geographically Distributed Tems
#63
08/07/2024

Paul's LinkedIn: https://www.linkedin.com/in/paul-gheorghe-barbu/
Paul's employer, Wenglor: https://www.wenglor.com/

You can find Jeff at https://jeffgable.com.
You can find Luca at https://luca.engineer.

Want to join the agile Embedded Slack? Click here

Are you looking for embedded-focused trainings? Head to https://agileembedded.academy/
Ryan Torvik and Luca have started the Embedded AI podcast, check it out at https://embeddedaipodcast.com/

 

Â