Secondary Video: https://youtu.be/FqKPGTY1dlQ
Inspiration
We've all taken circuits classes before, and we know how painful it can be to need help with a circuit and not be able to search efficiently. Similar to how Photomath revolutionized mathematics by allowing users to snap a picture of a problem and get a solution, we came up with the idea for PhotoCircuit with the goal of helping electronics students, hobbyists, and professionals by offering an easy-to-use tool to solve circuit problems. Many learners struggle with understanding circuits, wiring, and components—our goal was to provide an accessible platform to aid them in visualizing and solving these problems instantly.
What it does
PhotoCircuit is an app that allows users to take pictures of a circuit diagram. Once the image is captured, the app processes the picture and identifies components and connections within the circuit. Using advanced image recognition, the app then solves for various parameters such as voltage, current, and resistance using PySpice. The user is presented with a clean, annotated drawing with all unknown variables filled in.
How we built it
The app is built with React Native for cross-platform compatibility (iOS and Android). We integrated image recognition techniques and machine learning models, training on datasets for numbers and for circuit components.
Using image segmentation and analysis techniques such as adaptive thresholding, we had to identify numerical values and connect them to nearby components. The components were identified and then removed so we were able to determine the wires and nodes that were connected. Once we had nodes and labelled components, we were able to use their coordinates to determine connections, then use that to build a model that can be solved with PySpice. Finally, we matched up the answers to the correct locations on the circuit image, overlaying currents and voltages before passing the images back to the front end to be displayed to the user.
Challenges we ran into
One of the most significant challenges was accurately detecting and interpreting circuit components from photographs, especially when the quality of the image was not ideal or when components were too small or obscured. More advanced circuits with multiple layers or intricate connections were difficult to break down. We had to prioritize solving simpler circuits first to ensure accuracy . Integrating the multiple models, circuit analysis, and simulation code in the backend with the mobile frontend was particularly challenging.
Accomplishments that we're proud of
Despite the challenges, we successfully developed an algorithm that can identify and process a wide variety of circuit components, even from photographs with less-than-ideal clarity. The design of the app is simplistic yet clean, intuitive, and simple to use, making it accessible even for people who may not have experience with circuits. The app can actually analyze a simple circuit and provide accurate results, which we are particularly proud of.
What we learned
We learned how to run and test an app on a mobile phone. We also learned how different it is to take in a saved image input versus actually taking a picture (you never get the same results twice!)
Overall, we learned that sometimes we can be a little ambitious, but it helps to start with the basics and gradually add more features as time permits.
What's next for PhotoCircuit
In the future, we aim to add more advanced features to PhotoCircuit including:
Support for More Circuit Types: We want to expand the app to support more complex circuits, including AC circuits, transistors, and more intricate systems.
Simulation Mode: Along with solving circuits, we'd like to allow users to simulate the behavior of the circuit in real-time, showing how voltages and currents change as components are modified. We started this, but ultimately ran out of time. You can see a preview of what it could look like here: https://youtu.be/C5-C9XPQqBg
More Image Tolerance: Currently the app is very particular about how far apart components are, and quite often cannot parse the picture. With more time, we would like to train the models to allow for a wider range of inputs.
Ultimately, we aim to build PhotoCircuit into a comprehensive learning and troubleshooting tool for anyone interested in electronics.
Built With
- pyspice
- python
- react-native

Log in or sign up for Devpost to join the conversation.