added jumper JP1 to select SA0 mode (HV or generic address pin SA0_CTL_OPT)
added jumper JP2 to enable/disable SA2
added logic level converters from +5V to +3.3V (on many SPD chips, the maximum voltage on the I2C bus is 4.3V)
for I2C SDA - bidirectional on Q1R1R3
for I2C SCL - unidirectional on D1R2
for SA0_CTL_OPT - unidirectional on D2R5
for SA1 - unidirectional on D3R8
for SA2 - unidirectional on D4R9
space reserved for MT3608 boost module.
The PC817 optocoupler can also be replaced with two BSS138s, but this seemed impractical to me.
2 variants prepared:
The folder 'contrib/schematic/kicad' can be used to order a PCB from any factory, zip archive with gerbers attached.
The folder 'contrib/schematic/kicad_diy' can be used for DIY, a drawing for thermal transfer is attached. Can use only the bottom layer, in which case there are only 4 wire (jumpers) on the top layer.
The circuit is assembled according to the second variant and tested, it works.
Added schematic in KiCad format (2 variants). Based on original scheme https://github.com/1a2m3/SPD-Reader-Writer/tree/master/schematic with some changes:
The PC817 optocoupler can also be replaced with two BSS138s, but this seemed impractical to me.
2 variants prepared:
The circuit is assembled according to the second variant and tested, it works.