Up to now I used my smartphone to watch either the VRM portal or the remote console on the status of my ESS system. But I always wanted to have a simple solution to watch the most important data of the setup, like SoC, PV power and actual battery charge/load power to decide if it makes sense to start e.g. the washing machine or dishwasher which I could also done at a time where more power is available. At least in my case it is way cheaper to use the PV energy produced instead of selling it to the grid - the worst case would be if the additional action requires to pull energy from grid.
Lately I stumbled over a small ESP32 + Display combo âESP32-2432S028Râ which I learned is called âCheap Yellow Displayâ (CYD). It can be ordered at usual sources (Ebay, Amazon, Aliexpress etc.). It is low cost, based on the common ESP 32 module, includes WiFi and can be powered with a standard USB power supply. It didnât require a lot of effort, with the help of the Arduino IDE environment and some basic libraries, to set up such a monitor display. It gets data via ModBus TCP from the Cerbo GX every few seconds and displays it using some basic gauges using a library called LVGL. It was a perfect project over the Christmas holidays!
The gauges also change their background color to green, if the condition is good to consume more power. Ideally, all three gauges are green. Also, a simple estimate is provided, how long the battery will last in hours, assuming no more PV power would be available, assuming the continuation of the actual power consumption (or at least a minimum average consumption).
I thought it might be of interest by others as well. The project is just requiring a single file, so I attached the code here instead of setting up some repository. It should not be too hard to add further information or modify it with different limits or gauges for own needs. One could even add some control, as the display also has a touchscreen interface and one could add further TCP control (e.g. to start the EVC or similar) - maybe even by the help of node-red on the Cerbo. Just to give some ideasâŚ
More details about the requirements and programming setup can be found in the header of the file: CYD_Victron_Display_v1.1.zip (6,7 KB)
It might be also useful in a RV or similar environments assuming the Cerbo is set in AP mode the display can connect to via WiFi, so no (display) cable to the Cerbo is needed. One can also use a USB supply from a 12V plug thenâŚ
Agreed, without any programming knowledge it is definitely the simplest way to go.
This was also my solution up to now, I had an old Nexus 7 which couldnât show the new v2 GUI anymore and barely worked with v1. I spent a lot of time to get it somehow working stable (freezes requiring hard resets/unexpected reboots, âŚ). No way to install latest browsers. This smartphone/tablet stuff just gets outdated rather quick in respect to their OS/software. So this âoldâ hardware should be still quite recent, otherwise one can spend a lot of time without a satisfying result (not to mention power consumption for an always-on display which I wanted to have).
I finally spent less time with this approach (basically one weekend, as I had worked with the Arduino IDE before and also used Modbus stuff with Python) - and I learned a lot more that way with will be useful for other projects as wellâŚ
Yep, thanks for that comment. I suppose thatâs also what @Ludo meant. I tried this as well with my Nexus. But as it is written there: âit is recommended to use a modern Android version as it has not been tested with older devicesâ. It shows the initial setup screen, when I try then to connect to the Cerbo, the app crashes. Also, I have a smart phone which is working nicely with VRM, I just donât want to dig it out all the time just to check the SoC.
Thatâs another reason why I was happy to find something simpler, which is also up and running in seconds after I plug it in Those WiFi displays are so cheap and low-power, so I consider to place a few more of them, one in the kitchen, one near the washing machine, even one in the garden and also add a power switch - as it is no security risk, one canât control anything with it.
I have a solution for me and donât need another one, everyone interested in that can use my code I presented here, that was the only purpose of my post.
But to answer, of course - who does not know node-red. I use node-red for some automation tasks locally on the Cerbo. I also mentioned that in my post.
Not to mention to use MQTT or other protocols and many tools that go with it (Grafana, âŚ). All this is nice especially if one does not want to dive into C/C++ programmming, no question. But it always requires a client running a web browser, which is a significant overhead. If I really have the need to change something in the system, I can just use my (actual) phone or notebook and the VRM portal. But this is not the main topic of my post. It is not a relevant use case for me, as it rarely/never happens anymore. I just want to display some data for monitoring purposes to âsychroniseâ some energy-consuming work at home a bit better with the sun, so to say.
So, I might spend a lot of time to get my old Nexus I have working as a monitor display - what for? To wait that it will finally die - or even worse itâs battery explode, as I canât simply remove it. I have to connect it all the time to a power supply, otherwise I wait for ages to get it booted. I also wonât buy now old phones just for the use of some data displays in my home. I already spent too much time for that experients, way more than finally organise the display and writing the few lines of code for itâŚ
Those CYDs are cheap, brand new, do not require batteries or other overhead, are low power, boot in seconds and if one should really die, I have the same one one ordered and (re-)programmed again w/o any fuss in minutes. Just need to wait a few days for the delivery.
It has a capacitive touch with glass display instead of a resistive one with plastics and a nice case to mount it e.g. in a kitchen door or so, so no need for a 3D print (would have been my next task). But ok, it is also a bit more than double the price to the CYD - but still reasonableâŚ
ESP32 as base (even if it is a S3 type) Iâd say the Wifi stuff (including the ModBus TCP functions I set up) should work with the Arduino ESP32(S3) installation âout of the boxâ. For the display, the critical thing is to get the correct âUser_Setup.hâ file for the TFT_eSPI library. This sets up all the I/O stuff, SPI control for the driver IC and so on for the display (at least the approach I used).
I had a look on this offer, there is a ZIP to download with some Arduino environment including the LVGL lib (this is what I also used), the chances are high that it can be done. Although it seems that it didnât include this TFT lib (that one can just re-use this config file). So some code modifications may be needed (especially if the included LVGL lib is older), maybe an afternoon to get it done.
But I really liked what I saw, so I bought one and will post the code again (but takes a few weeks to get it delivered)⌠This will be the one for the garden!
Thanks you so much for sharing this. As someone who is just getting into this, your post is very interesting.
Using an old mobile could also be interesting for me, if I knew how.
@ErikC it might be even better to open a new thread as it is a different board. But I just saw my order of this display passed customs, so it might not take too long to get it and check it outâŚ
I need same LCD size as for Victron Touch 50. Both LCD/touch screens will be placed next to each other in my camper van. Different sizes do not look fine. Moreover the screw-terminals are more easier.
I can modify your code when you are ready for 480x320.