Reframe homepage for multi-vehicle scope

Homepage copy was BMW-centric — now reflects that K-Line supports
400+ vehicles across BMW, Ford, Honda, Toyota, VW, and more.
Primary CTA changed from Circuit Design to Vehicle Compatibility.
Added regional LinkCard grid with anchors to vehicle-compatibility page.
This commit is contained in:
Ryan Malloy 2026-02-20 16:24:59 -07:00
parent 612a5e94de
commit 6efaaa4ac4

View File

@ -1,16 +1,16 @@
--- ---
title: K-Line title: K-Line
description: BMW I/K-Bus + OBD-II K-line interface for ESP32 with PC817 optocoupler isolation description: "ESP32 K-line interface for automotive diagnostics and module control — BMW I/K-Bus, Ford, Honda, Toyota, VW, and 400+ vehicles"
template: splash template: splash
hero: hero:
tagline: Multi-protocol automotive bus library for ESP32. Optocoupler-isolated hardware interface with SPICE-validated circuit design. tagline: "ESP32 interface for automotive K-line buses. Read diagnostics, control modules, and talk to ECUs across hundreds of vehicles — with optocoupler isolation and SPICE-validated circuit design."
actions: actions:
- text: Vehicle Compatibility
link: /reference/vehicle-compatibility/
icon: right-arrow
- text: Circuit Design - text: Circuit Design
link: /reference/circuit-design/ link: /reference/circuit-design/
icon: right-arrow icon: right-arrow
- text: Firmware Architecture
link: /reference/architecture/
icon: right-arrow
variant: minimal variant: minimal
- text: Source Code - text: Source Code
link: https://git.supported.systems/warehack.ing/i-k-bus-board link: https://git.supported.systems/warehack.ing/i-k-bus-board
@ -18,38 +18,44 @@ hero:
variant: minimal variant: minimal
--- ---
import { Card, CardGrid } from '@astrojs/starlight/components'; import { Card, CardGrid, LinkCard } from '@astrojs/starlight/components';
## What is this? ## Two protocols, one board
An ESP32-based interface board for talking to BMW's proprietary body/instrumentation bus (I-Bus and K-Bus) and OBD-II K-line diagnostic ports. Uses PC817 optocouplers for galvanic isolation from the vehicle's 12V electrical system. K-Line is an ESP32 library and hardware interface for the single-wire buses found in cars from the mid-90s through late 2000s. It handles two distinct protocols that share the same physical layer:
The firmware library — **K-Line** — handles both protocols through a shared transport layer, with separate protocol handlers for BMW's multi-master bus and OBD-II's master/slave diagnostic sessions. - **BMW I/K-Bus** — the body control network on E31 through E87 chassis. Lights, locks, windows, climate, steering wheel controls, instrument cluster. Multi-master, 9600 baud.
- **OBD-II K-line** — the ISO 9141 / ISO 14230 diagnostic protocol used by Ford, Honda, Toyota, VW, Chrysler, and dozens more. Read PIDs, clear DTCs, talk to ECUs. Master/slave, 10400 baud.
The hardware uses PC817 optocouplers for galvanic isolation between the ESP32 and the vehicle's 12V electrical system. The circuit is SPICE-validated — every signal path simulated in LTspice before soldering.
<CardGrid> <CardGrid>
<Card title="Two Protocols, One Board" icon="setting"> <Card title="400+ Vehicles" icon="open-book">
BMW I/K-Bus (9600 baud, 8E1, XOR checksum) and OBD-II K-line (10400 baud, 8N1, mod256 checksum) share the same physical layer but have completely different framing and initialization. K-Line handles both. BMW, Ford, Honda, Toyota, VW, Audi, Mercedes, Volvo, Subaru, Mazda, Hyundai, Kia, Chrysler, and more. Any car with ISO 9141 or KWP2000 diagnostics.
</Card> </Card>
<Card title="SPICE Validated" icon="approve-check"> <Card title="SPICE Validated" icon="approve-check">
Every circuit path simulated in LTspice before soldering. Three parameter sweeps identified the R2=220 ohm fix for 3.3V ESP32 compatibility. Six netlists document the full operating envelope. Eight netlists cover both signal paths, three parameter sweeps, and two bus impedance scenarios. The R2=220 ohm fix for 3.3V ESP32 was found through simulation, not guesswork.
</Card> </Card>
<Card title="Code Reviewed" icon="warning"> <Card title="Reviewed and Hardened" icon="warning">
Two rounds of code review caught concurrency bugs (64-bit torn reads, TX loopback race), protocol issues (UART pin detach no-op, timeout underflow), and missing safety checks. All fixed. Two code review rounds caught ISR race conditions, protocol framing bugs, and timeout underflows. Defensive design throughout — checksums validated, echo verified, sessions kept alive.
</Card> </Card>
<Card title="Three ESP32 Variants" icon="laptop"> <Card title="Three ESP32 Variants" icon="laptop">
Builds for ESP32 (Xtensa), ESP32-C3 (RISC-V), and ESP32-S3. PlatformIO project with per-board pin overrides. Builds for ESP32 (Xtensa), ESP32-C3 (RISC-V), and ESP32-S3. PlatformIO project with per-board pin configuration.
</Card> </Card>
</CardGrid> </CardGrid>
## Supported Vehicles ## Supported vehicles
**BMW I/K-Bus:** E31 (8 Series), E38 (7 Series), E39 (5 Series), E46 (3 Series), E52 (Z8), E53 (X5), E83 (X3), E85 (Z4), E87 (1 Series) <CardGrid>
<LinkCard title="BMW I/K-Bus" description="E31, E38, E39, E46, E52, E53, E83, E85, E87 — plus MINI R50/R52/R53 and Range Rover P38A" href="/reference/vehicle-compatibility/#bmw-i-bus-and-k-bus" />
<LinkCard title="European" description="Ford Fiesta/Focus/Mondeo, VW Golf/Passat, Audi A4/A6, Mercedes C/E-Class, Volvo S60/V70, Fiat, Alfa Romeo, Peugeot, Renault, Opel" href="/reference/vehicle-compatibility/#k-line-by-manufacturer" />
<LinkCard title="Japanese" description="Honda Civic/Accord, Toyota Corolla/Camry, Nissan Altima/Sentra, Mazda3/MX-5, Subaru Impreza/Legacy, Mitsubishi Lancer" href="/reference/vehicle-compatibility/#k-line-by-manufacturer" />
<LinkCard title="Korean and American" description="Hyundai Elantra/Sonata, Kia Optima/Sorento, Chrysler/Dodge/Jeep — Wrangler, Cherokee, Ram, Neon, PT Cruiser" href="/reference/vehicle-compatibility/#k-line-by-manufacturer" />
</CardGrid>
**OBD-II K-line:** Any vehicle using ISO 9141-2 or ISO 14230-4 (KWP2000) diagnostic protocols ## Project status
## Project Status Hardware circuit is SPICE-validated. Firmware builds clean across all three ESP32 environments. Next: breadboard prototype, loopback testing, and vehicle testing on BMW E46 K-Bus and Ford Fiesta K-line.
Hardware circuit is SPICE-validated. Firmware builds clean across all environments. Next steps: breadboard prototype, loopback testing, and vehicle testing.
## Attribution ## Attribution