Hello everyone,
I’d like to share a project I recently developed and open-sourced: VictronSolarDisplayEsp GitHub - wytr/VictronSolarDisplayEsp: ESP32-S3 based display for Victron SmartSolar, with BLE decryption, Wi-Fi captive portal, and mobile-friendly web configuration.
It’s an ESP32-S3-based touch display that connects via BLE to Victron SmartSolar devices, decrypts the data, and displays real-time values on a 3.5" LCD using LVGL.
All configuration (AES key, Wi-Fi, display settings) can be done directly on the device or through a built-in captive portal—no reflashing or serial connection required.
Features
-
Live Victron BLE data: battery voltage, current, solar input, yield, error codes, MAC address, and more
-
320×480 capacitive touch LCD with a custom LVGL-based UI
-
Wi-Fi AP mode with captive portal for easy setup (enter AES key from your phone)
-
All settings (AES key, Wi-Fi, brightness, etc.) stored in NVS and editable from the UI
-
Open source (GPLv3), easy to customize and extend
Hardware
- ESP32-S3 touch display module (e.g. JC3248W535 or compatible)
Current status and call for community testers
At the moment, I only own a SmartSolar MPPT 75/15 (a Solar Charger) and therefore have to mock other device classes using a second ESP32 to simulate their BLE advertisements.
Since version v1.1.1, the firmware includes experimental support for the 0x02 Battery Monitor device class, such as the Victron SmartShunt.
However, I don’t have a real device to test this with yet.
If anyone owns a SmartShunt or another supported device and would like to help test the display, I’d really appreciate it.
Flashing the firmware is now very straightforward using the integrated web flashing tool on the demo page — it automatically installs the latest release (v1.2.0):
https://demo.nihilanth.de/