Wednesday, April 28, 2021

Digital Dashboard Do-over

 New Digital Dashboard

After several years of using an Arduino DUE (32-bit, 64Mhz) as a digital dashboard controller, it was time to modernize the system.  The Teensy 4.1 was released in 2020 and brings 600 Mhz, a floating point unit (FPU), and a lot of I/O.

Interfacing this to the existing systems required some new code development.

SAINSMART 7" SSD1963 LCD - A custom wiring interface had to be created to connect this display to the Teensy.  It is a 16-bit interface so having the extra I/O on the Teensy 4.1 was a benefit.  Also, the timing of initializing the display created additional development.  The 600 MHz processor start-up is quite fast and prior to the LCD initialization, special timing delays (100ms) needed to be introduced.  The MCUFriend_KBV LCD driver library worked great and a custom Teensy 4.1 SSD1963 interface was posted on GitHub.

The RF24 (radio, comms to the BMS and battery charge monitor), XPT2046 (touchscreen, used to switch display modes), and SD (storage of startup bitmap image) libraries worked as expected.  The Teensy version within the Teensyduino package from PRJC Version 1.54 Beta 9.

The Flexcan_T4 Canbus interface did not work on the CAN3 integrated interface in the Teensy 4.1 but worked well on CAN1 with a 3.3v Canbus transceiver from LC.

The built in Real Time Clock (RTC) of the Teensy only requires a coin-cell battery (2032), but that was simple.

A separate 12V-5V (25w) supply has been added to power a USB hub and the TFT LCD backlight.  This hub now provides a single USB connection to the dashboard, timing advance controller (Teensey 4.0), and the Kelly KLS controller serial-USB interface for configuration.  The hub also provides power to these devices.

The simplest step was the analog drivers (with FET drivers) for the original Mini gas gauge and motor temperature gauge which require 10v to operate.  A dedicated adjustable power supply is in place to provide a constant 10v supply from the car's 12v.

With the new design, new mounting brackets for the LCD to the dashboard were created and 3D printed.


The new processor is fast enough to provide are faster interface for the driver and better gradation of the graphics, improving the overall look for the dashboard.