v 20210626 2 C 2200 1900 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 programmer 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 } C 2600 1900 1 0 0 GND.sym C 3000 1900 1 0 0 GND.sym C 3400 1900 1 0 0 GND.sym C 3800 1900 1 0 0 GND.sym C 1000 2100 1 0 0 HDMI-001S.sym { T 1000 2100 5 8 0 0 0 0 1 footprint=CONNECTOR_HDMI-001S.lht T 4600 6160 5 10 1 1 0 0 1 refdes=J1 T 1360 6340 5 10 1 1 0 2 1 device=HDMI receptacle T 4800 6200 5 10 0 1 0 6 1 value=HDMI-001S } C 8200 1900 1 0 0 GND.sym C 8600 1900 1 0 0 GND.sym C 9000 1900 1 0 0 GND.sym C 9400 1900 1 0 0 GND.sym C 9800 1900 1 0 0 GND.sym C 6500 6800 1 0 0 GND.sym C 2900 6500 1 0 0 5V.sym C 1000 200 1 90 0 capacitor-1.sym { T 300 400 5 10 0 0 90 0 1 device=CAPACITOR T 700 800 5 10 1 1 0 6 1 refdes=C1 T 100 400 5 10 0 0 90 0 1 symversion=0.1 T 700 500 5 10 1 1 180 0 1 value=100nF T 1000 200 5 10 0 1 0 0 1 footprint=CAPC1608X92N.lht } C 600 1100 1 0 0 5V.sym C 700 0 1 0 0 GND.sym C 1800 200 1 90 0 capacitor-1.sym { T 1100 400 5 10 0 0 90 0 1 device=CAPACITOR T 900 400 5 10 0 0 90 0 1 symversion=0.1 T 1800 200 5 10 0 1 0 0 1 footprint=CAPC1608X92N.lht T 1500 800 5 10 1 1 0 6 1 refdes=C2 T 1500 500 5 10 1 1 180 0 1 value=100nF } C 1400 1100 1 0 0 5V.sym C 1500 0 1 0 0 GND.sym N 1000 4300 400 4300 4 { T 800 4300 5 10 1 1 0 6 1 netname=SDA } N 1000 4700 400 4700 4 { T 800 4700 5 10 1 1 0 6 1 netname=SCL } C 600 5000 1 0 0 nc-left-1.sym { T 500 5400 5 10 0 0 0 0 1 value=NoConnection T 500 5800 5 10 0 0 0 0 1 device=DRC_Directive T 500 6200 5 10 0 0 0 0 1 symversion=1.1 } C 600 3800 1 0 0 nc-left-1.sym { T 500 4200 5 10 0 0 0 0 1 value=NoConnection T 500 4600 5 10 0 0 0 0 1 device=DRC_Directive T 500 5000 5 10 0 0 0 0 1 symversion=1.1 } C 11200 5000 1 0 0 nc-right-1.sym { T 11300 5500 5 10 0 0 0 0 1 value=NoConnection T 11300 5700 5 10 0 0 0 0 1 device=DRC_Directive T 11300 6300 5 10 0 0 0 0 1 symversion=1.1 } C 11200 3800 1 0 0 nc-right-1.sym { T 11300 4300 5 10 0 0 0 0 1 value=NoConnection T 11300 4500 5 10 0 0 0 0 1 device=DRC_Directive T 11300 5100 5 10 0 0 0 0 1 symversion=1.1 } C 11200 3400 1 0 0 nc-right-1.sym { T 11300 3900 5 10 0 0 0 0 1 value=NoConnection T 11300 4100 5 10 0 0 0 0 1 device=DRC_Directive T 11300 4700 5 10 0 0 0 0 1 symversion=1.1 } C 8900 6500 1 0 0 5V.sym B 0 0 12100 11000 3 10 1 0 -1 -1 0 -1 -1 -1 -1 -1 T 4600 8900 9 10 1 0 90 0 2 I²C pull-ups are on the sink side T 1900 900 9 10 1 0 0 0 3 decoupling capacitors: U1-VCC, J1-5V C 11200 2100 1 0 1 HYC109-HDMIA19-160.sym { T 11200 2100 5 8 0 0 0 6 1 footprint=CONNECTOR_HYC109-HDMIA19-160.lht T 10800 6160 5 10 1 1 0 6 1 refdes=J2 T 8240 2440 5 10 0 1 0 8 1 value=HYC109-HDMIA19-160 T 8340 6340 5 10 1 1 0 8 1 device=HDMI plug } C 6600 5600 1 0 0 nc-left-1.sym { T 6500 6000 5 10 0 0 0 0 1 value=NoConnection T 6500 6400 5 10 0 0 0 0 1 device=DRC_Directive T 6500 6800 5 10 0 0 0 0 1 symversion=1.1 } C 6600 5200 1 0 0 nc-left-1.sym { T 6500 5600 5 10 0 0 0 0 1 value=NoConnection T 6500 6000 5 10 0 0 0 0 1 device=DRC_Directive T 6500 6400 5 10 0 0 0 0 1 symversion=1.1 } C 6600 4800 1 0 0 nc-left-1.sym { T 6500 5200 5 10 0 0 0 0 1 value=NoConnection T 6500 5600 5 10 0 0 0 0 1 device=DRC_Directive T 6500 6000 5 10 0 0 0 0 1 symversion=1.1 } C 6600 4400 1 0 0 nc-left-1.sym { T 6500 4800 5 10 0 0 0 0 1 value=NoConnection T 6500 5200 5 10 0 0 0 0 1 device=DRC_Directive T 6500 5600 5 10 0 0 0 0 1 symversion=1.1 } C 6600 4000 1 0 0 nc-left-1.sym { T 6500 4400 5 10 0 0 0 0 1 value=NoConnection T 6500 4800 5 10 0 0 0 0 1 device=DRC_Directive T 6500 5200 5 10 0 0 0 0 1 symversion=1.1 } C 6600 3600 1 0 0 nc-left-1.sym { T 6500 4000 5 10 0 0 0 0 1 value=NoConnection T 6500 4400 5 10 0 0 0 0 1 device=DRC_Directive T 6500 4800 5 10 0 0 0 0 1 symversion=1.1 } C 6600 3200 1 0 0 nc-left-1.sym { T 6500 3600 5 10 0 0 0 0 1 value=NoConnection T 6500 4000 5 10 0 0 0 0 1 device=DRC_Directive T 6500 4400 5 10 0 0 0 0 1 symversion=1.1 } C 6600 2800 1 0 0 nc-left-1.sym { T 6500 3200 5 10 0 0 0 0 1 value=NoConnection T 6500 3600 5 10 0 0 0 0 1 device=DRC_Directive T 6500 4000 5 10 0 0 0 0 1 symversion=1.1 } C 5200 5600 1 0 0 nc-right-1.sym { T 5300 6100 5 10 0 0 0 0 1 value=NoConnection T 5300 6300 5 10 0 0 0 0 1 device=DRC_Directive T 5300 6900 5 10 0 0 0 0 1 symversion=1.1 } C 5200 5200 1 0 0 nc-right-1.sym { T 5300 5700 5 10 0 0 0 0 1 value=NoConnection T 5300 5900 5 10 0 0 0 0 1 device=DRC_Directive T 5300 6500 5 10 0 0 0 0 1 symversion=1.1 } C 5200 4800 1 0 0 nc-right-1.sym { T 5300 5300 5 10 0 0 0 0 1 value=NoConnection T 5300 5500 5 10 0 0 0 0 1 device=DRC_Directive T 5300 6100 5 10 0 0 0 0 1 symversion=1.1 } C 5200 4400 1 0 0 nc-right-1.sym { T 5300 4900 5 10 0 0 0 0 1 value=NoConnection T 5300 5100 5 10 0 0 0 0 1 device=DRC_Directive T 5300 5700 5 10 0 0 0 0 1 symversion=1.1 } C 5200 4000 1 0 0 nc-right-1.sym { T 5300 4500 5 10 0 0 0 0 1 value=NoConnection T 5300 4700 5 10 0 0 0 0 1 device=DRC_Directive T 5300 5300 5 10 0 0 0 0 1 symversion=1.1 } C 5200 3600 1 0 0 nc-right-1.sym { T 5300 4100 5 10 0 0 0 0 1 value=NoConnection T 5300 4300 5 10 0 0 0 0 1 device=DRC_Directive T 5300 4900 5 10 0 0 0 0 1 symversion=1.1 } C 5200 3200 1 0 0 nc-right-1.sym { T 5300 3700 5 10 0 0 0 0 1 value=NoConnection T 5300 3900 5 10 0 0 0 0 1 device=DRC_Directive T 5300 4500 5 10 0 0 0 0 1 symversion=1.1 } C 5200 2800 1 0 0 nc-right-1.sym { T 5300 3300 5 10 0 0 0 0 1 value=NoConnection T 5300 3500 5 10 0 0 0 0 1 device=DRC_Directive T 5300 4100 5 10 0 0 0 0 1 symversion=1.1 } C 300 8700 1 0 0 USB_2_MICRO-B_XKB_U254-051N.sym { T 300 8700 5 8 0 0 0 0 1 footprint=CONNECTOR_USB_2_MICRO-B_XKB_U254-051N.lht T 1400 10660 5 10 1 1 0 3 1 refdes=J3 T 1760 9040 5 10 1 1 0 2 1 device=USB_2_MICRO-B } C 4900 7000 1 0 0 STM8S003x3.sym { T 4900 7000 5 8 0 0 0 0 1 footprint=SOP65P640X120-20N.lht T 5300 10060 5 10 1 1 0 0 1 refdes=U1 T 6660 7340 5 10 0 1 0 2 1 device=STM8S103x3 T 5000 7200 5 10 1 1 0 0 1 value=STM8S103F3P6 } C 6500 10400 1 0 0 5V.sym C 5600 10200 1 0 0 capacitor-1.sym { T 5800 10900 5 10 0 0 0 0 1 device=CAPACITOR T 5900 10500 5 10 1 1 0 6 1 refdes=C3 T 5800 11100 5 10 0 0 0 0 1 symversion=0.1 T 6200 10500 5 10 1 1 0 0 1 value=1uF T 5600 10200 5 10 0 1 270 0 1 footprint=CAPC1608X92N.lht } C 5500 10200 1 0 0 GND.sym N 4900 8000 4200 8000 4 { T 4800 8000 5 10 1 1 0 6 1 netname=NRST } N 8000 8600 8700 8600 4 { T 8100 8600 5 10 1 1 0 0 1 netname=SWIM } N 4900 8400 4200 8400 4 { T 4700 8400 5 10 1 1 0 6 1 netname=SDA } N 4900 8600 4200 8600 4 { T 4700 8600 5 10 1 1 0 6 1 netname=SCL } C 2800 9400 1 0 0 GND.sym C 1600 8500 1 0 0 GND.sym C 1400 8500 1 0 0 GND.sym C 1200 8500 1 0 0 GND.sym C 1000 8500 1 0 0 GND.sym C 2700 10400 1 0 0 5V.sym T 8500 9400 11 10 1 0 0 0 3 STM8S003 (128 bytes EEPROM) is actually under the hood also a STM8S103 (640 bytes EEPROM) T 500 7700 9 10 1 0 0 0 3 USB connector is re-used to program the MCU (but this is SWIM, not USB) N 2900 10200 3600 10200 4 { T 3000 10200 5 10 1 1 0 0 1 netname=SWIM } C 8300 7900 1 0 0 resistor-1.sym { T 8600 8300 5 10 0 0 0 0 1 device=RESISTOR T 8300 7900 5 10 0 1 0 0 1 footprint=RESC1608X55N.lht T 8500 8200 5 10 1 1 0 0 1 refdes=R1 T 8800 8200 5 10 1 1 0 0 1 value=1k } C 9600 7800 1 0 1 LED0603.sym { T 9600 7800 5 8 0 0 0 6 1 footprint=LEDC1608X90N.lht T 9400 7840 5 10 0 1 0 5 1 device=LED0603 T 9400 8160 5 10 1 1 0 3 1 refdes=D1 T 9600 8100 5 10 1 1 0 0 1 value=EDID } N 8000 8000 8300 8000 4 C 10100 8000 1 0 0 5V.sym N 10300 8000 9600 8000 4 T 10500 8000 9 10 1 0 0 0 2 on = present blink = absent C 8300 7500 1 0 0 resistor-1.sym { T 8600 7900 5 10 0 0 0 0 1 device=RESISTOR T 8300 7500 5 10 0 1 0 0 1 footprint=RESC1608X55N.lht T 8500 7300 5 10 1 1 0 0 1 refdes=R2 T 8800 7300 5 10 1 1 0 0 1 value=1k } C 9600 7400 1 0 1 LED0603.sym { T 9600 7400 5 8 0 0 0 6 1 footprint=LEDC1608X90N.lht T 9400 7440 5 10 0 1 0 5 1 device=LED0603 T 9200 7360 5 10 1 1 0 3 1 refdes=D2 T 9600 7400 5 10 1 1 0 0 1 value=RUN } N 8300 7600 8000 7600 4 N 10300 8000 10300 7600 4 N 10300 7600 9600 7600 4 T 10500 7500 9 10 1 0 0 0 2 on = ok blink = error N 8500 7800 8000 7800 4 { T 8100 7800 5 10 1 1 0 0 1 netname=TX } C 9300 8800 1 0 0 switch-pushbutton-no-1.sym { T 9700 9400 5 10 0 0 0 0 1 device=SWITCH_PUSHBUTTON_NO T 9800 8800 5 10 0 1 0 0 1 footprint=MECHANICAL_1TS002E.lht T 9500 9000 5 10 1 1 0 0 1 refdes=S1 T 10000 9000 5 10 1 1 0 0 1 value=R/W } C 10200 8600 1 0 0 GND.sym N 8000 8200 8300 8200 4 N 8300 8200 8300 8400 4 N 8300 8400 9300 8400 4 N 9300 8400 9300 8800 4 C 600 3400 1 0 0 nc-left-1.sym { T 500 3800 5 10 0 0 0 0 1 value=NoConnection T 500 4200 5 10 0 0 0 0 1 device=DRC_Directive T 500 4600 5 10 0 0 0 0 1 symversion=1.1 } T 5300 1800 11 10 1 0 0 0 4 we don't use HPD to ensure we are plugged into sink to minimise error sources N 11800 4700 11200 4700 4 { T 11700 4700 5 10 1 1 0 6 1 netname=SCL } N 11800 4300 11200 4300 4 { T 11700 4300 5 10 1 1 0 6 1 netname=SDA } N 2900 9800 3600 9800 4 { T 3000 9800 5 10 1 1 0 0 1 netname=NRST } C 2900 9900 1 0 0 nc-right-1.sym { T 3000 10400 5 10 0 0 0 0 1 value=NoConnection T 3000 10600 5 10 0 0 0 0 1 device=DRC_Directive T 3000 11200 5 10 0 0 0 0 1 symversion=1.1 }