![]() |
DIY Mini-Dash LCD Gauges Update #2 - New Layout & Multiple Screens!
Hey everyone!
I just wanted to share some of the progress on the Bluetooth and CAN bus gauges we are woking on... We have updated the design/layout for a more modern look AND can now use a steering wheel button to change what the LCD display shows! Now that we press a button on the steering wheel and change what is shown on the display, we can now show items like: • Engine boost / intake manifold pressure • All four tire pressures in real time. (many have asked for this!) • Drive torque split between front and rear axle (G37X only) • Intake air temperature • Automatic transmission fluid temperature • Engine Torque & Horsepower • Lateral acceleration in g's • Battery voltage • and 50+ additional items... we just need to find space for them!! With the ability to show multiple screens of data, we now need to use a "Real time operating system" (RTOS). This will allow us to multi-task and get the quickest responding gauges possible. Remember, we have data coming in via bluetooth, CAN bus and OBD and we need to crunch numbers, update the display and look for button presses to display the next page. If all goes as expected, the next update should be VERY good :) |
That is hugely exciting!
Can you share more about what kind of RTOS you're going to use and what benefits you're going to get from it? |
Quote:
The ESP32 has 2 cores. Core 0 will be doing all the Bluetooth work. Core 1 will be managing the CAN bus, OBD requests, display update and general logic. In the beginning, I was only planning on displaying 4 items, so the structure was designed around that. BUT now that I can change pages, I need to manage the ESP32 cycles more efficiently. With the RTOS, I will split the tasks on core 1 to run "at the same time" (not really, but any dead time is given to a task that can do something) The plan for tomorrow is to have the CAN bus data as its own task, the OBD requests as its own task and see how well that works as I add additional data items. I am no expert on this... but I have a plan and will try it and see what happens :) PS Thanks for your excitement! If you are up for it, I love to meet up in the spring and chat more about this AND if I could record your car's CAN bus, that would be VERY helpful :) |
RTOS is cool. I've never really done any work with microcontrollers so hadn't encountered it before. Seems like a priority task scheduler is pretty useful for this. Now that you've added the button listener for changing pages. I don't know that you need to assign specific functions to a specific core tho... wouldn't the scheduler balanced tasks on the cores for you? Either way, interested to see the results.
Happy to help with can scanning too! |
When dealing with a micro-controller like the ESP32 you need to specify what task is running on which core. It doesn't want to use any resources to figure out "what is best" PLUS with the wireless communications being on core 0, if a task was moved there it may have unintended consequences.
Thanks for the help on getting CAN bus data! Do you drive the Z in winter? |
I don't drive much in winter but I don't store it away.
I was looking here https://docs.espressif.com/projects/....html#task-api i guess in your case you have long running tasks that need to lock down a single core anyway. you wouldn't want a task being put onto the wireless core because it would pause execution of the wireless task. Makes we want to start a can bus project of my own. |
What's the dimensions of the unit?
|
Quote:
As of yesterday, Core 1 now has 3 tasks running: Reading CAN bus, updating display and sending OBD requests. You should start a CAN bus project...I have found it to be very interesting and a lot of fun. |
Quote:
The hardware is designed to work with 1.5", 2", 2.4", 2.8" and 3.5" LCDs and a few 1" OLED displays for a "slim line" ~1"x 3" version. The first version will be for the G37, just because that is what I drive and can easily test functionality and fitment. In the spring, I will be meeting up with a few local 370 folks (Toronto) and see what the options are for gauge placement and start to design the enclosure for the LCDs. |
Quote:
|
Quote:
The current version now has 8 pages of data and by the end of today I will have a total of 14 pages of CAN bus, Bluetooth and OBD live data. I want to make sure the hardware can receive and process all this data AND continue to re-draw the LCD screen of 30 times per second, for smooth gauge animation. Tomorrow I am meeting up with a G37x owner to test displaying the current AT7 gear (even when in drive) live TPMS pressures, torque converter lockup, AT7 input/output shaft speed and the GT-R like % front axle torque. Wish me luck! |
[QUOTE=MotorvateDIY;4021299]What screen size are you most interested in?
The current version now has 8 pages of data and by the end of today I will have a total of 14 pages of CAN bus, Bluetooth and OBD live data. I want to make sure the hardware can receive and process all this data AND continue to re-draw the LCD screen of 30 times per second, for smooth gauge animation. Tomorrow I am meeting up with a G37x owner to test displaying the current AT7 gear (even when in drive) live TPMS pressures, torque converter lockup, AT7 input/output shaft speed and the GT-R like % front axle torque. Wish me luck![/QUOTE Large enough so us old guys with bad eye's don't need reading glasses to read the display :tup: Good luck! |
Quote:
|
those that have flex fuel / ethanol sensors wired in and read E% with ecutek, can you display % through can bus / OBD?
|
Quote:
I don't think EcuTek would send the ethanol % on the CAN bus as there is no need.... no other module needs to know the ethanol %. Questions: • What ethanol sensor do you have? • Does the ethanol % show on the app? I will start to look into this... I think a small ethanol % gauge would be useful. |
All times are GMT -5. The time now is 05:33 PM. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.6.0 PL2