Skip to content

Repository files navigation

ESP Dash (LVGL) — Speeduino Dashboard + WiFi Portal + SD Logging

A fast, touchscreen-friendly ESP32 dashboard for Speeduino-style data, built on LVGL + TFT_eSPI for a 480×320 3.5" display.
Includes RPM meter + tiles, SD CSV logging, a WiFi AP configuration portal, warning alarms, and a shift-light overlay.

Highlights

  • Two dashboard layouts

    • Meter view: analog-style RPM meter with color zones + big RPM readout image
    • Bar view: horizontal RPM bar with tick labels + tiles grid image
  • SD logging (CSV)

    • One-press REC start/stop
    • Auto-increment log index (/log_00001.csv, etc.)
    • Download logs via the WiFi portal (including “latest log” shortcut)
  • WiFi configuration portal (AP mode)

    • Connect to ESP_DASH and configure warnings / logging / view mode
    • When a device connects, the dashboard switches to a static portal screen for maximum stability image
  • Warnings + shift light

    • Per-sensor min/max thresholds with enable toggles
    • Full-screen flashing shift overlay at configurable RPM
image

Check the files section for demo videos and actual screenshots

Current Bugs

-web portal is a bit flakey and requires more development

###HARDWARE Freenove FNK103, ESP32 CYD 3.5 Inch Touch Display WiFi BT Dual-core 32-bit 240 MHz Microcontroller image

image

Installation

Install

Arduino IDE 2.3.7

Download

files from from GitHub

  • esp_dash_v1.ino
  • lv_conf.h
  • esp_dash_v1.cpp
  • TFT_eSPI_Setups
  • User_Setup.h
  • User_Setup_Select.h

Pre-Requisites

install the following Libraries

  • TFT_eSPI by Bodmer v2.5.43

  • copy User_Setup.h and User_Setup_Select.h into the TFT_eSPI library folder overwriting the existing

  • copy TFT_eSPI_Setups folder into the Arduino Libraries space

  • image
  • lvgl by Kisvegabor v8.4.0

install the following board type

  • esp32 by Espressif Systems v3.3.5
  • set board to ESP32 Dev Module
  • PSRAM = Enabled
  • Partition Scheme = Huge APP (3MB No OTA/1MB SPIFFS)

Prepare the firmware

run esp_dash_v1.ino and allow it to create a folder then move lv_conf.h and esp_dash_v1.cpp into the same folder.

you should now be able to flash your display

Connecting Display to ECU

I have only tested this with the Freenove FNK103 and a Speeduino 4.3

  • I couldnt get this to work with a logic level shifter or using a divider, so went direct and it seems to work reliably so far.
  • My board was damaged and 1 of the resistor was missing on the serial line just behind the port. i ended up removing both and bridging them

FNK103
Serial Port_____________Speeduino
5v---------------------------------5v
Gnd--------------------------------Gnd
Tx---------------------------------Pin 15 RX (Arduino Mega 2560)
RX---------------------------------Pin 14 TX (Arduino Mega 2560)

USE THIS AT YOUR OWN RISK

About

Low cost digital dashboard to connect to speeduino ECU via Serial 3

Resources

Stars

23 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages