Analog Discovery 2 Automated Test Module
A custom hardware and software test system that automated diagnostics for reported-faulty Analog Discovery 2 units, reducing test time by 90% and eliminating the department's equipment backlog.
Overview
The MSOE Electrical, Computer, and Biomedical Engineering Department needed a faster and more consistent way to evaluate Analog Discovery 2 units that had been reported as faulty. Manual diagnosis required significant bench time, and the number of units waiting to be tested had grown into a backlog.
I developed an automated test module that combined a purpose-built PCB with Python and C++ software. The system standardized the test setup, guided technicians through execution, captured measurements, and organized the resulting data for failure analysis.
From prototype to test fixture
The project began as a prototype used to define the required connections, validate the test approach, and identify the hardware needed for repeatable diagnostics. That work was then consolidated into a dedicated four-layer PCB designed in KiCad.
The custom board provided a consistent electrical and mechanical interface between the test software and the device under test. Moving from loose prototype wiring to a manufactured PCB reduced setup variation and made the system practical for repeated use by department technicians.
Hardware bring-up and validation
I assembled and brought up the test hardware, then used oscilloscopes and logic analyzers to investigate hardware anomalies, validate signal integrity, and perform failure analysis. This process helped separate fixture issues from failures in the Analog Discovery 2 unit being tested and improved confidence in the automated results.
- Designed and reviewed the schematic and four-layer PCB in KiCad
- Validated the assembled board before integrating it with the automated software
- Used bench instruments to debug unexpected behavior and verify signal quality
- Refined the fixture for repeatable setup and day-to-day technician use
Automated test software
The host-side software used Python and C++ to execute the diagnostic workflow and collect test data. Automating the sequence reduced hands-on test time while ensuring that each unit was evaluated with the same procedure and acceptance criteria.
I also collaborated on a Python-based graphical interface that made the system approachable for technicians with different levels of test experience. The GUI provided controls for running tests, graphed the collected results, and exported data for deeper failure analysis and record keeping.
Documentation and handoff
A useful test system also had to be understandable without its developer standing nearby. I created operating guides that documented test setup, execution, and result interpretation so technicians of varying skill levels could use the fixture with minimal training.
- Physical setup and connection instructions
- Step-by-step test execution
- Guidance for interpreting results and identifying failures
- Data export procedures for follow-up analysis
Outcome
The finished module turned a slow, manual bench procedure into a repeatable diagnostic workflow. It combined PCB design, hardware bring-up, instrument-based debugging, host software, data visualization, and technician documentation into a tool that solved an immediate operational problem for the ECBE Department.