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.