Inspiration
Aditya and I came up with CircuitCourt after dealing with bugs in our own physics and circuit projects that only appeared after a specific sequence of events. The circuit could look completely fine during normal testing, but still fail because of something that happened earlier.
What it does
CircuitCourt searches for the event histories that cause safety firmware to miss a real hazard. Once it finds a failure, it removes unnecessary events to create a smaller, easier-to-understand test. It can then replay that exact test on both the faulty and repaired firmware to confirm that the fix actually works.
How we built it
We created a simulated safety circuit and wrote the controller and testing system in C++. We then used Python to run experiments, organize the results, validate the evidence, and generate reports from the tests.
Challenges we ran into
The hardest part was finding failures that depended on several events happening in the right order. We also spent a lot of time making sure the system was accurately identifying real failures instead of blaming the firmware for situations where it did not have enough sensor information to react.
Accomplishments that we’re proud of
CircuitCourt found a five-event failure and automatically reduced it to four events. We then ran the same four-event history on the repaired controller, and it passed. After a lot of rebuilding and testing, that was the point where the project finally started to feel real.
What we learned
We learned that many firmware bugs cannot be found by testing one input at a time. The order of maintenance changes, sensor readings, resets, and timing can completely change how a circuit behaves.
What’s next for CircuitCourt
We want to expand CircuitCourt so it can test more controllers, circuit designs, safety rules, and sensor failures. Our goal is to turn it into an accessible tool that students, researchers, and engineers can use to find difficult firmware bugs before they cause problems in a real system.
Log in or sign up for Devpost to join the conversation.