--- 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