v 20210626 2 C 2400 3500 1 0 0 5V.sym C 2800 4100 1 0 0 GND.sym C 6100 0 1 0 0 title.sym { T 7100 700 5 10 1 1 0 0 1 date=$date$ T 10400 700 5 10 1 1 0 0 1 org=CuVoodoo T 10400 400 5 10 1 1 0 0 1 authors=King Kévin T 9100 1200 5 14 1 1 0 4 1 title=HDMI firewall dongle T 7100 400 5 10 1 1 0 0 1 version=$version$ T 7100 100 5 10 1 1 0 0 1 revision=$revision$ T 10400 100 5 10 1 1 0 0 1 licence=CERN-OHL-S T 6100 1800 5 10 0 0 0 0 1 device=none T 6100 2000 5 10 0 0 0 0 1 footprint=none } T 100 10500 9 10 1 0 0 0 2 based on the reseach of Pierre-Michel RICORDEL and José LOPES-ESTEVES from ANSSI/SDE/ST/LSF https://sstic.org/2021/presentation/un_pare_feu_pour_le_hdmi/ C 2700 2600 1 90 0 resistor-1.sym { T 2300 2900 5 10 0 0 90 0 1 device=RESISTOR T 2800 3200 5 10 1 1 0 0 1 refdes=R3 T 2700 2600 5 10 0 0 0 0 1 footprint=RESC1608X55N.lht T 2800 3000 5 10 1 1 0 0 1 value=1.5k-2k } C 3400 1000 1 0 0 FT24C16A-EL.sym { T 3400 1000 5 8 0 0 0 0 1 footprint=SOT95P280X125-5N.lht T 3800 2660 5 10 1 1 0 0 1 refdes=U1 T 4460 1340 5 10 1 1 0 2 1 device=FT24C16A-EL T 3400 1000 5 10 0 0 0 0 1 lcsc-sku=C191945 } C 3200 4100 1 0 0 GND.sym C 3600 4100 1 0 0 GND.sym C 4000 4100 1 0 0 GND.sym C 4400 4100 1 0 0 GND.sym C 1600 4300 1 0 0 HDMI-001S.sym { T 1600 4300 5 8 0 0 0 0 1 footprint=CONNECTOR_HDMI-001S.lht T 2000 8360 5 10 1 1 0 0 1 refdes=J1 T 4560 4640 5 10 1 1 0 2 1 device=HDMI-001S T 3900 8400 5 10 1 1 0 0 1 value=untrusted device T 1600 4300 5 10 0 0 0 0 1 lcsc-sku=C720616 } C 8200 4100 1 0 0 GND.sym C 8600 4100 1 0 0 GND.sym C 9000 4100 1 0 0 GND.sym C 9400 4100 1 0 0 GND.sym C 9800 4100 1 0 0 GND.sym C 4300 800 1 0 0 GND.sym C 4200 3000 1 0 0 5V.sym C 3500 8700 1 0 0 5V.sym C 2100 3500 1 0 0 5V.sym C 2400 2600 1 90 0 resistor-1.sym { T 2000 2900 5 10 0 0 90 0 1 device=RESISTOR T 2100 3200 5 10 1 1 0 6 1 refdes=R2 T 2400 2600 5 10 0 0 0 0 1 footprint=RESC1608X55N.lht T 2100 3000 5 10 1 1 0 6 1 value=1.5k-2k } C 400 6600 1 0 0 5V.sym C 700 5700 1 90 0 resistor-1.sym { T 300 6000 5 10 0 0 90 0 1 device=RESISTOR T 400 6500 5 10 1 1 180 0 1 refdes=R1 T 400 5900 5 10 1 1 0 6 1 value=1k T 700 5700 5 10 0 0 0 0 1 footprint=RESC1608X55N.lht } N 1600 5700 600 5700 4 C 8800 2100 1 90 0 capacitor-1.sym { T 8100 2300 5 10 0 0 90 0 1 device=CAPACITOR T 8500 2700 5 10 1 1 0 6 1 refdes=C1 T 7900 2300 5 10 0 0 90 0 1 symversion=0.1 T 8500 2400 5 10 1 1 180 0 1 value=100nF T 8800 2100 5 10 0 1 0 0 1 footprint=CAPC1608X92N.lht } C 8400 3000 1 0 0 5V.sym C 8500 1900 1 0 0 GND.sym C 9600 2100 1 90 0 capacitor-1.sym { T 8900 2300 5 10 0 0 90 0 1 device=CAPACITOR T 8700 2300 5 10 0 0 90 0 1 symversion=0.1 T 9600 2100 5 10 0 1 0 0 1 footprint=CAPC1608X92N.lht T 9300 2700 5 10 1 1 0 6 1 refdes=C2 T 9300 2400 5 10 1 1 180 0 1 value=100nF } C 9200 3000 1 0 0 5V.sym C 9300 1900 1 0 0 GND.sym C 1400 2500 1 0 0 5V.sym N 1300 1600 3400 1600 4 N 3400 2000 2300 2000 4 { T 3300 2000 5 10 1 1 0 6 1 netname=SDA } N 2300 2000 2300 2600 4 N 1600 6500 1000 6500 4 { T 1400 6500 5 10 1 1 0 6 1 netname=SDA } N 1600 6900 1000 6900 4 { T 1400 6900 5 10 1 1 0 6 1 netname=SCL } C 1200 7200 1 0 0 nc-left-1.sym { T 1100 7600 5 10 0 0 0 0 1 value=NoConnection T 1100 8000 5 10 0 0 0 0 1 device=DRC_Directive T 1100 8400 5 10 0 0 0 0 1 symversion=1.1 } C 1200 6000 1 0 0 nc-left-1.sym { T 1100 6400 5 10 0 0 0 0 1 value=NoConnection T 1100 6800 5 10 0 0 0 0 1 device=DRC_Directive T 1100 7200 5 10 0 0 0 0 1 symversion=1.1 } C 11200 7200 1 0 0 nc-right-1.sym { T 11300 7700 5 10 0 0 0 0 1 value=NoConnection T 11300 7900 5 10 0 0 0 0 1 device=DRC_Directive T 11300 8500 5 10 0 0 0 0 1 symversion=1.1 } C 11200 6800 1 0 0 nc-right-1.sym { T 11300 7300 5 10 0 0 0 0 1 value=NoConnection T 11300 7500 5 10 0 0 0 0 1 device=DRC_Directive T 11300 8100 5 10 0 0 0 0 1 symversion=1.1 } C 11200 6400 1 0 0 nc-right-1.sym { T 11300 6900 5 10 0 0 0 0 1 value=NoConnection T 11300 7100 5 10 0 0 0 0 1 device=DRC_Directive T 11300 7700 5 10 0 0 0 0 1 symversion=1.1 } C 11200 6000 1 0 0 nc-right-1.sym { T 11300 6500 5 10 0 0 0 0 1 value=NoConnection T 11300 6700 5 10 0 0 0 0 1 device=DRC_Directive T 11300 7300 5 10 0 0 0 0 1 symversion=1.1 } C 11200 5600 1 0 0 nc-right-1.sym { T 11300 6100 5 10 0 0 0 0 1 value=NoConnection T 11300 6300 5 10 0 0 0 0 1 device=DRC_Directive T 11300 6900 5 10 0 0 0 0 1 symversion=1.1 } C 8900 10000 1 0 0 5V.sym N 5800 7900 7000 7900 4 { T 6200 7900 5 10 1 1 0 0 1 netname=D0+ } N 7000 7500 5800 7500 4 { T 6500 7500 5 10 1 1 0 6 1 netname=D0- } N 5800 7100 7000 7100 4 { T 6200 7100 5 10 1 1 0 0 1 netname=D1+ } N 7000 6700 5800 6700 4 { T 6500 6700 5 10 1 1 0 6 1 netname=D1- } N 5800 6300 7000 6300 4 { T 6200 6300 5 10 1 1 0 0 1 netname=D2+ } N 7000 5900 5800 5900 4 { T 6500 5900 5 10 1 1 0 6 1 netname=D2- } N 5800 5500 7000 5500 4 { T 6200 5500 5 10 1 1 0 0 1 netname=CK+ } N 7000 5100 5800 5100 4 { T 6500 5100 5 10 1 1 0 6 1 netname=CK- } B 0 0 12100 11000 3 10 1 0 -1 -1 0 -1 -1 -1 -1 -1 T 100 9600 9 10 1 0 0 0 4 - only video (and sound) are forwarded - DDC limited to statically programmed EDID - HPD, CEC, HEAC (ARC/HEC), CBUS (MHL) are blocked - HDCP is not supported (limited DDC) T 9500 8900 9 10 1 0 0 0 4 allows 5V forward if monitor does not detect device. cut trace between pads for ultimate security T 600 5000 9 10 1 0 0 0 3 indicates monitor presence T 4700 2200 9 10 1 0 0 0 2 programm with EDID data from protected monitor T 9700 2800 9 10 1 0 0 0 3 decoupling capacitors: U1-VCC, J1-5V N 9100 10000 9100 9800 4 N 9100 8800 9100 8700 4 N 9100 9800 9400 9800 4 N 9400 9800 9400 8800 4 N 9400 8800 9100 8800 4 C 11200 4300 1 0 1 HYC109-HDMIA19-160.sym { T 11200 4300 5 8 0 0 0 6 1 footprint=CONNECTOR_HYC109-HDMIA19-160.lht T 10800 8360 5 10 1 1 0 6 1 refdes=J2 T 8240 4640 5 10 1 1 0 8 1 device=HYC109-HDMIA19-160 T 7400 8400 5 10 1 1 0 0 1 value=monitor T 11200 4300 5 10 0 0 0 0 1 lcsc-sku=C711355 } C 1500 400 1 0 0 GND.sym C 1700 1600 1 90 0 resistor-1.sym { T 1300 1900 5 10 0 0 90 0 1 device=RESISTOR T 1800 2000 5 10 1 1 0 0 1 refdes=R4 T 1700 1600 5 10 0 0 270 0 1 footprint=RESC1608X55N.lht T 1800 1800 5 10 1 1 0 0 1 value=10k-100k } N 3400 2400 2600 2400 4 { T 3300 2400 5 10 1 1 0 6 1 netname=SCL } N 2600 2400 2600 2600 4 N 1300 1600 1300 600 4 N 1300 600 1600 600 4 T 1100 400 9 10 1 0 90 0 2 cut trace between pads to enable write protection C 9200 8800 1 0 1 jumper-1.sym { T 8900 9300 5 8 0 0 0 6 1 device=JUMPER T 8900 9400 5 10 1 1 0 6 1 refdes=R5 T 9200 8800 5 10 0 0 0 6 1 footprint=RESC1608X55N.lht T 9400 9700 5 10 1 1 270 2 1 value=CUTLINK } C 1500 600 1 0 0 jumper-1.sym { T 1800 1100 5 8 0 0 0 0 1 device=JUMPER T 1700 1200 5 10 1 1 0 0 1 refdes=R6 T 1500 600 5 10 0 0 0 0 1 footprint=RESC1608X55N.lht T 1500 700 5 10 1 1 90 0 1 value=CUTLINK }