Skip to content

crkalapat/fuse

Repository files navigation

Fuse

Learn about circuits with ease

2nd Place Winner @ HackMIT Blueprint 2025 Hackathon

Featured on MIT Admissions Blog

By Charlie Kalapati (@crkalapat) and Heng Ye (@HengYeDev)

(Note: We originally planned to host the code on GitLab, but then realized that we had to use GitHub, which is why there is a late initial commit. We also used PyCharm instead of Git version control to primarily collaborate, due to small group size.)

The code here is currently showing myself as the author for all the code. This is not the case (as mentioned in the line above, since we ran into version control issues, and my teammate has yet to commit his files to this repo). I committed them here with credit to @HengYeDev in the commits that correspond with his work primarily.

Output of Fuse

Inspiration

Normally, whenever you make a mistake with coding, there is no harm done. The software can re-run most of the time, and it will have a very minor maximum cost to re-run. However, with hardware, mistakes can be expensive. Mistakes can blow out components, and they can also cause the price of a project to go up. To address this problem, we created Fuse (based off the electrical component that saves circuits from melting). Fuse's goal is to serve as a helper for hardware projects, in order to prevent mistakes and give the user a better time overall.

What it does

Fuse is a web application that uses different machine learning models to help the user with their circuits. We use a custom machine learning model that we trained to identify components on a breadboard, and then we feed that image to GPT-4o to provide textual analysis of the circuit to the user. Once the analysis is complete, the user can download the results of it for their own personal reference.

How we built it

For the frontend, we used template code online as a foundation. From there, we tweaked it to best suit our needs, adding our own HTML, JS, CSS, multiple pages, and integration with our backend. For the backend, we used Flask, YOLOv8, OpenAI, JQuery, and Ajax.

Challenges we ran into

For the backend, machine learning models appear easy to train, but it's hard to get them working on real-world data. We tried to train an ML model to identify LEDs, but we couldn't get a good enough dataset for the model to work well. Additionally, we had to train the resistor ML model more than once in order for it to function well.

Accomplishments that we're proud of

We are proud of the fact that we trained our own ML model for this hackathon that is capable of robustly identifying resistors on a breadboard. Additionally, we are also proud of the UI and UX that we achieved on the webpage, and the integration that we did between many different code libaries (eg. OpenAI, our own ML model, Ajax, etc.)

What we learned

Each member of the team learned something new and unique as a result of this hackathon. Charlie made his first multi-page web application with Fuse, and learned how to make a high-quality website front-end that has a good UI and UX. Heng learned how to train an ML model, and how to incorporate it along with all the other backend elements.

What's next for our project

Fuse's goal is to help users learn about circuits that they built, and component identification is essential to this. If we had more time, we would train and create more ML models for other commonly used circuit components (like capacitors and LEDs), and the extra time would also allow us to optimize model performance and identification confidence values.

Dependencies

pip install -U ultralytics Pillow

About

An AI Powered Circuit Analyzer with custom YOLO model and GPT integration.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors