!!! Using Amity may destroy your expensive HDMI equipment. Proceed at your own risk !!!
Amity Board is a 4 layer PCB that includes onboard 27K ohms pullup resistors to conform to the HDMI-CEC specification. When used with the board, Amity must be configured to disable the Raspberry Pi internal GPIO pullup resistors.
Amity Board is experimental. It has been very lightly tested to work for video up to 4K@60Hz Dolby Vision. EMI is unknown, and it may have other unknown bugs. If you are an experienced HW engineer interested in improving the board design, you are invited to submit improvements.
Amity board KiCAD files are here. In the mfr folder are the manufacturing files, and an example BOM for submission to a PCB manufacturer/assembler (the BOM will likely need to be tailored to the manufacturer's requirements).
- 2x HDMI-A connectors
- 2x 0603 SMD 27K ohms resistors
- 2x 0603 SMD diodes
- 1x 2.54mm 4x connector header
- A 4 wire bundle terminated with a 4x1 2.54mm connector, and a 3x2 2.54mm connector, for connecting Amity board to the Raspberry Pi.
Amity board requires 4 wires to the Raspberry Pi - GND, 3.3v, and two CEC GPIO pins. These correspond to pins 14, 17, 16, and 18 on the Raspberry Pi pinout.
Name | Amity Board Pin # | RPi Pin # | RPi GPIO # | Wiring Harness Symbol |
---|---|---|---|---|
GND | 1 | 14 | - | ▼ |
CEC 0 | 2 | 16 | 23 | : |
CEC 1 | 3 | 18 | 24 | . |
3.3V | 4 | 17 | - | ■ |
A DuPont 2.54mm wiring harness is required to connect Amity board to the Rasperry Pi. There are two ways to create the wiring harness.
The first way is by creating a dedicated harness with standard 1x4 and 3x6 DuPont connectors and crimping the wires with the required DuPont connector hardware.
The second way is to 3D print the connector housings, and to use standard female to female DuPont jumper wires. Print one 1x4 connector to connect to Amity board and one of the 3x6L connectors. The connector housings have symbols embossed on them to assist with correct wiring. Insert the jumper connectors with the visible metal tabs facing towards the wiring symbols to lock them into the housing. There are two 3x6L connectors. One is just the housing. The second, has an additional positioning tab to assist positioning the connector on the correct pins on the Raspberry Pi. The positioning tab's "Out" label should face out from the Raspberry Pi board, and the tab should exactly reach around the end of the Raspberry Pi pin connector.
A STEP file for a 3D printable case is available here.
A STEP file for the 3D printable 1x4 housing is available here.
The positioning tab's "Out" label should face out from the Raspberry Pi board, and the tab should exactly reach around the end of the Raspberry Pi pin connector.
A STEP file for the 3D printable 3x6L housing is available here.
After initial installation of Amity, and before plugging in the HDMI connections, Amity must be configured to use the board.
Select the 'Advanced' tab. In the 'HDMI Splice' section press the 'Use with Amity Board' button. When done, The status line should read 'Configured for Amity Board'.
The spliced HDMI cable method does not conform to the HDMI-CEC specification. In particular, HDMI-CEC specifies the use of 27K ohms pullup resistors for the CEC wires. When using the cable, Amity configures the GPIO pins to use the internal ~60K ohms resistors. This is wildly out of spec. for HDMI-CEC but seems to work anyway.
- Strip an HDMI cable with a sharp knife.
- Identify, and carefully pull out the CEC, and ground wires without disturbing the other wires in the cable. Identifying the correct wires can be tricky. One way is to buy a cheap labeled HDMI breakout board and two identical HDMI cables. Cut completely through one of the HDMI cables. Attach one half to the breakout board and identify the colors of the ground, and CEC wires by testing continuity with a multimeter between the labeled breakout board pins, and the exposed HDMI wires. Carefully, strip the second HDMI cable and isolate the ground and CEC wires based on the previously identified colors.
- Cut the CEC wire to create two ends that connect to the Raspberry Pi GPIO pins.
- DO NOT cut the ground wire - carefully strip the wire, and connect a wire from the Raspberry Pi ground to the intact ground wire.
- With power off, connect the two CEC wires (one connected to the TV, and the other connected to the receiver) to GPIO pins 23 and 24 on the Raspberry Pi (order doesn't matter). Connect the HDMI splice ground to ground on the Raspberry Pi. These are pins 14, 16, and 18 on the Raspberry Pi pinout. Be careful not to miswire the two CEC wires to ground as that could potentially damage the HDMI equipment and the Raspberry Pi!
Name | Pin # | GPIO # |
---|---|---|
GND | 14 | - |
CEC 0 | 16 | 23 |
CEC 1 | 18 | 24 |
If changing between a spliced HDMI cable and Amity board, then Amity must be configured accordingly in the 'HDMI Splice' section of the 'Advanced' tab, before connecting the HDMI cables.