DIY CAN Bus Racing Dashboard | Generated by AI

Home 2026.06

Now the picture is much clearer — this is a CAN bus-based digital dashboard / racing display, almost certainly built for sim racing or a real car’s OBD/CAN telemetry.

Reading the board:

The display (top):

The compute module:

The breakout below it:

What it actually does:

The ESP32-S3 reads CAN frames (either from a real car’s OBD-II/CAN bus or from sim racing telemetry like iRacing/Assetto Corsa over a CAN gateway), decodes the gear/clutch/oil/RPM signals, and renders them on the LCD as a race dashboard.

This is the same maker building the G-force meter from your first image — same prototyping style (perfboard, ESP32-S3, USB-C, orange-on-black UI theme). It’s a classic DIY car/sim dashboard project.

The typical stack:

ESP32-S3 (T-Display-S3)
   │  SPI → built-in ST7789 LCD
   │  GPIO → SN65HVD230 CAN transceiver
   ▼
CAN bus (CAN-H / CAN-L, 500 kbps typical for automotive)
   ▼
Car ECU  /  Sim racing CAN gateway

Minimal firmware shape (Arduino-ESP32, using the built-in TWAI/CAN peripheral):

#include "driver/twai.h"

void setup() {
  twai_general_config_t g = TWAI_GENERAL_CONFIG_DEFAULT(GPIO_NUM_43, GPIO_NUM_44, TWAI_MODE_NORMAL);
  twai_timing_config_t  t = TWAI_TIMING_CONFIG_500KBITS();
  twai_filter_config_t  f = TWAI_FILTER_CONFIG_ACCEPT_ALL();
  twai_driver_install(&g, &t, &f);
  twai_start();
  // init ST7789 display...
}

void loop() {
  twai_message_t msg;
  if (twai_receive(&msg, pdMS_TO_TICKS(10)) == ESP_OK) {
    switch (msg.identifier) {
      case 0x1F0: gear   = msg.data[0]; break;   // example IDs —
      case 0x1F1: clutch = msg.data[1]; break;   // depend on your DBC
      case 0x1F2: oil    = msg.data[2]; break;
    }
    drawDash(gear, clutch, oil);
  }
}

The real work is the DBC file — the mapping of CAN arbitration IDs + byte offsets + scaling to physical signals (gear, RPM, oil temp). For sim racing, people often use a PC plugin (SimHub) that pushes telemetry over serial/CAN; for a real car you reverse-engineer the OEM CAN IDs.

Want me to write the full T-Display-S3 dashboard firmware — TWAI receive loop + a clean ST7789 gear/clutch/oil layout matching that orange-on-black aesthetic? It’s ~150 lines.


Back Donate