Files
HDMI-Tester-Cline/DIODE_MODE.md
2025-12-23 17:31:41 -05:00

1.8 KiB

Diode Mode Implementation Details

To implement diode mode on a microcontroller like the Raspberry Pi Pico, follow this circuit and logic.

Circuit Design

  1. Pull-up Resistor: Connect a 10kΩ resistor from 3.3V to the common Signal pin of your Multiplexer.
  2. Measurement Point: Connect an ADC pin (e.g., GPIO 26) to the same Signal pin of the Multiplexer.
  3. HDMI Ground: Connect HDMI Pin 17 (DDC/CEC Ground) and the Shell to the Microcontroller's Ground.

Logic (Pseudo-code)

float measureDiode(int channel) {
    // 1. Select the channel on the Mux
    setMuxChannel(channel);
    
    // 2. Wait for voltage to stabilize
    sleep_ms(5);
    
    // 3. Read ADC value (0-4095 for 12-bit ADC)
    uint16_t raw = adc_read();
    
    // 4. Convert to voltage
    float voltage = (raw * 3.3f) / 4095.0f;
    
    return voltage;
}

Fault Logic for Intake Mode

The software uses the following logic to provide "Educated Guesses":

Reading Possible Fault Hint
0.0V - 0.1V Short to Ground Check ESD protection diodes or internal IC short.
1.0V - 3.2V High Resistance / Open Check for cracked solder joints on the HDMI port.
3.3V (VCC) Full Open Line is completely disconnected. Port might be ripped.
0.3V - 0.7V Nominal Line is likely connected to Redriver or APU correctly.

Redriver IC Testing

If all lines show nominal diode readings but there is still no video:

  1. Check the +5V line (Pin 18). If it's missing, the console won't trigger the TV's HPD.
  2. Check the DDC lines (SCL/SDA). If these are open, the console cannot read the EDID from the TV.
  3. If Diode mode is perfect, the issue is likely the Redriver IC itself being powered down or having internal logic failure, or the APU encoder.