Custom MQTT Dashboard (STM32 + ESP32)

I thought I’d share a little clip of this on the breadboard.

It’s a little kiosk style dashboard widget for the kitchen. I am currently learning the advantages of the STM32 micros over the Arduino and ESP (to some degree).

So I use the ESP32 solely as a Wifi module. Luckily enough the ESP32 with factory AT command firmware provides not just Wifi, but also MQTT pubsub client support.

The next step, already in progress, is creating the PCB for it and a 3D printed case. The software PoC is complete.

V1 has:
STM32 doing the application code, TFT screen driver, RGB status LED and the command line interface (on serial).

It connects to Wifi, connects to MQTT, subscribes to how ever many topics and the rest of the code is rendering stuff to the screen. The background colors are picked off the scale and the zones can change, it shows the highest indoor, lowest indoor, outdoor temps. Highest indoor humidity and outdoor humidity. Currently it also shows the house power consumption, the solar panel and battery stats and the heating loop temp.

At each layer it tries to be re-usable. So each layer has an API, splitting the problem into a bunch of opague components. For ease of programming most of the stats are actually sent in a single custom message, but I have pointed my whole MQTT topic set at it and it was fine.

If the first prototype works well, V2 will add touchscreen support to facilitate a more interactive multi-page UI. I also hope to break out a few more of the STM32 peripherals and make it into a kind of multi-purpose dev board. An all in one, multi MCU, Wifi, IoT dashboard with 4" touch screen. Bill of materials is about £20.


Boot sequence :slight_smile: (It does actually say Please Wait… Initialising, lol)

2 Likes