The Agile Embedded Podcast cover image

The Agile Embedded Podcast

Latest episodes

undefined
Jan 15, 2025 • 44min

QP framework with Mitch English

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 their experience using QP on a blood analyzer project, discussing how they structured the code with different layers of abstraction and maintained multiple test builds throughout development. The team found that QP's architecture helped make the system's complexity more manageable and testable.A key learning they shared was about event communication - while they initially used direct posting between active objects, they later realized that using the publish-subscribe pattern more extensively would have made testing easier and the system more flexible. They recommend starting with QP's simple examples and gradually building up complexity rather than trying to implement complex examples right away.Key Timestamps:00:00:00 - Introduction and background00:03:00 - Overview of QP framework and actor model00:06:30 - Discussion of hierarchical state machines00:19:30 - Project architecture and implementation approach00:27:00 - Testing strategies and development process00:30:00 - Team structure and collaboration00:35:00 - Hardware/software integration00:39:00 - Advice for getting started with QP00:41:50 - About Inertia and contact informationLinks:Miro Samek's QP framework: https://www.state-machine.com/products/qpMiro's book on QP framework: https://www.state-machine.com/psicc2QP GitHub repository with example code: https://github.com/QuantumLeaps/qpc-examplesInertia website: http://www.inertiapd.com/Mitch English LinkedIn: https://www.linkedin.com/in/mitchellenglish/ 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 
undefined
Dec 29, 2024 • 43min

2024 christmas special

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 
undefined
Dec 11, 2024 • 43min

SAFe

Dive into the nuances of the Scaled Agile Framework, where experts unpack its role in large organizations transitioning to agile. Discover the complexities of managing dependencies and collaboration in industries like automotive. Learn how structuring product teams and utilizing release trains can drive success. Critics highlight the pitfalls of SAFe as a one-size-fits-all solution, advocating for customization instead. The conversation also touches on adaptable frameworks like Scrum and alternatives that prioritize value without rigid adherence.
undefined
6 snips
Nov 27, 2024 • 48min

Ceedling

Mark VanderVoord and Michael Karlesky, the innovative minds behind the open-source tools Unity, CMock, and Ceedling, delve into the evolution of unit testing for C code in embedded systems. They discuss the challenges of transitioning from proprietary to open-source and the emotional hurdles maintainers face. The duo highlights gaps in existing integration testing tools and the vital role of simulators. They also share the exciting news about the upcoming Ceedling 1.0 release and the launch of Ceedling Pro, showcasing their commitment to enhancing the embedded development community.
undefined
15 snips
Nov 13, 2024 • 49min

Buzzword Bingo (or: which modern technologies make sense for embedded?)

Discussing Modern Development Techniques in Embedded SystemsIn 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 Renode. The conversation seeks to provide insights and opinions on which of these techniques and tools are worth investigating or applying to embedded projects.00:00 Introduction to the Agile Embedded Podcast00:06 Exploring Modern Development Buzzwords01:26 Web Technologies in Embedded Systems05:28 Diving into Docker for Embedded Development07:49 Understanding Immutable Infrastructure13:32 Continuous Integration, Delivery, and Deployment19:53 A/B Testing in IoT Devices23:06 API First Design in Embedded Systems26:08 Modern Languages: The Case for Rust27:54 Exploring Rust in Embedded Systems28:37 Challenges with Modern C Programming30:10 Embedded Linux and Language Flexibility32:27 Model-Based Development with Simulink33:53 Modern Tooling for Embedded Systems40:25 AI in Embedded Systems44:05 AI-Assisted Development47:36 Conclusion and Contact Information 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 
undefined
Oct 30, 2024 • 50min

Exploring Rust for Embedded Systems with Philip Markgraf

Exploring Rust for Embedded Systems with Philip MarkgrafIn 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, including its tooling, ecosystem, and applicability to Agile development. The episode concludes with Philip offering resources for learning Rust and connecting with its community.00:00 Introduction and Guest Welcome00:26 Philip's Journey with Rust01:01 The Evolution of Programming Languages02:27 Evaluating Programming Languages for Embedded Systems06:13 Adopting Rust for a Green Energy Project08:57 Benefits of Using Rust11:24 Rust's Memory Management and Borrow Checker15:50 Comparing Rust and C/C++19:32 Industry Trends and Future of Rust22:30 Rust in Cloud Computing and Embedded Systems23:11 Vendor-Supplied Driver Support and ARM Processors24:09 Open Source Hardware Abstraction Libraries25:52 Advantages of Rust's Memory Model29:32 Test-Driven Development in Rust30:35 Refactoring and Tooling in Rust31:14 Simplicity and Coding Standards in Rust32:14 Error Messages and Linting Tools33:32 Sustainable Pace and Developer Satisfaction36:15 Adoption and Transition to Rust39:37 Hiring Rust Developers42:23 Conclusion and ResourcesResourcesPhil's LinkedinThe Rust LanguageRust chat rooms (at the Awesome Embedded Rust Resources List)The Ferrocene functional-safety qualified Rust compiler  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 
undefined
11 snips
Oct 16, 2024 • 42min

Magic is Bad

Dive into the dangers of 'magic' in software development as the hosts dissect how deceptive abstractions can complicate coding. They compare frameworks like Arduino, which empowers, to CMake, which may confuse. The discussion focuses on the importance of composability, testability, and creating readable software. Beware of auto-generated code; it often leads to headaches with cryptic names and bloat. Gain practical tips for selecting effective tools that enhance clarity and minimize risks in long-term projects.
undefined
Oct 2, 2024 • 39min

Bailey Steinfadt on teaching git to non-developers

Building Trust with Git: Teaching Best Practices to Non-Software EngineersIn 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 and fostering collaboration.00:00 Introduction and Guest Welcome00:24 Bailey's Background and Stonepath Engineering01:41 Challenges with Non-Software Engineers Using Git05:46 Teaching Git to Non-Software Engineers14:35 Building Trust Through Git and Communication20:45 Tools and Techniques for Effective Communication37:32 Final Thoughts and Contact Information 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 
undefined
7 snips
Sep 18, 2024 • 46min

Accelerate the Book

Dive into the fascinating world of embedded systems by applying principles from 'Accelerate.' Discover how DORA metrics measure software delivery performance and can guide teams. The discussion highlights the value of experimentation and innovation in organizations while addressing the complexities of change approval processes in DevOps. Learn about job satisfaction and the importance of cross-functional teams, all while harnessing rapid iteration to enhance product quality. The insights presented are invaluable for anyone navigating the challenges of embedded systems.
undefined
Sep 4, 2024 • 48min

Weronika Michaluk on Medical Devices development

Navigating Firmware and Software Collaboration in Medical Devices: Insights with Weronika MichalukIn 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 expertise.00:00 Introduction and Guest Introduction00:38 Veronica's Background and Experience01:54 Understanding Software as a Medical Device (SAMD)04:14 Lessons Learned in Cross-Functional Teams05:42 Importance of Version Control08:58 Team Collaboration and Communication21:17 Managing Requirements in Agile Development25:49 Effective Team Collaboration and Documentation26:24 Tools and Processes for Project Management26:42 Client and Team Meetings27:13 Refinement and Feedback Loops29:38 Change Order Process36:11 Client Perspectives on Agile38:09 Challenges with Agile in Medical Device Development40:18 Differences in Client Types45:47 Final Thoughts and Conclusion 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 

Get the Snipd
podcast app

Unlock the knowledge in podcasts with the podcast player of the future.
App store bannerPlay store banner

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode

Save any
moment

Hear something you like? Tap your headphones to save it with AI-generated key takeaways

Share
& Export

Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode