Lowcost simple CAN dash esp32 uaDASH
-
- Posts: 14
- Joined: Mon Jun 03, 2024 4:33 pm
- Location: Kazan
Lowcost simple CAN dash esp32 uaDASH
At the end of last winter, when we were assembling a car for a friend with a K24 swap, I thought about making him a dashboard.
The ESP32S3 module with a 5-inch screen was purchased from the Chinese market.
Project on github: https://github.com/Light-r4y/dash5_esp32s3
a prettier interface greatly reduces rendering performance (~45fps vs ~15fps)
In work:
EDIT: available for sale at https://www.shop.rusefi.com/shop/p/uadash7
The ESP32S3 module with a 5-inch screen was purchased from the Chinese market.
Project on github: https://github.com/Light-r4y/dash5_esp32s3
a prettier interface greatly reduces rendering performance (~45fps vs ~15fps)
In work:
EDIT: available for sale at https://www.shop.rusefi.com/shop/p/uadash7
You do not have the required permissions to view the files attached to this post.
- AndreyB
- Site Admin
- Posts: 14727
- Joined: Wed Aug 28, 2013 1:28 am
- Location: Jersey City
- Github Username: rusefillc
- Slack: Andrey B
Re: Lowcost simple CAN dash esp32
We have to make it even cooler by supporting https://www.waveshare.com/esp32-s3-touch-lcd-5.htm?sku=28117
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
-
- Posts: 5
- Joined: Thu Mar 23, 2023 9:42 am
Re: Lowcost simple CAN dash esp32
Looks great, could you also add the squareline project to github please.
This is nearly perfect for me, but i'd like to change the fuel level for something else, also make the MAP bar suitable for boost.
This is nearly perfect for me, but i'd like to change the fuel level for something else, also make the MAP bar suitable for boost.
-
- Posts: 14
- Joined: Mon Jun 03, 2024 4:33 pm
- Location: Kazan
Re: Lowcost simple CAN dash esp32
Think add this. Later, need more refactor and optimize. First step been as prototype
-
- Posts: 14
- Joined: Mon Jun 03, 2024 4:33 pm
- Location: Kazan
- AndreyB
- Site Admin
- Posts: 14727
- Joined: Wed Aug 28, 2013 1:28 am
- Location: Jersey City
- Github Username: rusefillc
- Slack: Andrey B
Re: Lowcost simple CAN dash esp32
7 inch progress also new name https://github.com/light-r4y/uaDASH/
You do not have the required permissions to view the files attached to this post.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
- AndreyB
- Site Admin
- Posts: 14727
- Joined: Wed Aug 28, 2013 1:28 am
- Location: Jersey City
- Github Username: rusefillc
- Slack: Andrey B
Re: Lowcost simple CAN dash esp32 uaDASH
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
-
- Posts: 61
- Joined: Sun Sep 01, 2019 9:44 pm
Re: Lowcost simple CAN dash esp32 uaDASH
I had a play with the displays. Ive made it work on the Sunton 7" ESP display.
I make this displays for other systems, So I already make the Power supply/Can bus board.
I think the bench test integration is a great idea.
Here are the display setting
// resolution
#define LCD_WIDTH 800U
#define LCD_HEGHT 480U
#define LCD_PIN_HENABLE GPIO_NUM_41
#define LCD_PIN_VSYNC GPIO_NUM_40
#define LCD_PIN_HSYNC GPIO_NUM_39
#define LCD_PIN_PCLK GPIO_NUM_42
// RGB565 data pins
#define LCD_PIN_DATA_R0 GPIO_NUM_14
#define LCD_PIN_DATA_R1 GPIO_NUM_21
#define LCD_PIN_DATA_R2 GPIO_NUM_47
#define LCD_PIN_DATA_R3 GPIO_NUM_48
#define LCD_PIN_DATA_R4 GPIO_NUM_45
#define LCD_PIN_DATA_G0 GPIO_NUM_9
#define LCD_PIN_DATA_G1 GPIO_NUM_46
#define LCD_PIN_DATA_G2 GPIO_NUM_3
#define LCD_PIN_DATA_G3 GPIO_NUM_8
#define LCD_PIN_DATA_G4 GPIO_NUM_16
#define LCD_PIN_DATA_G5 GPIO_NUM_1
#define LCD_PIN_DATA_B0 GPIO_NUM_15
#define LCD_PIN_DATA_B1 GPIO_NUM_7
#define LCD_PIN_DATA_B2 GPIO_NUM_6
#define LCD_PIN_DATA_B3 GPIO_NUM_5
#define LCD_PIN_DATA_B4 GPIO_NUM_4
// timing and polarity
#define LCD_FREQ 14000000U
#define LCD_PCLK_ACTIVE_NEG 1
#define LCD_DE_IDLE_HIGH 0
#define LCD_PCLK_IDLE_HIGH 0
#define LCD_HSYNC_POLARITY 0
#define LCD_HSYNC_FRONT_PORCH 20
#define LCD_HSYNC_PULSE_WIDTH 30
#define LCD_HSYNC_BACK_PORCH 16
#define LCD_VSYNC_POLARITY 0
#define LCD_VSYNC_FRONT_PORCH 22
#define LCD_VSYNC_PULSE_WIDTH 13
#define LCD_VSYNC_BACK_PORCH 10
// touch
#define TOUCH_XMAX LCD_WIDTH - 1
#define TOUCH_YMAX LCD_HEGHT - 1
#define TOUCH_PIN_INT GPIO_NUM_NC
#define TOUCH_PIN_RST GPIO_NUM_38
#define TOUCH_PIN_SDA GPIO_NUM_19
#define TOUCH_PIN_SCL GPIO_NUM_20
#define TOUCH_FREQ 400000U
#define TOUCH_ROTATION 0
// Sunton_S3_LCD7 end
I make this displays for other systems, So I already make the Power supply/Can bus board.
I think the bench test integration is a great idea.
Here are the display setting
// resolution
#define LCD_WIDTH 800U
#define LCD_HEGHT 480U
#define LCD_PIN_HENABLE GPIO_NUM_41
#define LCD_PIN_VSYNC GPIO_NUM_40
#define LCD_PIN_HSYNC GPIO_NUM_39
#define LCD_PIN_PCLK GPIO_NUM_42
// RGB565 data pins
#define LCD_PIN_DATA_R0 GPIO_NUM_14
#define LCD_PIN_DATA_R1 GPIO_NUM_21
#define LCD_PIN_DATA_R2 GPIO_NUM_47
#define LCD_PIN_DATA_R3 GPIO_NUM_48
#define LCD_PIN_DATA_R4 GPIO_NUM_45
#define LCD_PIN_DATA_G0 GPIO_NUM_9
#define LCD_PIN_DATA_G1 GPIO_NUM_46
#define LCD_PIN_DATA_G2 GPIO_NUM_3
#define LCD_PIN_DATA_G3 GPIO_NUM_8
#define LCD_PIN_DATA_G4 GPIO_NUM_16
#define LCD_PIN_DATA_G5 GPIO_NUM_1
#define LCD_PIN_DATA_B0 GPIO_NUM_15
#define LCD_PIN_DATA_B1 GPIO_NUM_7
#define LCD_PIN_DATA_B2 GPIO_NUM_6
#define LCD_PIN_DATA_B3 GPIO_NUM_5
#define LCD_PIN_DATA_B4 GPIO_NUM_4
// timing and polarity
#define LCD_FREQ 14000000U
#define LCD_PCLK_ACTIVE_NEG 1
#define LCD_DE_IDLE_HIGH 0
#define LCD_PCLK_IDLE_HIGH 0
#define LCD_HSYNC_POLARITY 0
#define LCD_HSYNC_FRONT_PORCH 20
#define LCD_HSYNC_PULSE_WIDTH 30
#define LCD_HSYNC_BACK_PORCH 16
#define LCD_VSYNC_POLARITY 0
#define LCD_VSYNC_FRONT_PORCH 22
#define LCD_VSYNC_PULSE_WIDTH 13
#define LCD_VSYNC_BACK_PORCH 10
// touch
#define TOUCH_XMAX LCD_WIDTH - 1
#define TOUCH_YMAX LCD_HEGHT - 1
#define TOUCH_PIN_INT GPIO_NUM_NC
#define TOUCH_PIN_RST GPIO_NUM_38
#define TOUCH_PIN_SDA GPIO_NUM_19
#define TOUCH_PIN_SCL GPIO_NUM_20
#define TOUCH_FREQ 400000U
#define TOUCH_ROTATION 0
// Sunton_S3_LCD7 end
You do not have the required permissions to view the files attached to this post.
-
- Posts: 14
- Joined: Mon Jun 03, 2024 4:33 pm
- Location: Kazan
Re: Lowcost simple CAN dash esp32 uaDASH
Good work!
In Sunton display can change brightness?
and that pins using for CAN transceiver?
In Sunton display can change brightness?
and that pins using for CAN transceiver?
-
- Posts: 61
- Joined: Sun Sep 01, 2019 9:44 pm
Re: Lowcost simple CAN dash esp32 uaDASH
Yes the brightness changes normally.
Back light is Pin gpio 2.
Ive use pins RX gpio 17 and TX gpio 18 for the CAN Pins.
Back light is Pin gpio 2.
Ive use pins RX gpio 17 and TX gpio 18 for the CAN Pins.
-
- Posts: 14
- Joined: Mon Jun 03, 2024 4:33 pm
- Location: Kazan
Re: Lowcost simple CAN dash esp32 uaDASH
Added Sunton S3 7" support in github, but cannot check correct work because don't have this board
-
- Posts: 19
- Joined: Fri Aug 18, 2023 12:55 pm
Re: Lowcost simple CAN dash esp32 uaDASH
Hello, I recently received an ESP32P4 32M PSRAM 16M FLASH MCU 1024*600 DSI MIPI ips display. I managed to install the visual interface. I had to eliminate many things to get it to start. I have very little knowledge of LVGL and programming. If it helps to port this project and further expand compatibility, it is at your disposal.
You do not have the required permissions to view the files attached to this post.
Last edited by diegort5 on Wed Aug 06, 2025 3:20 am, edited 1 time in total.
-
- Posts: 14
- Joined: Mon Jun 03, 2024 4:33 pm
- Location: Kazan
Re: Lowcost simple CAN dash esp32 uaDASH
P4 is powerful chip, you can give more fps, but need fps check in working can receive (or fuzzing input packet).
Main projet focus on 800x480 resolution, need change ui files.
We may change the main board later, but for now Waveshare is more suitable because it requires less external adapters and soldering.
Main projet focus on 800x480 resolution, need change ui files.
We may change the main board later, but for now Waveshare is more suitable because it requires less external adapters and soldering.
-
- Posts: 19
- Joined: Fri Aug 18, 2023 12:55 pm
Re: Lowcost simple CAN dash esp32 uaDASH
Well, thank you very much for your appreciation. I'm going to try to develop and, at the same time, learn about the world of programming. Is it possible that I could count on your help in some case that requires it?
-
- Posts: 14
- Joined: Mon Jun 03, 2024 4:33 pm
- Location: Kazan
Re: Lowcost simple CAN dash esp32 uaDASH
Write questions here, I will help as much as I can.
I am not a perfect user of the ESP platform either.
Perhaps someone will also join the discussion.
I am not a perfect user of the ESP platform either.
Perhaps someone will also join the discussion.
- AndreyB
- Site Admin
- Posts: 14727
- Joined: Wed Aug 28, 2013 1:28 am
- Location: Jersey City
- Github Username: rusefillc
- Slack: Andrey B
Re: Lowcost simple CAN dash esp32 uaDASH
available for sale at https://www.shop.rusefi.com/shop/p/uadash7
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
-
- Posts: 5
- Joined: Sat Jan 18, 2025 9:34 am
- Location: Poland
Re: Lowcost simple CAN dash esp32 uaDASH
Great stuff!
Waiting for my ESPS3 boards to try it on my car!
Waiting for my ESPS3 boards to try it on my car!
-
- Posts: 5
- Joined: Sat Jan 18, 2025 9:34 am
- Location: Poland
Re: Lowcost simple CAN dash esp32 uaDASH
Looks amazing.
Waiting for my ESP32S3 boards to try it out!
Waiting for my ESP32S3 boards to try it out!
-
- Posts: 5
- Joined: Sat Jan 18, 2025 9:34 am
- Location: Poland
Re: Lowcost simple CAN dash esp32 uaDASH
Hi!
I've recived Waveshare 5inch display finally. During compiling of code I'm getting following error:
SOLVED:
The function gpio_hal_iomux_func_sel has been removed or deprecated in ESP-IDF v5.5, which is used in Arduino Core 3.3.0-RC1. This causes compilation errors in LovyanGFX when building for ESP32-S3
Solution:
Use ESP32 board version than 3.3.0
For ex:
3.2.0 (uses ESP-IDF v5.1)
3.1.2 (uses ESP-IDF v5.0)
BR
I've recived Waveshare 5inch display finally. During compiling of code I'm getting following error:
Code: Select all
C:\Users\Kuba\Documents\Arduino\libraries\LovyanGFX\src\lgfx\v1\platforms\esp32s3\Bus_RGB.cpp:98:5: error: 'gpio_hal_iomux_func_sel' was not declared in this scope; did you mean 'gpio_hal_func_sel'?
98 | gpio_hal_iomux_func_sel(GPIO_PIN_MUX_REG[pin], PIN_FUNC_GPIO);
| ^~~~~~~~~~~~~~~~~~~~~~~
| gpio_hal_func_sel
The function gpio_hal_iomux_func_sel has been removed or deprecated in ESP-IDF v5.5, which is used in Arduino Core 3.3.0-RC1. This causes compilation errors in LovyanGFX when building for ESP32-S3
Solution:
Use ESP32 board version than 3.3.0
For ex:
3.2.0 (uses ESP-IDF v5.1)
3.1.2 (uses ESP-IDF v5.0)
BR
-
- Posts: 14
- Joined: Mon Jun 03, 2024 4:33 pm
- Location: Kazan
Re: Lowcost simple CAN dash esp32 uaDASH
You can try just flash release firmware from github repoTheBadOne wrote: ↑Wed Aug 06, 2025 9:51 pmHi!
I've recived Waveshare 5inch display finally. During compiling of code I'm getting following error:SOLVED:Code: Select all
C:\Users\Kuba\Documents\Arduino\libraries\LovyanGFX\src\lgfx\v1\platforms\esp32s3\Bus_RGB.cpp:98:5: error: 'gpio_hal_iomux_func_sel' was not declared in this scope; did you mean 'gpio_hal_func_sel'? 98 | gpio_hal_iomux_func_sel(GPIO_PIN_MUX_REG[pin], PIN_FUNC_GPIO); | ^~~~~~~~~~~~~~~~~~~~~~~ | gpio_hal_func_sel
The function gpio_hal_iomux_func_sel has been removed or deprecated in ESP-IDF v5.5, which is used in Arduino Core 3.3.0-RC1. This causes compilation errors in LovyanGFX when building for ESP32-S3
Solution:
Use ESP32 board version than 3.3.0
For ex:
3.2.0 (uses ESP-IDF v5.1)
3.1.2 (uses ESP-IDF v5.0)
BR
-
- Posts: 5
- Joined: Sat Jan 18, 2025 9:34 am
- Location: Poland
Re: Lowcost simple CAN dash esp32 uaDASH
Works like a charm right now on Waveshare 5inch. Tomorrow I will try to flash firmware on 7inch.
I've just noticed that after succesfull flash, dash falls in a kind of "reset loop" until you hit save button on configuration screen.
But it works perfectly - today I''ve made a first test on Nissan with M113 Merc engine with rusefi ECU
BR
I've just noticed that after succesfull flash, dash falls in a kind of "reset loop" until you hit save button on configuration screen.
But it works perfectly - today I''ve made a first test on Nissan with M113 Merc engine with rusefi ECU
BR
-
- Posts: 14
- Joined: Mon Jun 03, 2024 4:33 pm
- Location: Kazan
Re: Lowcost simple CAN dash esp32 uaDASH
Reset cycle is a strange error, sometimes it occurs, I can't catch it exactly to fix this.
- DanielGaviria
- Posts: 8
- Joined: Mon Oct 30, 2023 1:34 am
Re: Lowcost simple CAN dash esp32 uaDASH
Hi all,
I designed an enclosure for the 5-inch Waveshare display and will be 3D printing it in the next few days to test fit.
Sharing the STL files here in case anyone finds them useful.
I designed an enclosure for the 5-inch Waveshare display and will be 3D printing it in the next few days to test fit.
Sharing the STL files here in case anyone finds them useful.
You do not have the required permissions to view the files attached to this post.
- DanielGaviria
- Posts: 8
- Joined: Mon Oct 30, 2023 1:34 am
Re: Lowcost simple CAN dash esp32 uaDASH
Hey,
Do you have the SquareLine Studio project file with the settings screen?
I’d love to help improve the UI, but when I export it without all the elements, it doesn’t compile.
Do you have the SquareLine Studio project file with the settings screen?
I’d love to help improve the UI, but when I export it without all the elements, it doesn’t compile.
You do not have the required permissions to view the files attached to this post.
-
- Posts: 5
- Joined: Sat Jan 18, 2025 9:34 am
- Location: Poland
Re: Lowcost simple CAN dash esp32 uaDASH
Hi!
I've tested 5 inch Waveshare, works perfectly
I've found some issues with 7 inch Waveshare. It compiles without issues, flashing runs succesfuly. After reset LCD remains white (full brightness). Can I someshow runs debugging to check what is causing the problem?
BR
I've tested 5 inch Waveshare, works perfectly
I've found some issues with 7 inch Waveshare. It compiles without issues, flashing runs succesfuly. After reset LCD remains white (full brightness). Can I someshow runs debugging to check what is causing the problem?
BR
-
- Posts: 19
- Joined: Fri Aug 18, 2023 12:55 pm
Re: Lowcost simple CAN dash esp32 uaDASH
Hi everyone,
I’d like to share the current progress of my uaDASH integration with an ESP32-P4 and a 1024x600 7inch LCD display. The project is about 60% complete — the main features are working, but the case/enclosure still needs to be designed.
Here’s what I’ve implemented so far:
External CAN Bus using an SN65HVD230 transceiver for direct communication with my rusEFI ECU.
Dedicated inputs for common dashboard warning lights, including:
Check Engine
Oil Pressure
Battery/Alternator
Turn signals (left/right)
High/Low beams
Handbrake
Seatbelt
Door open
Fully working bench test buttons for injectors and ignition coils
Help needed:
I’m currently trying to send a Start/Stop button command to a MicroRusEFI, but I get an error when sending it. I’m not sure if this requires creating a Lua script for that function. Any guidance or examples would be greatly appreciated.
Additionally, what are the possibilities of using free software to replace Squireline Studio, since after 30 days they charge for use? Given that there is another option, Squireline Studio, does anyone know if it is viable to continue with the project?
— Diego
-
- Posts: 14
- Joined: Mon Jun 03, 2024 4:33 pm
- Location: Kazan
Re: Lowcost simple CAN dash esp32 uaDASH
Settings screen had to be allocated to a separate project and then glued together in the code, the free version of the SquareLine Studio is limited in the number of widgets in the project. I probably later add in github repoDanielGaviria wrote: ↑Sun Aug 10, 2025 5:53 pmHey,
Do you have the SquareLine Studio project file with the settings screen?
I’d love to help improve the UI, but when I export it without all the elements, it doesn’t compile.
Screenshot 2025-08-10 115804.png
-
- Posts: 14
- Joined: Mon Jun 03, 2024 4:33 pm
- Location: Kazan
Re: Lowcost simple CAN dash esp32 uaDASH
Have you set up the display detection correctly? I think if you have bad RGBHVSYNC synchronization on the display, try building it in Arduino Studio. You also need to check the versions of the libraries used in the project.TheBadOne wrote: ↑Sun Aug 10, 2025 8:15 pmHi!
I've tested 5 inch Waveshare, works perfectly
I've found some issues with 7 inch Waveshare. It compiles without issues, flashing runs succesfuly. After reset LCD remains white (full brightness). Can I someshow runs debugging to check what is causing the problem?
BR
-
- Posts: 14
- Joined: Mon Jun 03, 2024 4:33 pm
- Location: Kazan
Re: Lowcost simple CAN dash esp32 uaDASH
Yeah Squireline Studio is not the best in this regard, it just happened that way and i started using it a lot. So now i have to merge screens programmatically. You can try "EEZ studio" (https://www.envox.eu/studio/studio-introduction/), it allows you to generate lvgl code, but i haven't used it myself yet.diegort5 wrote: ↑Sun Aug 10, 2025 8:42 pm
Hi everyone,
I’d like to share the current progress of my uaDASH integration with an ESP32-P4 and a 1024x600 7inch LCD display. The project is about 60% complete — the main features are working, but the case/enclosure still needs to be designed.
Here’s what I’ve implemented so far:
External CAN Bus using an SN65HVD230 transceiver for direct communication with my rusEFI ECU.
Dedicated inputs for common dashboard warning lights, including:
Check Engine
Oil Pressure
Battery/Alternator
Turn signals (left/right)
High/Low beams
Handbrake
Seatbelt
Door open
Fully working bench test buttons for injectors and ignition coils
Help needed:
I’m currently trying to send a Start/Stop button command to a MicroRusEFI, but I get an error when sending it. I’m not sure if this requires creating a Lua script for that function. Any guidance or examples would be greatly appreciated.
Additionally, what are the possibilities of using free software to replace Squireline Studio, since after 30 days they charge for use? Given that there is another option, Squireline Studio, does anyone know if it is viable to continue with the project?
— Diego
- DanielGaviria
- Posts: 8
- Joined: Mon Oct 30, 2023 1:34 am
Re: Lowcost simple CAN dash esp32 uaDASH
Thanks a lot for the reply!Light_r4y wrote: ↑Mon Aug 11, 2025 6:36 amSettings screen had to be allocated to a separate project and then glued together in the code, the free version of the SquareLine Studio is limited in the number of widgets in the project. I probably later add in github repoDanielGaviria wrote: ↑Sun Aug 10, 2025 5:53 pmHey,
Do you have the SquareLine Studio project file with the settings screen?
I’d love to help improve the UI, but when I export it without all the elements, it doesn’t compile.
Screenshot 2025-08-10 115804.png
I kind of figured you had to split the Squareline Studio project because of the widget limit, the unrestricted version is insanely expensive.
I’ll be waiting for the repository update!