R2 sweep (47-470 ohm) and CTR grade sweep at ISO 9141 minimum
bus impedance. R2<=100 ohm works; BMW's R2=220 does not.
Confirms transistor design is better fit for OBD-II K-line.
At 3.3V VCC the original R2=470 only drives 4.66mA through the
PC817 LED, giving marginal bus pull-down on loaded buses (V_LOW=2.5V
at 1k pull-up). Three parameter sweeps (R2, bus impedance, CTR grade)
identified R2=220 as the fix: LED current doubles to 9.71mA, bus LOW
drops to 0.27V even at 1k pull-up. Validated against PC817A typical
CTR with worst-case bus loading.
Both signal paths validated with LTspice using built-in PC817
subcircuit model (Igain=1m). RX gives clean 0-3.13V at 3.3V VCC
with 5.8us rise time. TX confirms signal inversion and 0.17V bus
LOW with 4.66mA LED drive. 3.3V design works but is marginal vs
the original 5V Arduino circuit at worst-case CTR.