Skip to content

Latest commit

 

History

History
46 lines (32 loc) · 3.11 KB

hardware.md

File metadata and controls

46 lines (32 loc) · 3.11 KB

Hardware

Parts (per dartboard)

Reading the dart hits

The hardware is based on a generic Chinese no-name dartboard which (like many of them) is based on a 8x8 button matrix to register dart hits (much like a keyboard). Using the MCP23017 16-bit I/O Expander, the ESP32 can use I²C to scan the matrix and register dart hits. The connectors of this matrix looks like this: FPC Connectors of the dartbord

Note about image above

These two cabels are called FPC-cables. These two FPC-cables connect the 8x8 button matrix (through FPC-connectors) to the MCP23017.

Note

Using the MCP23017, we are able to scan the dartboard every 7 milliseconds. This means that if a dart activates a dartboard-button for less than 7 milliseconds, which was sometimes the case in our testing, there's a possibility that the dart hit will not be registered.

The MCP23017 does support faster I2C frequencies than we are using, but this is only supported when powering the MCP23017 with 5 volts, which would require level converters between the ESP32 & the MCP23017 to keep I2C working.

Possible fixes are to use the SPI-version of the MCP23017, the MCP23S17, or to find a different chip for driving the matrix altogether.

Because the original electronic dartboard matrix is made as one giant flexible printed circuit (FPC) and used a custom connector to connect to the original PCB, we decided to salvage the original FPC connectors and use them to connect the I/O expander to the dartboard matrix as well.

A simplified diagram of the matrix scanning using the I/O expander:

Simplified schematic of I/O Expander use

A more detailed overview of the circuit we used for our electronical components:

Used circuit for the electronical components

Final hardware

Although we have made a digital schematic of the electronics of this project and we could have ordered a PCB, due to time constraints we ended up (poorly) soldering all of this together on a 5 * 7cm double-sided perfboard, using some Ø1.1mm wire to connect the chips & connectors together.

We then placed the assembly inside the casing of the dartboard, where the original PCB used to be situated. By careful measuring we made sur e that the placement of the FPC connectors should be

Perfboard front & back

Front and back of perfboard

  • Red: LILYGO TTGO T-Display ESP32 module
  • Blue: MCP23017 16-Bit I/O Expander
  • Green: Original dartboard Flexible Printed Circuit connectors