[Ovmsdev] Hacking TPMS

Mark Webb-Johnson mark at webb-johnson.net
Mon May 11 08:56:22 HKT 2020


I’ve been spending the last month or so hacking away at TPMS. This has been an ongoing project for the Tesla Roadster that is finally coming to fruition.

About a year or so ago, we already made changes to:

Modify the Tesla Roadster cable to connect the k-line pin on the diagnostic connector through to the DB9 connector on OVMS. We labelled this cable ‘OVT1’.
Modify the OVMS module to connect that k-line pin to GEP7.

I’m now working on an optional expansion board that will include a little TJA1027T transceiver and map it to EXP1 and EXP2 (for async comms) and EGPIO8 (for enable/disable) on the ESP32 and MAX. This board will include a jumpered option for K-line master (one diode + one resistor), as well as jumpered powered selection (5v from usb, 5v regulated from car 12v, or direct car 12v) for the K-line bus.

The hand-soldered prototype, using our breakout boards, works well and the K-line async comms works. The screenshot shows OVMS sending a 19 byte request to the ECU (0x0f 0x04 .... 0xf0) and the ECU responding 19 bytes (0x0f 0x05 ... 0xf0) with the 4 tyre IDs. There is a similar command to re-program the ECU with new IDs.

On the firmware side, I am implementing a new vehicle independent ’tpms’ subsystem within OVMS (enabled via configureable option). This will allow sets of tyres to be maintained in the config and read/written to the car's TPMS ECU. The following commands will be available:

tpms status - show status of the system
tpms list - list tyre id sets in config
tpms read <set> - read IDs from tpms ecu and store in config tyre set
tpms write <set> - write IDs to toms ecu from config tyre set
tpms set <set> {<id>} - config a set of IDs manually
tpms delete <set> - delete the specified tyre set

The initial version will support Tesla Roadster, but the functionality is there for other vehicles to use if they need it (in particular for standard K-line implementations).

Comments/suggestions welcome.

Regards, Mark.

+++Attachments+++

Bench setup, showing (from left to right):
Tesla Roadster TPMS ECU opened up
Breakout board (power, k, Lin, and can)
OVMS for can decode
Usb logic analyser
Power supply (12v)
K-line analysis tool (9010)
Windows laptop running k-line software
Mac running logic analyser and terminal to OVMS.



Hand-soldered prototyping board



Async comms over k-line.



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20200511/8a28fd37/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image0.jpeg
Type: image/jpeg
Size: 152178 bytes
Desc: not available
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20200511/8a28fd37/attachment-0003.jpeg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image0.jpeg
Type: image/jpeg
Size: 128101 bytes
Desc: not available
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20200511/8a28fd37/attachment-0004.jpeg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image1.jpeg
Type: image/jpeg
Size: 86695 bytes
Desc: not available
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20200511/8a28fd37/attachment-0005.jpeg>


More information about the OvmsDev mailing list