4 Commits

Author SHA1 Message Date
e6fc5ad4e9 K-line compatibility analysis: optocoupler vs 510 ohm pull-up
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.
2026-02-13 02:18:20 -07:00
52e8acf214 Fix 3.3V TX margin: R2 470->220 ohm (parameter sweep validated)
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.
2026-02-13 00:56:03 -07:00
30ef51f26c SPICE simulation of PC817 optocoupler RX/TX paths (9600 baud)
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.
2026-02-13 00:04:55 -07:00
5d87dc2cac BMW I/K-Bus interface design brief (ESP32, optocoupler isolated)
Optocoupler-based design from muki01/I-K_Bus for BMW E-series
I-Bus/K-Bus communication. Includes protocol spec (9600 8E1,
XOR checksum, multi-master contention), module address map,
E46 command codes, IbusSerial library architecture, and
comparison with OBD-II K-line (Tucker project).
2026-02-12 22:39:54 -07:00