lahirunirmalx/esp_obd_ii

0.1.0

Latest
uploaded 7 hours ago
OBD-II vehicle data for ESP-IDF: read live PIDs, supported-PID maps, and DTCs from an ELM327 adapter over Bluetooth Classic SPP or BLE, or directly off the CAN bus via the on-chip TWAI controller. Shared decode layer, pluggable links, configurable via menuconfig.

Changelog

# Changelog

All notable changes to `esp_obd_ii` are documented here. The format follows
[Keep a Changelog](https://keepachangelog.com/) and the project uses
[Semantic Versioning](https://semver.org/).

## [0.1.0] - 2026-06-17

### Added
- Initial release.
- Shared decode layer: Mode 01 PID table, supported-PID bitmaps, Mode 03/07
  DTC decoding, ISO-TP (ISO 15765-2) reassembly, ELM327 ASCII response parsing.
- Pluggable links behind a common interface:
  - `elm327` link over a byte-stream transport (Bluetooth Classic SPP via
    Bluedroid, or BLE GATT via NimBLE).
  - `can` link: OBD-II over CAN (ISO 15765-4) via the on-chip TWAI controller.
- High-level facade `obd.h`: `obd_begin`, `obd_read_pid`, `obd_read_supported`,
  `obd_read_dtcs`, `obd_query_raw`.
- Kconfig configuration (link/transport choice, BLE UUIDs, CAN pins/bitrate,
  device name, timeouts).
- Host unit tests for the pure logic and an `obd_demo` example.

### Known limitations
- The BLE/SPP scan/connect/subscribe flow is API-correct and builds for all
  targets, but has not yet been validated against physical adapters on hardware.

Links

To add this component to your project, run:

idf.py add-dependency "lahirunirmalx/esp_obd_ii^0.1.0"

download archive

Stats

  • Archive size
    Archive size ~ 32.57 KB
  • Downloaded in total
    Downloaded in total 0 times
  • Downloaded this version
    This version: 0 times

Badge

lahirunirmalx/esp_obd_ii version: 0.1.0
|