The Mazda MX-5 NC has a significant issue with its sensors — it features a fake oil pressure sensor, and oil temperature monitoring is entirely absent. This can lead to major problems, especially on the track, leaving you "blind" to critical engine data.
This project's primary goal is to create an open-source "gate" that can sniff the CAN bus and forward the data to any device using Wi-Fi or Bluetooth. Currently, the project integrates with RaceChrono DIY via Bluetooth LE protocols and supports CAN Bus. Check out a Roadmap for details.
A prototype example rev-v1.
This prototype, built on the Arduino UNO R4 Wi-Fi, includes an OBD2 connector and utilizes a 12V-to-5V converter.
I used Mazda MX5 NC Can DB and I believe many of PIDs are compatible with Mazda RX8. Some CAN PIDs are compatible with Mazda 3 (2nd gen).
List of sniffed PIDs
0x201
0x212
0x231
0x240
0x420
0x4B0
The author is not responsible for any damage to or effects on your car. Proceed at your own risk.
- make
- PlathformIO
- Arduino UNO R4 WI-FI
- Arduino UNO Proto Shield
- Bosch 0 261 230 482 Sensor
- Resistor 5 kΩ (5000 Ohms)
- Bosch trapezoid plug
TODO: Add PCB or guide how to build
make upload
You can enable verbose mode on your device, but keep in mind that it will significantly reduce its speed. Use this mode for debugging purposes only.
BOARD_DEBUG=true make upload
- Add oil temperature and pressure streaming for OBD-II requests.
- Implement ESP32-S3 display integration to show critical information as an alternative to the onboard computer.
- Build an ESP32 CAN gate as a permanent solution.
- Add a PCB schematic to make the project easy to build for anyone.