[Ovmsdev] Hacking TPMS

HONDA S-2000 s2000 at audiobanshee.com
Thu May 14 15:23:22 HKT 2020

Oh! - This is great!

I could really use an easy way to switch between summer and winter wheels without traveling to the Tesla dealership to wait in line for one of their techs to use their tool.

If you need any help testing, I will buy any boards needed (or make my own prototype, if that makes sense). I have one Tesla Roadster 2.5 and eight wheels that should have working TPMS sensors. We also have PCB fab and assembly shops that are still working here, so I might even be able to make boards locally.

I’ll have to check which version of OVMS that I have. I bought a few versions of them, but I may not have the latest version.


p.s. I haven’t been following this list for a while. In fact, my email server went down after fourteen years of constant service, so I think I got kicked off the list and had to rejoin. So, I’m very glad to see this feature being worked on. I may need to reconnect, upgrade to the latest firmware releases, and all of that.

On May 10, 2020, at 5:56 PM, Mark Webb-Johnson <mark at webb-johnson.net> wrote:
> 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.

More information about the OvmsDev mailing list