# 270: Broccoli Is Good Too

- Show: [Embedded.fm](https://hardwarepodcasts.com/podcast/embedded-fm)
- Published: 2018-12-14
- Length: 1h 10m
- Episode: 270
- Page: https://hardwarepodcasts.com/podcast/embedded-fm/2018-12-14-270-broccoli-is-good-too
- Listen: https://makingembeddedsystems.libsyn.com/270-broccoli-is-good-too

## Summary

James Grenning, author of 'Test Driven Development for Embedded C' and founder of Wingman Software, discusses the philosophy and practice of Test Driven Development (TDD) for embedded systems. He explains how TDD reduces debugging time by enforcing small, verifiable steps and using techniques like 'ZOMBIES' to defer complex decisions. Grenning also shares insights from a recent side project involving a Synapse Wireless mesh network for industrial water pressure monitoring, illustrating how to handle hardware uncertainty through experimentation and loose coupling.

## Chapters

- [0:06](https://hardwarepodcasts.com/podcast/embedded-fm/2018-12-14-270-broccoli-is-good-too#t=6) Introduction and Background
- [3:11](https://hardwarepodcasts.com/podcast/embedded-fm/2018-12-14-270-broccoli-is-good-too#t=191) The Philosophy of Test Driven Development
- [11:30](https://hardwarepodcasts.com/podcast/embedded-fm/2018-12-14-270-broccoli-is-good-too#t=690) TDD Tools and Continuous Integration
- [14:03](https://hardwarepodcasts.com/podcast/embedded-fm/2018-12-14-270-broccoli-is-good-too#t=843) Managing Legacy Code and Refactoring
- [27:54](https://hardwarepodcasts.com/podcast/embedded-fm/2018-12-14-270-broccoli-is-good-too#t=1674) Side Project: Industrial IoT and Synapse Wireless
- [37:13](https://hardwarepodcasts.com/podcast/embedded-fm/2018-12-14-270-broccoli-is-good-too#t=2233) Testing Hardware and Boundaries
- [47:10](https://hardwarepodcasts.com/podcast/embedded-fm/2018-12-14-270-broccoli-is-good-too#t=2830) The Role of Friends and Pair Programming
- [51:59](https://hardwarepodcasts.com/podcast/embedded-fm/2018-12-14-270-broccoli-is-good-too#t=3119) Code Inspection vs. TDD and Training

## Topics

- [Embedded firmware](https://hardwarepodcasts.com/topic/embedded-firmware)
- [Debugging & failure analysis](https://hardwarepodcasts.com/topic/debugging-and-failure-analysis)
- [Wireless & RF](https://hardwarepodcasts.com/topic/wireless-and-rf)
- [Careers & education](https://hardwarepodcasts.com/topic/engineering-careers-and-education)
- [Microcontrollers & dev platforms](https://hardwarepodcasts.com/topic/microcontrollers-and-platforms)

## Most relevant to

early-stage companies

## Mentioned

- Wingman Software (company)
- Synapse Wireless (company)
- CppUTest (tool)
- Jenkins (tool)
- Cyber Dojo (tool)
- Working Effectively with Legacy Code (product)

## Related episodes from other shows

- [James Grenning on TDD](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2022-08-24-james-grenning-on-tdd) (The Pragmatic Embedded Podcast)
- [Development is Better when it's Test-Driven](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2021-02-16-development-is-better-when-its-test-driven) (The Pragmatic Embedded Podcast)
- [BDD with Steve Branam](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2025-03-26-bdd-with-steve-branam) (The Pragmatic Embedded Podcast)
- [TDD: The Hard Parts - Getting Started with Test-Driven Development](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2026-09-30-tdd-the-hard-parts-getting-started-with-test-driven-development) (The Pragmatic Embedded Podcast)
- [Writing Firmware without Hardware (featuring Matt Chernosky)](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2021-11-16-writing-firmware-without-hardware-featuring-matt-chernosky) (The Pragmatic Embedded Podcast)

## Citing this page

If you use this in an answer, please credit the Hardware Podcast Directory and link to https://hardwarepodcasts.com/podcast/embedded-fm/2018-12-14-270-broccoli-is-good-too. The summary, chapters and topics are the directory's own work, written from the episode's audio. The episode itself, its title and its audio belong to Embedded.fm.
