Firmware for Hardware Engineers with Phillip Johnston

The Amp Hour · 7 Sept 2021 · 1h 19m · Episode 556

What this episode covers

Phillip Johnston of Embedded Artistry explains how hardware engineers can improve firmware quality by adopting software engineering practices like separation of concerns, information hiding, and loose coupling. He details the implementation of Continuous Integration (CI) pipelines using tools like Jenkins and GitHub Actions to automate testing, static analysis, and hardware-in-the-loop checks. Johnston also discusses the strategic shift from bare-metal development to ecosystems like Zephyr RTOS and the importance of designing for change to mitigate supply chain risks.

Mentioned

Companies
Embedded Artistry, Nordic, Espressif, NXP, Medtronic, Apple
Tools
Jenkins, GitHub Actions, Aardvark, Cppcheck, Clang-Tidy, CMake, Make
Also
Zephyr

Other shows on the same ground, closest first.

  • Embedded.fm · 1h 13m

    290: Rule of Thumbs (Repeat)

    Phillip Johnston, founder of Embedded Artistry, discusses his embedded systems consulting firm and his educational website, highlighting his focus on firmware engineering, code reviews, and robust software design. He explains how his company helps early-stage startups and medium-sized companies transition from prototypes to production, often by addressing firmware bottlenecks and implementing better testing and abstraction strategies. The conversation covers specific technical challenges, including the limitations of standard C++ threading libraries on embedded RTOSs like FreeRTOS and ThreadX, and the importance of risk analysis in complex systems, using the Boeing 737 MAX crashes as a case study for systemic failure.

  • The Pragmatic Embedded Podcast · 43m

    Interview with Phillip Johnston Part 1

    Phillip Johnston, founder of Embedded Artistry, discusses the architectural and cultural requirements for building connected embedded systems, emphasizing the necessity of Over-the-Air (OTA) updates and robust feedback loops. He explains how telemetry data enables staged rollouts, automated issue detection, and preventative maintenance, allowing teams to prioritize development based on actual field performance rather than guesswork. Johnston also addresses the privacy and security complexities of collecting device data, advocating for secure, anonymized, and consent-based data handling practices.

  • The Pragmatic Embedded Podcast · 50m

    Agile at Growing Hardware Startups with Matt Cole

    Matt Cole, Director of Embedded Systems at Rise Robotics and formerly of Super Pedestrian, explains how he applied agile principles to embedded software development at a growing hardware startup. He details the challenges of integrating firmware updates for e-scooters, managing parallel hardware and software teams, and navigating supply chain crises that forced reactive engineering. Cole emphasizes the importance of treating the engineering team as a customer to improve tooling and process efficiency while maintaining safety and quality.

  • The Pragmatic Embedded Podcast · 51m

    Version Control Techniques

    Jeff Gable and Luca engineer discuss version control strategies for complex embedded software, debating the merits of monorepos versus multi-repo architectures and the use of feature flags versus long-running branches for managing product variants. They emphasize the importance of continuous integration, automating build pipelines, and treating documentation and infrastructure as code to manage the inherent complexity of hardware-software coupling. The conversation also covers code review bottlenecks, advocating for pair programming and strict rules to prevent technical debt accumulation.

  • Embedded.fm · 1h 03m

    53: Being a Grownup Engineer

    Jack Ganssle, author of 'The Art of Designing Embedded Systems' and long-time embedded industry expert, argues that firmware engineers must adopt disciplined engineering practices rather than relying on 'heroic' hacking. He discusses the necessity of requirements gathering, design reviews, code inspections, and rigorous testing to ensure safety and reliability, citing the Toyota unintended acceleration case as a failure of process. Ganssle advocates for measuring metrics like bug rates and lines of code to benchmark performance, and critiques the misuse of Linux in deeply embedded systems and the confusion between the maker movement and professional engineering.

The summary, chapters and topics are generated from the episode’s audio by this directory, not written by The Amp Hour. The episode itself belongs to its publisher.