---
active: false
created: 2025-05-03
tags:
  - eg
  - project
---

## Goal

Create an RPi puzzle breakout board that makes it easier to plug in different switches, RFID readers and I2C components. Must allow IRQ to be used on SPI interfaces.

![[Pasted image 20240618071431.png]]

Pin 1 on GPIO connector goes to Pin 1 on the breakout board.

[Protect digital inputs][1] externally to avoid blowing out RPi's
## J9

![Image.png](Attachments/Puzzle%20Breakout%20Board.assets/Image%20(3).png)
![[Ribbon_Cable_Orientation.png.png]]
## U1 Chip Output

We use a [CD4051B](https://www.ti.com/lit/ds/symlink/cd4051b.pdf) multiplexer chip to turn 3 GPIO lines (17, 27, 22) into 8 output control lines.  The chip's INH (disable pin) is permanently held low.  GPIO 20 provides the X input value (high or low depending the use case)

![Image.png](Attachments/Puzzle%20Breakout%20Board.assets/Image.png)

| Socket | Socket Pin | GPIO BCM | GPIO Pin | Action                        |
| ------ | ---------- | -------- | -------- | ----------------------------- |
| RST    | 3          | 20       | 38       | RST (0 = disable, 1 = enable) |
| A      | 11         | 17       | 11       | Refer to selector table below |
| B      | 10         | 27       | 13       | -"-                           |
| C      | 9          | 22       | 15       | -"-                           |

### Selector table for U1

RST pins are pulled low to disable the reader.  Use address pins A, B, C to target J1 thru J8 with RST on GPIO20 and pull it high to restart the reader.

| Reset | A (GPIO 17) | B (GPIO 27) | C (GPIO 22) |
| ----- | ----------- | ----------- | ----------- |
| J1    | 0           | 0           | 0           |
| J2    | 1           | 0           | 0           |
| J3    | 0           | 1           | 0           |
| J4    | 1           | 1           | 0           |
| J5    | 0           | 0           | 1           |
| J6    | 1           | 0           | 1           |
| J7    | 0           | 1           | 1           |
| J8    | 1           | 1           | 1           |

## J1 to J8

![Image.png](Attachments/Puzzle%20Breakout%20Board.assets/Image%20(2).png)

| Socket | Socket Pin | GPIO BCM | GPIO Pin | Action                                |
| ------ | ---------- | -------- | -------- | ------------------------------------- |
| Jn     | 1          | 8        | 24       | SDA/SPI0/CE0                          |
|        | 2          | 11       | 23       | SCK                                   |
|        | 3          | 10       | 19       | MOSI                                  |
|        | 4          | 9        | 21       | MISO                                  |
|        | 5          | 4        | 7        | IRQ                                   |
|        | 6          |          | 25       | Ground                                |
|        | 7          | 20       | 38       | RST (See U1 table above for selector) |
|        | 8          |          | 17       | 3V3                                   |

## J17 to J22

![Image.png](Attachments/Puzzle%20Breakout%20Board.assets/Image%20(6).png)

| Socket | Socket Pin | GPIO BCM | GPIO Pin | Action |
| ------ | ---------- | -------- | -------- | ------ |
| J22    | 1          |          | 9        | Ground |
|        | 2          | 25       | 22       | I/O    |
| J21    | 1          |          | 9        | Ground |
|        | 2          | 18       | 12       | I/O    |
| J20    | 1          |          | 9        | Ground |
|        | 2          | 23       | 16       | I/O    |
| J19    | 1          |          | 9        | Ground |
|        | 2          | 24       | 18       | I/O    |
| J18    | 1          |          | 9        | Ground |
|        | 2          | 12       | 32       | I/O    |
| J17    | 1          |          | 9        | Ground |
|        | 2          | 16       | 36       | I/O    |

## J10 to J15

![Image.png](Attachments/Puzzle%20Breakout%20Board.assets/Image%20(4).png)

| Socket | Socket Pin | GPIO BCM | GPIO Pin | Action |
| ------ | ---------- | -------- | -------- | ------ |
| J10    | 1          | 5        | 29       | I/O    |
|        | 2          |          | 39       | Ground |
|        | 3          |          | 1        | 3V3    |
| J11    | 1          | 6        | 31       | I/O    |
|        | 2          |          | 39       | Ground |
|        | 3          |          | 1        | 3V3    |
| J12    | 1          | 13       | 33       | I/O    |
|        | 2          |          | 39       | Ground |
|        | 3          |          | 1        | 3V3    |
| J13    | 1          | 19       | 35       | I/O    |
|        | 2          |          | 39       | Ground |
|        | 3          |          | 1        | 3V3    |
| J14    | 1          | 26       | 37       | I/O    |
|        | 2          |          | 39       | Ground |
|        | 3          |          | 1        | 3V3    |
| J15    | 1          | 21       | 40       | I/O    |
|        | 2          |          | 39       | Ground |
|        | 3          |          | 1        | 3V3    |

## J16

![Image.png](Attachments/Puzzle%20Breakout%20Board.assets/Image%20(5).png)

| Socket | Socket Pin | GPIO BCM | GPIO Pin | Action     |
| ------ | ---------- | -------- | -------- | ---------- |
| J16    | 1          |          | 9        | Ground     |
|        | 2          |          | 1        | 3V3        |
|        | 3          | 3        | 5        | SDL1 / I2C |
|        | 4          | 2        | 3        | SDA1 / I2C |

## References 

[1]: https://www.digikey.com/en/articles/protecting-inputs-in-digital-electronics