ESP32 CAN board fits into OBD-II dongle, supports auto shutdown

RejsaCAN-ESP32 is a small board based on ESP32-WROOM-32 WiFi (and Bluetooth) module with a CAN interface that fits into a 3D printed OBD-II dongle for easy installation into most cars.

Magnus Thomé has already published several automotive projects, notably for car racing with a system that checks real-time tire temperature, and he designed RejsaCAN-ESP32 board so that it can be plugged directly into his car with support for 5-15V input voltage, and also includes an auto-shutdown option to prevent battery drain by monitoring the battery voltage in the car.

ESP32 CAN board

RejsaCAN-ESP32 specifications:

  • Wireless module – ESP32-WROOM-32 module with a dual-core ESP32 processor @ 240 MHz with 2.4 GHz WiFi 4 and Bluetooth 4.2 connectivity, PCB antenna, 32Mbit SPI flash
  • USB – 1x USB-C port for power and programming via CP2104 USB to TTL chip
  • Expansion – 15-pin header with 3x GPIO, SPI, I2C, analog input, PWM or analog output, CAN bus via TI SN65HVD230DR CAN transceiver
  • Misc – Power LED, 2x user LED’s
  • Power Supply
    • 5V via USB-C port
    • 5-15V via CAN interface
  • Dimensions – 5 x 3 cm

RejsaCAN ESP32 OBD-II dongle

RejsaCAN-ESP32 PCB has been designed in EasyEDA web-based schematics Capture, simulation, and PCB Layout tool, and while Magnus has not made the project public yet, he shared the PNG schematics, 3D files for three different enclosures, Arduino code samples, documentation, and various projects idea with the board on Github.

There are currently five Arduino sketches:

  • Emulate a car – OBD-II requests get a reply with a fake value
  • Listen to all CAN broadcasts over Bluetooth and Serial
  • Simple first test in the car – The Blue LED blinks when CAN replies are received from the car, the yellow LED is on when the engine rpm is over 2000 rpm, and engine rpms are continously printed over the Bluetooth connection
  • Simple shift light – Update LED status depending on where RMP is lower than 6000 or higher than 6500 to help the driver shift gears at an optimal time.
  • Test AUTO-OFF keeping board on after engine stops

If you need additional CAN ports, you can use inexpensive MCP2515 boards. One of the project idea, he’s working on is publishing live telemetric data on the Internet from RaceChrono Laptimer for Android and iOS.

CAN auto power on/off
The auto power on/off function covers several scenarios

Magnus told CNX Software the board is a hobby thing, so it’s not available for sale, and you’d have to build it yourself.  He’s also working on an updated version with ESP32-S3, a microSD card reader, a 400mA driver, JTAG pads, and some other edits. If you’d like to use ESP32 with CAN without making your own, we’ve previously covered other ESP32 CAN boards including CAN32, CANLite and TTGO T-CAN485.

Share this:

Support CNX Software! Donate via PayPal or cryptocurrencies, become a Patron on Patreon, or buy review samples

Notify of
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
15 days ago

@CNX is it not similar to this commercial design?

14 days ago

I have done similar project but with screen and more advanced protocols 🙂

Frank Earl
Frank Earl
12 days ago

Yeah, and while it’s similar…it’s also BLINDINGLY more expensive. You can feel the sticker-shock of it from over here. So…while it’s similar, what all rates the over 1600 Bob that you’re asking for your “similar” project?

14 days ago

Who switches gears at 6k rpm oO

14 days ago

I’ve got a RX8 and a GT-R – the RX8 factory shift warning is 9k RPM, the GT-R (albeit auto) shifts at between 5-7k when up to temp.

Teh stig
Teh stig
14 days ago

Not every engine with a manual had a 9000rpm redline. My car redline is 4500 rpm because it’s a small displacement diesel.

14 days ago

Chrysler 3.6vvt under hard accel runs up to 6k+

13 days ago

What’s the difference between this and the various ELM327 devices that are on the market?