DAVEga Touch Screen Remix

I’m guessing a light ON - Off feature would require an additional power input for this?

Updates!!
I’ve been busy with some vacation, but I’ve made some progress on the project.
First, I scrapped using the ESP32 due to some compatibility issues with existing touch screen libraries and am now developing on the Teensy 3.6. I’ve made my own unit by hot gluing the microcontroller to the back of the touch screen and soldering the wires to where the screen header pins were:


I’ve also swapped all the code to take advantage of Paul Stoffregen’s optimized graphics library so the refresh rate on the unit is really fast

I’ve started putting some effort into making a realtime graph screen now that I have more memory to work with on this board, and here’s some progress shots of it:


There’s currently only one graph being drawn but I already have to logic of drawing up to 5 graphs of your selected telemetry (speed, duty cycle, motor amps, battery amps, etc…).
I’m probably going to put this screen on hold and focus more on getting a settings menu in place right now though. Being able to go from any of the existing screens to a settings menu to change your settings and then directly navigate to any other screen from that one would be a better addition to add right now, I think.

So here’s my tasks:

  • Make a settings screen
  • Finish the realtime graph screen
  • CAD up a pcb that the Teensy can slot into and be soldered to the screen back without a ratsnest of wires
  • Whatever else others want to see added while the pcbs are printed
6 Likes

Cool stuff :+1:

For my usage I need 100% so my davega is in a fully sealed enclosure. Making touch screen inputs not work. I guess you could have a thin flexible screen protector but might be a bit trickier to assemble in a water proof way.

I’m still keeping the physical buttons. You’ll be able to do everything with the buttons you could with touch screen just a different kind of interaction. For example, there will be a red highlight around the selected button and pushing the far left or right mechanical buttons will change selected UI element, then middle button will select

@janpom I just thought of something that could probably help save you some space on the version of davega made for the Nano. Instead of instantiating a new instance of an Adafruit_ili9431 object for each DavegaScreen, only instantiate one in davega.ino then pass reference to each screen through their constructors. It saves like a kilobyte per screen which really adds up on the Nano since the original is nearly maxed out of space as is

They already share one instance. See: https://github.com/janpom/davega/blob/master/davega_ili9225_screen.cpp


For some reason in my mind I thought it was scoped to within the class definition.

2 Likes

More updates!! Here’s what’s new:

Settings/Navigation Screen
You can now navigate from any existing screen to any other screen, as well as change configuration at runtime. So far you can toggle temperature units (C/F), other units (Imperial/Metric), the primary item to display on simple vertical and horizontal screens (speed, motor current, battery current).

Realtime Data Display Screen
Minus a few bugs left to squash, I’ve fully finished the the realtime graph screen, with the ability to enable/disable what values you’d like to see graphed. Currently I track 6 points of data but can change/add new ones if ya’ll see fit:

  • Speed
  • Battery Current
  • Motor Current
  • Motor Temperature
  • FET Temperature
  • Duty Cycle
    Here’s a live demo video of navigating between all the screens, which have all been scaled up to fit the 2.8" touch screen:


TODO:

  • Add navigation ability with physical buttons for everyone that want a waterproof enclosure
  • Finish the ability to rotate screen orientation from the settings screen.
  • Misc bug squashing like how sometimes it double-registers a button click. Pretty straightforward fix, just need to sit down and do it.
  • Figure out what functionality to put in the two other buttons I have on the horizontal screen. I have the real estate for the buttons but no clue what to do with them.
  • MORE SCREENS AND OPTIONS!! I’m literally doing this for free; you can directly affect how this is made just by saying here what you think would be cool to have.

Let me know what you think and what I should focus on!

3 Likes

Since the last update I ended up ordering some adapter boards to be fabricated so that a ratsnest of wires aren’t needed to be soldered between the microcontroller and the screen anymore.

Also I’m almost done adding LED strip driver code! I have a menu that lets you pick colors and choose from a handful of animations to play too. It’ll work with any strip of WS2812B LEDs.
Lastly I’m going to try and come up with a new look and feel to the basic menus and screens. The orginal screens will still be selectable but I’m getting some help from my UX engineer at work to try and come up with a UI that look a bit more polished.

Stay tuned!

3 Likes

This is amazing!

I see you took the light strip idea :slight_smile:
You’re making me wonder if I have to invent a aluminum plate to hold yours next to my present davega :stuck_out_tongue:

If you’re looking to get a head start, download the STL I made for it to be held in landscape here!

1 Like

Dont have a printer…can’t justify one to the wife :joy:

Cool topic.

Have u upgraded davega features, in any other way besides graph feature?

That data plotting does open up some more possibilities.

1 Like

So originally, this was just a quick project with the intention of getting davega on a bigger screen. On bigger screens, the original display took unreasonably long to render because there were so many more pixels to drive. This led me to then use the teensy 3.6 for development, and the graphs were only available because of the extra memory available on the teensy, making it not backwards compatible anymore. It lost steam when the forums in general started loosing interest, Davega 2.0 came out, and I was getting antsy to make progress on my project backlog, so this kinda stagnated. For those interested I can upload the code, but besides the graph there’s not much reason to prefer it over the official one IMO.

1 Like

How hard would support/code adjusting for this display be? Its 2 inches like the original davega v1 but has 320 x 240 pixels… Uses ST7789VW driver though :confused:

Hi, I’ve just stumbled across this thread and I know its been a while but I was wondering if you’d be willing to upload the code at whichever point you got to.

2 Likes

@Slade I’d really love to get access to your hard work. You wouldn’t have to provide any additional support, it’d just be upload and hand over. I’d still credit you of course. It’d mean a lot if you could read this and reply either way. Thanks in advance

1 Like