CAN MASTER Gauge

I just wanted to share some of my progress in the past 12-18 months since getting started with LVGL.
Some people might have seen my posts around here in the time frame mentioned above where I demonstrated my LVGL app several time while asking questions on the forum.

While I was satisfied with the app, I was not satisfied with the hardware.
The first version was based on a Teensy 4.1 - while it’s a very powerful board, it was just a tad too big for my project. It supported an 8/16 bit wide parallel bus but the transfer method was blocking the CPU from doing other tasks.

Several months ago the Teensy MicroMod was released, and it has the perfect size + it’s easily interchangeable in case I brick or damage a unit.

The Teensy MicroMod is based off the same chip as the Teensy 4.0 and 4.1, it just comes in a different form factor.
One upside, is it has enough contiguous pins on its FlexIO peripheral to emulate an 8 bit wide parallel bus.

I spent the last couple of months understanding how FlexIO works, and built a simple display driver for the ILI9488/9486/9481 and R61529 displays that works on the Teensy MicroMod.

A quick port of my app from the Teensy 4.1 to the MicroMod and a few more tricks up my sleeve - and here it is:

P.S watch the video @ 1080p

The display (R61529) is running on a 8-bit parallel bus @ 24Mhz
Data is transferred via DMA to offload the task from the CPU and allow it to do other things (CAN, LVGL etc)
LVGL is set up with two half screen sized frame buffers that reside in DMAMEM (RAM2) (The Teensy 4.x has 1024kb of RAM split up into two 512kb sections)
Frame rate is quite high - at around 45-60 FPS

I want to give a shoutout to @embeddedt for all the help on my different threads, and to @Dogbone06 my partner in crime who has been co-developing the hardware with me of the past year.

6 Likes

Looks impressive, thanks for sharing! :+1:

1 Like