The Agile Embedded Podcast

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.

  1. 1 DAY AGO

    AI-enhanced Embedded Development (May 2025 Edition)

    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 code itself—version controlling them, refining them iteratively, and building project-specific prompt libraries. He discusses the economics of LLM-based development (approximately one cent per line of code), the dramatic tightening of feedback loops from days to minutes, and how this fundamentally changes agile workflows for embedded teams. The episode concludes with a discussion about the evolving role of embedded developers—from code writers to AI supervisors and eventually to product owners with deep technical skills. Luca and Jeff address concerns about maintaining core software engineering competencies while embracing these powerful new tools, emphasizing that understanding the craft remains essential even as the tools evolve. Key Topics[02:15] LLM-only hackathon constraints: No human-written code in version control[04:30] Context management as the critical skill for effective LLM-assisted development[08:45] Explicit context control: Files, directories, API documentation, and web content integration[11:20] LLM hallucinations: When AI invents file contents and generates diffs against phantom code[13:00] Economics of AI-assisted coding: Approximately $0.01 per line of code[15:30] Tightening feedback loops: From day-long iterations to minutes in agile embedded workflows[17:45] Rapid technical debt accumulation: How LLMs can create problems faster than humans notice[19:30] The essential role of comprehensive testing in AI-assisted development workflows[22:00] Challenges with TDD and LLMs: Getting AI to take small steps and wait for feedback[26:15] Treating prompts like code: Version control, libraries, and project-specific prompt management[29:40] External context management: Coding style guides, plan files, and todo.txt workflows[32:00] LLM attention patterns: Beginning and end of context receive more focus than middle content[34:30] The evolving developer role: From coder to prompt engineer to AI supervisor to technical product owner[38:00] Code wireframing: Rapid prototyping for embedded systems using AI-generated implementations[40:15] Maintaining software engineering skills in the age of AI: The importance of manual practice[43:00] Software engineering vs. software carpentry: Architecture and goals over syntax and implementationNotable Quotes"One of the hardest things to get an LLM to do is nothing. Sometimes I just want to brainstorm with it and say, let's look at the code base, let's figure out how we're going to tackle this next piece of functionality. And then it says, 'Yeah, I think we should do it like this. You know what? I'm going to do it right now.' And it's so terrible. Stop. You didn't even wait for me to weigh in." — Luca Ingianni "LLMs making everything faster also means they can create technical debt at a spectacular rate. And it gets a little worse because if you're not paying close attention and if you're not disciplined, then it kind of passes you by at first. It generates code and the code kind of looks fine. And you say, yeah, let's keep going. And then you notice that actually it's quite terrible." — Luca Ingianni "I would not trust myself to review an LLM's code and be able to spot all of the little subtleties that it gets wrong. But if I at least have tests that express my goals and maybe also my worries in terms of robustness, then I can feel a lot safer to iterate very quickly within those guardrails." — Luca Ingianni "Roughly speaking, the way I was using the tool, I was spending about a cent per line. Which is about two orders of magnitude below what a human programmer roughly costs. It really is a fraction. So that's nice because it makes certain things approachable. It changes certain build versus buy decisions." — Luca Ingianni "You can tighten your feedback loops to an absurd degree. Maybe before, if you had a really tight feedback loop between a product owner and a developer, it was maybe a day long. And now it can be minutes or quarters of an hour. It is so much faster. And that's not just a quantitative step. It's also a qualitative step." — Luca Ingianni "Some of my best performing prompts came from a place of desperation where one of my prompts is literally 'wait wait wait you didn't do what we agreed you would do you did not read the files carefully.' And I'd like to use this prompt now, even before it did something wrong. And then it apologizes as the first step. And I feel terrible because I hurt the LLM's feelings. But it is very effective." — Luca Ingianni "As you tighten your feedback loops, quality must be maintained through code review and tests. Test first, new feature, review, passing tests—you need to go through that red-green-refactor loop. You can just hopefully do it much more quickly, and maybe in slightly bigger steps than you did before manually." — Jeff Gable "A lot of what I'm doing is really intended to rein in an LLM's propensity to sort of ramble. It's very hard to get them to practice TDD because you can ask them to write the test first, then they will. And then they will just trample on and write the implementation right with it without stopping and returning control back to you." — Luca Ingianni "Those prompts tend to be to some degree specific to the particular code base or the particular problem domain. Every now and then you stumble across ways of making an LLM do exactly what you want it to do within the context of the particular code base. And once you find a nugget like this, you keep it. You don't just keep it in the generic library. Some of those tricks will be very specific to a particular code base." — Luca Ingianni "Just like humans, LLMs tend to pay more attention to the stuff at the beginning of the context and at the end, and the middle sort of gets not quite forgotten but kind of fuzzy. You really need to have a way to extract all of that before it becomes fuzzy and store it in a safe place where it can't be damaged, like a file." — Luca Ingianni "I think we will hit this weird valley in the coming five years where everyone's just using LLMs and no one knows how to write code anymore. And there will be a need for people who can leverage the tools, but still have the skills that serve as the solid foundation." — Jeff Gable "Maybe this is essentially software engineering finally becoming true to its name. At the moment, software engineering is sort of more like software carpentry. You're really doing the craft. You're laboring to put the curly brackets at the right places. And maybe now it's more about taking a step back and thinking in terms of architecture, and thinking in terms of goals, as opposed to knowing how to swing a hammer." — Luca Ingianni Resources MentionedEmbedded Online Conference - Premier online conference for embedded systems professionals featuring talks on AI integration, development practices, and cutting-edge embedded technologies. All sessions are recorded and available for on-demand viewing.Aider - AI pair programming tool mentioned for its ability to integrate web content into context using commands like '/web [URL]' to incorporate API documentation and other online resources directly into the development workflow.GitHub Copilot - AI-powered code completion tool integrated with VS Code and other IDEs, enabling context-aware code generation and assistance for embedded development workflows. 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/

    28 min
  2. 5 DAYS AGO

    Zephyr with Luka Mustafa

    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 covers Zephyr's comprehensive testing framework (Twister), CI/CD integration capabilities, and the cultural shift required when moving from traditional bare-metal development to this modern RTOS approach. We explore real-world applications from low-power IoT devices consuming just 5 microamps to complex multi-core systems, while addressing the learning curve challenges and when Zephyr might not be the right choice. This episode is essential listening for embedded teams considering modernizing their development practices and leveraging community-driven software ecosystems. Key Topics[03:15] Zephyr RTOS fundamentals and Linux Foundation ecosystem benefits[08:30] Hardware abstraction and device tree implementation for portable embedded code[12:45] Nordic Semiconductor strategic partnership and silicon vendor support landscape[18:20] Native POSIX development capabilities and cross-platform debugging strategies[25:10] Learning curve challenges: EE vs CS background adaptation to Zephyr development[32:40] Resource requirements and low-power implementation on constrained microcontrollers[38:15] Multi-vendor chip support: STMicroelectronics, NXP, and industry adoption trends[42:30] Safety-critical applications and ongoing certification processes[45:50] Organizational transformation strategies and cultural adaptation challenges[52:20] Zbus inter-process communication and modular development architecture[58:45] Twister testing framework and comprehensive CI/CD pipeline integration[65:30] Sample-driven development methodology and long-lived characterization tests[72:15] Production testing automation and shell interface utilization[78:40] Model-based development integration and requirements traceability[82:10] When not to use Zephyr: Arduino simplicity vs RTOS complexity trade-offsNotable Quotes"With Zephyr, porting a Bluetooth project from one chip architecture to another took an hour for an intern, compared to what would traditionally be months of effort." — Luka Mustafa "How many times have you written a logging subsystem? If the answer is more than zero, then it shouldn't be the case. Someone needs to write it once, and every three years someone needs to rewrite it with a better idea." — Luka Mustafa "The real benefit comes from doing things the Zephyr way in Zephyr, because then you are adopting all of the best practices of developing the code, using all of the subsystems to the maximum extent." — Luka Mustafa "You want to make sure your team is spending time on things that make money for you, not on writing logging, for example." — Luka Mustafa Zephyr Project - Linux Foundation-backed RTOS project providing comprehensive embedded development ecosystemTwister Testing Framework - Zephyr's built-in testing framework for unit tests, hardware-in-the-loop, and CI/CD integrationZbus Inter-Process Communication - Advanced event bus system for modular embedded development and component decouplingiirnas - Open-source examples of Zephyr best practices and CI/CD pipeline implementationsCarles Cufi's Talk - Detailed presentation on Nordic's strategic decision to support Zephyr RTOS 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/

    46 min
  3. 21 OCT

    Crossover with Mob Mentailty Part 2

    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 infrastructureNotable Quotes"When you initially hear about mobbing, you think everybody's inactive, but there's a lot of excess thought capacity around programming that can happen - somebody can be thinking about refactorings while others are typing the solution." — Chris Lucian "If you're all there, that whole feedback loop can happen in 15 minutes as opposed to 15 days. It's like technical debt - you pay now or pay later, and if you pay later, it's going to be more expensive." — Austin Chadwick "We tend to have multiple releases a day all the way to production. Most mobs will deliver to production at least twice a day - four hours of work and then deliver to prod." — Chris Lucian Resources MentionedMob Mentality Show - Podcast dedicated to mob programming practices and extreme programming techniquesKent Beck's Test-Driven Development Book - Foundational resource for understanding true TDD practices in embedded developmentAmy Edmondson's Teaming Book - Framework for understanding high uncertainty and high interdependence scenarios in technical teamsLiminal Thinking - Mental framework for breaking through belief-based barriers in agile transformation 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/

    47 min
  4. 16 OCT

    Crossover with Mob Mentality part 1

    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 teamsNotable Quotes"If you can run unit tests on your host and run your embedded code in a simulator on your PC, that's a pretty good indicator that you've successfully decoupled it from the hardware." — Jeff Gable "You need to understand that documentation is actually part of your product. It's not separate from your product made of curly brackets - it's one and the same thing." — Luca Ingianni "Typing is not the bottleneck. It's the problem solving. This is a method of problem solving together faster." — Chris Lucian "If you get the whole system in the room and in the same mob, things just start cranking. You're not waiting for anything because everyone you need is there." — Austin Chadwick Find the Mob Mentality Show at https://mobmentalityshow.podbean.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/

    48 min
  5. 8 JUL

    Violet Su on hardware manufacturing

    From Prototype to Product: Navigating Hardware Manufacturing with Violet SuIn 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 of AI in hardware development and how emerging connectivity technologies are shaping the future of embedded systems. Key Topics[01:30] Introduction to Seed Studio and its focus on open source hardware and AI[03:15] Changes in hardware development landscape over the past decade[06:45] Common challenges for hardware startups and innovators[12:30] The importance of early feedback and iterative development[16:20] Success story: OpenUC2 microscopy project collaboration[23:40] Indicators of a successful hardware project[28:15] Insights from Embedded World 2024 conference[33:10] Future trends in hardware beyond AINotable Quotes"You might be able to design one and it really works when you have a sample or 10 samples, but when we talk about products, there are a lot of nuances that we really need to think about." — Violet Su "You can fail faster so that you can succeed faster. We couldn't make a perfect project and we shouldn't expect to make a perfect product." — Violet Su "When they give you the complaints early on, you will be very thankful, and they know you listened as well." — Violet Su "The projects that might take off either really solve the pain of some people, or get people excited because it's something new." — Violet Su "There's nothing better than getting customer complaints early on, so you don't get them later on." — Luca Ingianni Resources MentionedSeed Studio - Company providing open source hardware and AI solutionsOpenUC2 - Open source modular microscopy project mentioned as a success storyConnect With UsReach out to Violet Su at violet@seed.cc to discuss potential hardware collaborations with Seed StudioVisit seedstudio.com to explore their range of AI hardware and customization servicesConnect with Violet Su on LinkedIn for updates on hardware manufacturing trends 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/

    44 min
  6. 25 JUN

    AI-augmented software development

    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. However, they raise interesting questions about the future job market for junior developers. Their take? Modern developers should absolutely embrace AI tools, but use them thoughtfully - especially when learning. Key Timestamps and Topics: 00:00:00 - Welcome and episode overview 00:00:43 - Why this topic won't age well (but that's okay!) 00:02:20 - Breaking down different AI coding tools 00:08:00 - Deep dive into aider and workflow integration 00:20:02 - Using AI for testing and test-driven development 00:27:00 - AI-assisted architecture work and its limitations 00:30:40 - How AI helps explore unfamiliar codebases 00:33:30 - Debugging with AI - pros and cons 00:38:50 - What this means for development jobs 00:43:59 - Using AI to learn new frameworks/languages 00:46:15 - Embedded Online Conference preview 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/

    46 min
  7. 24 APR · BONUS

    BONUS: Listener Question on Repository Organization

    ## 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 repositories from the different users, from the different developers." — Luca Ingianni   > "The risk of course is that you will not spot divergence early enough because people just don't merge because it's a chore and because things might break, and of course that is the point - the earlier you notice that something breaks, the easier it will be to fix it." — Luca Ingianni   > "I'm willing to guarantee that you're going to get the architecture wrong at least on the first try. You think you're being really smart and you cut it up into a bunch of microservices or micro-repositories, and you're just going to get the boundaries wrong." — Luca Ingianni   > "I would opt for fewer repositories and rather do configuration management within the repositories as opposed to between repositories. Use feature flags, use tagging, use whatever you want to insulate changes that might be breaking from the rest of the code base." — Luca Ingianni   ## Resources Mentioned   * John Taylor's Embedded Project Cookbook - A resource mentioned by the listener that discusses sequential events in embedded projects * Trunk-Based Development - Development methodology discussed throughout the episode * Minimum CD Podcast - Previous podcast episode referenced by the listener     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/

    16 min
  8. 23 APR

    MinimumCD

    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 sophisticated and connected. A key theme throughout the episode is the importance of building trust in the development process through automation, consistent practices, and cultural commitment. The hosts stress that while some practices may seem difficult to implement in embedded systems, the more challenging they are, the more valuable they become when successfully implemented. Timestamps and Topics: 00:00:00 - Introduction and overview of Minimum CD 00:02:00 - Discussion of Minimum CD as counter-movement to complex frameworks 00:03:45 - Continuous Integration fundamentals 00:15:35 - Pipeline as the only way to deploy 00:27:00 - Production-like test environments 00:29:45 - Rollback capabilities for connected devices 00:32:25 - Configuration deployment with artifacts 00:34:50 - Trunk-based development principles 00:39:30 - Automated testing requirements 00:41:10 - Maintaining delivered work integrity 00:45:55 - Wrap-up and closing thoughts Shownotes: Link to minimumcd.org: https://minimumcd.org/ Reference to Brian Finster as instigator of Minimum CD Reference to Raymond Chen's blog about Windows backward compatibility Reference to previous episode on trunk-based development Reference to interviews with Philip Johnston from Embedded Artistry Reference to interview with Francois from Mend Fault Link to Agile Embedded Slack group 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/

    47 min

About

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.

You Might Also Like