How do you test your flight computer firmware before launch?
Hi everyone, I was just curious as to how people in this community test that their flight computer firmware is working correctly before launching?
Hi everyone, I was just curious as to how people in this community test that their flight computer firmware is working correctly before launching?
Hi everyone, I'm a 3rd year EEE student who's been building avionics for a high power rocket (ESP32-based, ADXL375/MS5607/ICM-45686 sensors, custom Kalman filter for apogee detection). One thing that's bugged me recently is that the only real way to test my firmware's apogee detection and pyro logic was to actually launch and hope it worked or download simulated data from OpenRocket.
So I built a small tool that runs your actual firmware on your laptop against a simulated flight (using RocketPy for the physics), feeding it realistic noisy sensor data the same way real hardware would. At the end it tells you whether your firmware detected apogee and fired your pyro channels at the right time, compared to ground truth.
=== TEST REPORT ===
Apogee detection: PASS
True apogee: 2937.0m at T+18.78s
Detected apogee: 2935.4m at T+18.27s
Time error: 0.51s
It's early, currently supports single-channel apogee + pyro testing, sensor noise modeled on real datasheets (MS5607, ADXL375, ICM-45686). No hardware needed, your firmware just needs to read sensors through a small abstraction layer instead of talking to registers directly.
Repo's here if anyone wants to poke at it or try it on their own firmware: https://github.com/JustinPronk/AvionicsSimulation
Genuinely just looking for feedback at this point. Does this solve a problem for anyone else, or is there something obvious I'm missing? Happy to help anyone wire it up to their own flight compute
Hi everyone, I'm a 3rd year EEE student who's been building avionics for a high power rocket (ESP32-based, ADXL375/MS5607/ICM-45686 sensors, custom Kalman filter for apogee detection). One thing that's bugged me recently is that the only real way to test my firmware's apogee detection and pyro logic was to actually launch and hope it worked or download simulated data from OpenRocket.
So I built a small tool that runs your actual firmware on your laptop against a simulated flight (using RocketPy for the physics), feeding it realistic noisy sensor data the same way real hardware would. At the end it tells you whether your firmware detected apogee and fired your pyro channels at the right time, compared to ground truth.
=== TEST REPORT ===
Apogee detection: PASS
True apogee: 2937.0m at T+18.78s
Detected apogee: 2935.4m at T+18.27s
Time error: 0.51s
It's early, currently supports single-channel apogee + pyro testing, sensor noise modeled on real datasheets (MS5607, ADXL375, ICM-45686). No hardware needed, your firmware just needs to read sensors through a small abstraction layer instead of talking to registers directly.
Repo's here if anyone wants to poke at it or try it on their own firmware: https://github.com/JustinPronk/AvionicsSimulation
Genuinely just looking for feedback at this point. Does this solve a problem for anyone else, or is there something obvious I'm missing? Happy to help anyone wire it up to their own flight compute