ProtoPCB Saves Boards From the Scrapheap by Scanning Them for Reuse in New Projects
Feed the tool your new schematic and it can automatically look through a waste bin of old PCBs to find a board you can reuse.
Researchers from the University of Chicago's Human Computer Integration Lab have developed a Python-based tool to help tackle the growing problem of electronic waste — by analyzing discarded circuit boards to see if they can be reused for other projects.
"We propose an interactive tool that enables reusing printed circuit boards (PCB) as prototyping materials to implement new circuits," the team explains of the project, dubbed ProtoPCB. "This extends the utility of PCBs rather than discards them as e-waste. We utilized our tool across a diverse set of PCBs and input circuits to characterize how often circuits could be implemented on a different board, implemented with minor interventions (trace-cutting or bodge-wiring), or implemented on a combination of multiple boards — demonstrating how our tool assists with exhaustive matching tasks that a user would not likely perform manually.
"We believe our tool offers: (1) a new approach to prototyping with electronics beyond the limitations of breadboards and (2) a new approach to reducing e-waste during electronics prototyping."
The problem of electronic waste continues to grow, and while some — including Arduino, with its PLA-flax "bio-board" experiments — look to address the problem by improving the waste itself others seek to prevent the materials from ever becoming waste. ProtoPCB is one of the latter projects: the idea is that PCBs from discarded electronics can be diverted from being sent to landfill and instead analyzed to see if they can be applied to a new project with a minimum of effort.
Building atop open-source projects, in particular the KiCad electronic design automation (EDA) package and the OpenCV computer vision framework, ProtoPCB accepts the users' project schematic as an input then scans through images of the available "waste" boards to find one that matches as closely as possible — advising where particular components can be fitted and where existing circuit traces would need to be cut or rerouted with a "bodge wire" in order to make the modification to the new task.
"As expected," the researchers admit of their findings, "no circuit fits perfectly in another circuit — this is understandable in that these served very distinct purposes, were created using different sizes (a bigger board can match more circuits by virtue of its size alone), components, and so forth. First, ProtoPCB was able to find five PCBs (∼14% of the cases) that realized the entire circuit with interventions.
"As expected, these full matches with interventions were cases where a lower complexity circuit (e.g., a breakout board for the LM4040 or a breakout board for the VEML6070) was matched against the most complex ones (e.g., the Arduino UNO). Next, ProtoPCB was able to realize the majority of circuits (∼72%) at >80%-99% of matching. Finally, a smaller fraction of the circuits (∼28%), were matched at 50%-80% of completeness."
The team's work has been published in the Proceedings of the 2025 CHI Conference on Human Factors in Computing Systems (CHI'25); the project source code is available on GitHub under the reciprocal GNU General Public License 3. "We would love to have you build off our work," the researchers write. "Please reach out if we can be helpful in that."