
Adafruit Circuit Playground
humancomputerintegration/ProtoPCB
ProtoPCB Code and Evaluation Files

ProtoPCB Code and Evaluation Files
Cantactpro is an open-source printed circuit board by humancomputerintegration, from the humancomputerintegration/ProtoPCB repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 112.5 × 85.5 mm with 99 parts on 130 nets, routed with 854 tracks and 57 vias.
It is built around the LPC54616J512BD100E, MCP25612FD-E/SL and NCV7356D1, with the ROE-0505S, 74LVC1G3157 and NUP2125WT among its other parts. Its parts include 34 capacitors, 15 resistors, 12 ICs, 6 diodes and 4 connectors. It belongs with the NXP (LPC, Kinetis, i.MX RT) boards of this library.

This repository contains our tests, evaluation files, and software tool (ProtoPCB) presented in the paper "ProtoPCB: Reclaiming Printed Circuit Board E-waste as Prototyping Material", which will appear at CHI2025. This tool was built by Jasmine Lu (@xjasminelu), Sai Rishitha Boddu (@rishiboddu) with project assistance from Pedro Lopes at the University of Chicago's Human Computer Integration Lab.
ProtoPCB is a python-based tool that builds off of KiCad command line tools, Tkinter, OpenCV, CairoSVG, and pcb-tools. It is designed to support analyzing PCB Boards to identify ways they can be reused to implement new circuits. It does so by taking an input schematic and using computer vision to scan boards for their solder pads, conducting traces, and vias in order to map out the relevant connections of the board. Using this mapping, it analyzes all the methods that can be used to implement a circuit (positions to place a component, wires to add, traces to cut, etc.).
PCB Board representation
Component representation
Net representation
Circuit representation
Component matching
Net matching
Circuit matching
GUI
Camera Image to ProtoPCB Input
Test Suite
Code is organized in the code directory. This includes ProtoPCB's base code (scripts, GUI, test suite). You can use this to run technical evaluations (via scripts in tests.py).
All files and data for the Technical Evaluation (PCB boards) can be found in the [Evaluation Files](./Evaluation Files) directory
To use ProtoPCB, you must have installed KiCad and Python3 on your machine. The system was built primarily with Mac OS. It has not been tested yet on Windows so some elements may not port over well. If you're interested in collaborating on a Windows version, please reach out!
Detailed instructions can be found on the page INSTALL.md
As this tool was born out of a research project, it is a prototype. However, we'd love to hear about any bugs you might encounter during use of our tool. We encourage you to submit any issues that arise and we'll do our best to get around to them. Please note that there is only one (very busy) PhD student who will be able to provide support, so please extend us grace with any issues you encounter!
(adapted from Clipy)
git checkout -b my-new-feature)git commit -am 'Add some feature')git push origin my-new-feature)ProtoPCB is released under the GNU GPL V3. We would love to have you build off our work! Please reach out if we can be helpful in that.
When using or building upon this work in an academic publication, please consider citing as follows:
Jasmine Lu, Sai Rishitha Boddu, and Pedro Lopes. 2025. ProtoPCB: Reclaiming Printed Circuit Board E-waste as Prototyping Material. In Proceedings of the CHI Conference on Human Factors in Computing Systems 2025 (CHI’2025). Association for Computing Machinery, New York, NY, USA. https://doi.org/10.1145/3586183.3606745
For questions or if something is wrong with this repository, contact jasminelu@uchicago.edu
| Qty | Value | Footprint | References |
|---|---|---|---|
| 16 | TEST | Measurement_Points:Measurement_Point_Round-TH_Small | TP1, TP2, TP3, TP4, TP5, TP6, TP7, TP8, TP9, TP10, TP11, TP12, TP13, TP14, TP15, TP16 |
| 14 | 0.1u | Capacitors_SMD:C_0603 | C4, C7, C8, C9, C11, C14, C16, C18, C20, C22, C24, C26, C28, C32 |
| 9 | 0.01u | Capacitors_SMD:C_0603 | C13, C15, C17, C19, C21, C23, C25, C27, C29 |
| 7 | 100 | Resistors_SMD:R_0603 | R1, R2, R3, R4, R5, R6, R7 |
| 4 | Light Pipe | cantactpro:SLP3-150-zzz-x | LP1, LP2, LP3, LP4 |
| 4 | MOUNT_HOLE | Mounting_Holes:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 3 | 10k | Resistors_SMD:R_0603 | R8, R14, R15 |
| 3 | 4.7u | Capacitors_SMD:C_0805 | C1, C2, C33 |
| 2 | 100p | Capacitors_SMD:C_0603 | C10, C12 |
| 2 | 10u | Capacitors_SMD:C_0805 | C3, C34 |
| 2 | 2.7k | Resistors_SMD:R_0603 | R9, R10 |
| 2 | 33p | Capacitors_SMD:C_0603 | C30, C31 |
| 2 | 470 pF/5 kV | Capacitors_SMD:C_1812 | C5, C6 |
| 2 | 74LVC1G3157 | TO_SOT_Packages_SMD:SOT-363_SC-70-6 | U6, U11 |
| 2 | DB9 | cantactpro:LD09P | J2, J3 |
| 2 | LED_GRN | LEDs:LED_0603 | D1, D3 |
| 2 | LED_RED | LEDs:LED_0603 | D2, D4 |
| 2 | NUP2125 | TO_SOT_Packages_SMD:SC-70 | U9, U10 |
| 1 | 0 | Resistors_SMD:R_0603 | R12 |
| 1 | 12 MHz | cantactpro:CSM-3X | Y1 |
| 1 | 12.4k | Resistors_SMD:R_0603 | R13 |
| 1 | 1k | Resistors_SMD:R_0603 | R11 |
| 1 | 4.7u | Inductors_SMD:L_0805 | L1 |
| 1 | 47u | Inductors_SMD:L_1206 | L2 |
| 1 | AP2114H-3.3 | TO_SOT_Packages_SMD:SOT-223 | U2 |
| 1 | Boot Switch | cantactpro:TE_1825027-5 | JP1 |
| 1 | D | Diodes_SMD:D_SMA | D6 |
| 1 | ESD9X5 | cantactpro:SOD-923 | D5 |
| 1 | LPC54616J512BD100 | Housings_QFP:LQFP-100_14x14mm_Pitch0.5mm | U12 |
| 1 | LTV-846 | cantactpro:SMD-16 | U5 |
| 1 | MCP25612FD | Housings_SOIC:SOIC-14_3.9x8.7mm_Pitch1.27mm | U8 |
| 1 | NCV7356D1 | Housings_SOIC:SOIC-8_3.9x4.9mm_Pitch1.27mm | U7 |
| 1 | ROE-0505S | cantactpro:ROE-0505S | U3 |
| 1 | SWD | Pin_Headers:Pin_Header_Straight_2x05_Pitch1.27mm | J4 |
| 1 | Si864x | Housings_SOIC:SOIC-16_3.9x9.9mm_Pitch1.27mm | U4 |
| 1 | TPD2E2U06 | TO_SOT_Packages_SMD:SOT-553 | U1 |
| 1 | USB_B | Connectors:USB_B | J1 |
It measures 112.5 × 85.5 mm and has 2 copper layers, 1.6 mm thick.
99 parts, built around the LPC54616J512BD100E, MCP25612FD-E/SL, NCV7356D1 and ROE-0505S. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the humancomputerintegration/ProtoPCB repository on GitHub, at the commit this page was made from: the board is Evaluation Files/Cantact/cantactpro.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

humancomputerintegration/ProtoPCB
ProtoPCB Code and Evaluation Files


humancomputerintegration/ProtoPCB
ProtoPCB Code and Evaluation Files

humancomputerintegration/ProtoPCB
ProtoPCB Code and Evaluation Files







Elektropac/MCS_Control
All the firmware for Control module


mikelawrence/WiFi-Gate-Controller
WiFi enabled Gate Controller Addon to US Automatic Gate Opener