I add fun stuff on this page from time to time...
A superb list of resources: https://github.com/iDoka/awesome-canbus
A beeper that only takes a few milliamperes is driven directly from one of the ESP32 pins. Alarm set on over rev in this case but can of course be oil and/or water temperatures, oil pressure (if you know the PID) or anything you want.
Just a first test of CAN info on the screen with ugly fonts ;-) The wiring between the boards will be replaced by a super small interconnect board so the RejsaCAN is sandwich mounted behind the display board. This display board also has an SD card reader slot that you can use for logging data.
Alexander Cus ported the SLCAN by mintynet www.github.com/mintynet/esp32-slcan to TWAI so it works with RejsaCAN ESP32-S3:
www.github.com/Pacerino/TWAI_SLCAN
Here's a lot of info on SLCAN / USBCAN in a PDF: www.can232.com/docs/canusb_manual.pdf
An example how to use the "Monitor" API in Racechrono to get a live feed of any of all data Racechrono holds using a RejsaCAN board running on car's 12V (or any board based on an ESP32 or NRF52 MCU run on 5V) to get a live feed of data from Racechrono over BLE/Bluetooth. This example code is made for a commonly available ILI9341 based display simply connected via SPI. More info and code here https://github.com/MagnusThome/Racechrono-LIVE-telemetry-data-export
www.youtube.com/watch?v=f61Pw1ZjPyw
https://github.com/timurrrr/arduino-RaceChrono
The very comprehensive Wican project has been ported by Pawel to also support RejsaCAN boards!
https://github.com/pawelka/wican-fw
I'm using Techstream (the software the garage uses to check up on the car) to ask for different non standard OBD2 data over the OBD2 port (steering angle, oil pressure, brake pressure...) and simultaneously log all the traffic with this RejsaCAN in the picture below, logging both the requests from Techstream and the replies from the car. Simple Arduino code for this is in the examples directory. I can either save all data over USB to my PC or save to a log file on my mobile phone over Bluetooth using for example this app https://play.google.com/store/apps/details?id=de.kai_morich.serial_bluetooth_terminal&hl=en&gl=US
** Support for ESP32-S3 here https://github.com/MagnusThome/ESP32S3RET **
I installed ESP32RET on the board and hooked it up to the CAN software tool SavvyCAN on my PC
At https://github.com/collin80/ESP32RET you get the code to put on the ESP32 so it runs as a hardware interface between the car and SavvyCAN on the PC. You can run it over USB, Bluetooth or Wifi.
Menu on serial port over USB to set up ESP32RET on the ESP32:
Config Commands (enter command=newvalue). Current values shown in parenthesis:
SYSTYPE=1 - Set board type (0 = Macchina A0, 1 = EVTV ESP32 Board
LOGLEVEL=1 - set log level (0=debug, 1=info, 2=warn, 3=error, 4=off)
CAN0EN=1 - Enable/Disable CAN0 (0 = Disable, 1 = Enable)
CAN0SPEED=500000 - Set speed of CAN0 in baud (125000, 250000, etc)
CAN0LISTENONLY=0 - Enable/Disable Listen Only Mode (0 = Dis, 1 = En)
CAN1EN=1 - Enable/Disable CAN0 (0 = Disable, 1 = Enable)
CAN1SPEED=500000 - Set speed of CAN0 in baud (125000, 250000, etc)
CAN1LISTENONLY=0 - Enable/Disable Listen Only Mode (0 = Dis, 1 = En)
CAN0SEND=ID,LEN,<BYTES SEPARATED BY COMMAS> - Ex: CAN0SEND=0x200,4,1,2,3,4
CAN1SEND=ID,LEN,<BYTES SEPARATED BY COMMAS> - Ex: CAN1SEND=0x200,4,1,2,3,4
MARK=<Description of what you are doing> - Set a mark in the log file about what you are about to do.
BINSERIAL=0 - Enable/Disable Binary Sending of CANBus Frames to Serial (0=Dis, 1=En)
BTMODE=0 - Set mode for Bluetooth (0 = Off, 1 = On)
BTNAME=ELM327-ESP32RET - Set advertised Bluetooth name
LAWICEL=1 - Set whether to accept LAWICEL commands (0 = Off, 1 = On)
WIFIMODE=2 - Set mode for WiFi (0 = Wifi Off, 1 = Connect to AP, 2 = Create AP
SSID=ESP32RETSSID - Set SSID to either connect to or create
WPA2KEY=aBigSecret - Either passphrase or actual key
Good videos to get started:
Since it runs on 12V why not make an infrared camera to measure and log your cars tire temperatures for a couple of tenners per wheel. Works with both Racechrono and Harry's Laptimer. Downloadable code and lots of info here: https://github.com/MagnusThome/RejsaRubberTrac
Works for example with SimosTools, an android based ecu flashing and logging software
https://github.com/bri3d/esp32-isotp-ble-bridge
https://github.com/Switchleg1/esp32-isotp-ble-bridge (fork)
This one acts like a fake car replying to OBD2 requests. The code running on it changes the rpm and other data in sequence.
https://github.com/MagnusThome/ESP32_OBD2_Emulator
https://github.com/EQMOD/REJSACAN_OBDWEB