Skip to Main Content
Workshop Intermediate The MIT License

Mastering Firmware Testing with Renode: From Unit Testing to CI/CD with Code Coverage

Proposal status is Rejected
Session Description

Embedded firmware development often relies heavily on hardware availability, manual debugging, and validation as final stage. As firmware complexity increases, these workflows become difficult to scale and maintain. Engineering practices such as unit testing, code coverage analysis, simulation, and CI/CD can significantly improve firmware quality and speed of development, yet they are still underutilized in many embedded workflows. Open-Source simulation platforms such as Renode enable these modern Engineering Practices in the Development Life Cycle.

This hands-on workshop demonstrates how Renode can be used to build firmware testing pipelines without physical hardware. Using STM32-based examples and project driven labs, participants will learn how to validate firmware logic, measure test coverage, and automate testing workflows in the CI/CD pipelines.

The workshop will cover:

  • Writing testable Embedded C firmware

  • Unit testing using Unity Throw Switch Framework

  • Code coverage analysis using gcov/lcov

  • Simulation of entire Embedded System using Renode

  • UART based logging of test results

  • CI/CD integration using GitHub Actions

The session is intended for Engineers interested in understanding Simulation, Unit-testing in Embedded Systems and methods to improve firmware reliability through automation workflows:

  • Embedded Engineers and Firmware developers

  • Students

  • Open-Source enthusiasts,

  • Embedded DevOps Engineers

Required Lab Setup:

  • All code and labs can be executed in browser. Need to have Github account and should understand how to use Github Codespaces.

  • Important: Internet is required to run the Labs in Github Codespaces.

Key Takeaways

After attending this workshop, participants will be able to:

  • Write unit testable Embedded C firmware.

  • Understand available unit testing frameworks for Embedded systems.

  • Build and execute unit tests using Unity Throw the Switch Framework.

  • Measure test coverage using gcov/lcov coverage reports.

  • Simulate an Embedded System in Renode.

  • Run firmware validation workflows without physical hardware using Renode.

  • Automate embedded test execution through GitHub Actions CI pipelines

  • Apply the concepts of Simulation and CI automation practices in Real projects to improve firmware quality and scalability.

References

Session Categories

Tutorial about using a FOSS project
Engineering practice - productivity, debugging
Other
Embedded Dev-Ops
CI/CD Automation for Embedded Systems
Simulation in Embedded Systems Development
Talk License: The MIT License

Which track are you applying for?

Main track

Speakers

Bharath G
Bharath G Staff Firmware Engineer | Dexcom
  • Spent 10+ years in Firmware Engineering and 5+ years in Technical Training, mentoring, and Project-based course development.

  • Works on safety-critical products across Medical, Aerospace and IoT domains and strategically drives adoption of modern engineering practices.

  • Skilled in | Embedded C/C++ | RTOS | Bluetooth Low Energy | Embedded Linux | Embedded Dev-Ops | ARM Cortex | IEC-62304 | DO-178 |

  • Actively contributes to Open-Source through Community Education, Tech-talks and Hands-on workshops.

  • Can provide |Technical Training | Career Guidance | Project Guidance | Workshop Sessions |