/harness_tester_challenge

We designed a simple harness testing PCB and wrote some firmware for it. Can you figure out everything wrong with it?

Primary LanguageC++MIT LicenseMIT

Harness Tester Challenge

We (mock) designed a simple harness testing PCB and wrote some firmware for it. Unfortunately, this board was designed and firmware was written on a Monday morning.

Can you figure out everything wrong with it?

PCB

The Harness Tester

We currently sell hundreds of car-specific harnesses to users every month, consisting of close to 40 different types.

As a simple wiring harness, we expect them to have a near-zero failure rate. For this, making sure that the harness wiring matches the designed diagram for each unit we send out is vital. This tester is designed to be capable of quickly verifying which pins are connected to which other pins.

A quick list of design goals is listed here:

  • 12V DC input with transient and reverse polarity protection
  • compatible with harnesses with up to 40 pins (through a pin header)
  • start button and RGB LED are the user interface
  • microSD card to store test results along with the current time (for statistical purposes)
  • receive time by acquiring a GPS lock (ok, yes, this is just to make the board and firmware more interesting)

The challenge

The challenge consists of 3 distinct parts, each riddled with a few bugs:

The web views are made possible thanks to KiCanvas!

The board is designed in KiCad 8, a free and open source EDA tool. The full project is available in an exported archive.

There are a handful of intentional, show-stopping bugs hidden in each part (we're not looking for potential points of improvement). Find them, and send them over to us for verification!