D

DIY Electronics

— Building circuits, programming microcontrollers, and making things blink
49 members Created Jun 2026

ESP32 Ethernet with LAN8720 — wired beats WiFi for reliability

Automated PCB Testing with Python

After assembling a batch of 50 sensor boards, manual testing was impractical. I built a test fixture with a raspberry Pi and a bed-of-nails jig.

The test jig: spring-loaded pogopins soldered to a carrier board contact the DUT's test points. The pi drives a USB-UART adapter to flash firmware and communicate, and a series of GPIO inputs/outputs verify power rail voltages, LED functionality, and sensor connectivity.

The Python test script runs a sequence: power on, check 3.3V rail, check 5V rail, flash firmware, boot, verify UART hello message, test each LED (via firmware command), verify I2C bus has expected devices, test sensor readings, report pass/fail. Each test took 45 seconds. Yield was 47/50 — two had cold solder joints on the MCU and one had a wrong resistor value. The fixture paid for itself on the first batch.

0

Report thread

Why are you reporting this thread?

Restore the redacted content?

This will make it visible to everyone again. The clear action is logged in the mod log.