Tuesday, 10 February 2026

Making a Heltec CubeCell-Board Plus based slan-031 environmental monitor

(Tues 10th Feb 2026) Refactoring the code

This board has a long history. It is labelled slan-031 and sends readings from a BME680 sensor over LoRaWAN.

Currently, it sends temperature, humidity, battery level and atmospheric pressure every 10 minutes.

slan-031 environmental sensor

However, its charging circuit and antenna connection are broken. So no PV panel input and antenna is glued on.

I have raised Bugzilla bug #2 to track the changes needed http://192.168.1.153/bugzilla/show_bug.cgi?id=2

These being:

1) Code to be refactored into main, display, sensor and comms files.

2) Would like info displayed on reset

3) Would like info display on USER button press

4) Would like red LED to flash when battery below 3.5 V

The transmitted values can be seen by anyone at site: 

https://shannontownwetlands.ie/environmental-sensors/drumgeely-polytunnels


Website view of data

I tried the Claude Code generated files but they would compile so doing the refactoring by hand. But first to add code to GitHub

https://www.geeksforgeeks.org/git/how-to-fix-support-for-password-authentication-was-removed/

 1449  git commit -m "2nd commit, still not on GitHub"
 1450  git branch -M main
 1451  git remote add origin https://github.com/kilnageer2/HTCCAB02_LORA_DISPLAY_BME680.git
 1452  git push -u origin main
 1453  git status .
 1454  nano README.md 
 1455  git status .
 1457  git add .
 1458  git status .
 1459  git commit -m "Updated README.md"
 1460  git status .
 1461  git tag
 1462  git tag -a v1.08 -m "Initial working baseline before moving code"
 1463  git tag
 1464  git show v1.08
 1465  git status .
 1466  git push -u origin main
 1467  # Nice that remote repo is now Private!

Successfully pushed code from rhubarb laptop to GitHub using above but now need GitHub to accept it!




(17:01) Next to start messing with the code!


(18:50) Code looking good now have displays at start of device info and before first transmission of sensor data


Display after a reset of device info

Display at first transmission of sensor data

So just three things to do now:

1) Move LoRaWAN code to lorawan.cpp and lorawan.h

2) Show last sensor data and number of transmission since reset when USER button pressed

3) Flash RGB LED as red if battery below 3.5 V

(20:24) Well that's me done for the day. Tag v1.12b just has USER button code to add,

Red LED flashed and this is displayed on low battery (< 3.5 V)
















Monday, 9 February 2026

Celestron NexStar 130SLT Telescope automation

(Sun 8th Feb 2026 21:00)

Nearly got scope calibrated but clouds arrived at 10 pm. Need three bright stars and a clear sky now.

So why talk about this here?

Well a WiFi dongle for this scope cost 200 euros. Enough said.

https://www.amazon.co.uk/Celestron-93973-Skyportal-Wifi-Module/dp/B00OJ5Z2NM




Too cold for outside and no 12V power

12V power and star finder fixed



Saturday, 7 February 2026

Getting LoRaWAN Balena Cloud / The Things Network / RPi4 + RAK2245 Working

(Mon 9th Feb 2026 10:11)

Well couldn't compile but display and LoRaWAN code at the same time. So I will persevere this morning :) Let's log this fault BackLog (from NuLab) or switch to Bugzilla?

Let's install Bugzilla on sionnach via TigerVNC Viewer on rhubarb laptop.

http://bugzilla.readthedocs.io/en/latest/installing/quick-start.html

Hurrah after missing file (/etc/mysql/conf.d/bugzilla.cnf) and folder (/var/www/webapps/data) resolved Bugzilla is now live.

(12:00) Off for a celebratory walk now. I will migrate bugs from BackLog to Bugzilla as I work on them :)

Need to create a Tola Smart Home user and database next

(15:36) Successfully created first bug report:

http://192.168.1.153/bugzilla/show_bug.cgi?id=1

First Tola Smart Home bug report in Bugzilla

Fixed this bug by not including #include <Wire.h> so just commented it out and closed bug #1

But now would like to use VSC with integrated Github support to write, download and debug code. Looks like Arduino CLI should enable this: https://arduino.github.io/arduino-cli/1.4/

(18:06) I will then refactor my code and make it mode modular for re-usability. Amárach



(Sun 8th Feb 2026 14:26)

So leave the gateway for now and get 2x  Heltec Vision Master E290 going in Arduino. 

But first fix up slan-031 to tx every 10 mins (rather than every 15s) and to display stuff for first transmission. In Arduino IDE it's board: Heltec "CubeCell-Board Plus (HTCC-AB02)"


Heltec CubeCell-Board Plus (HTCC-AB02) Pin Out


Circuit diagram of slan-031




(Sun 8th Feb 2026 13:26)

Next to get gateway on Ethernet and turn off WiFi.

Connecting to 4f00dab6411df9abd9d9166cbb1c5cde...
Spawning shell...
=============================================================
    Welcome to balenaOS
=============================================================
root@4f00dab:~# nmcli
wlan0: connected to TolaPark5G
        "wlan0"
        wifi (brcmfmac), B8:27:EB:E9:35:B4, hw, mtu 1500
        ip4 default
        inet4 192.168.1.182/24
        route4 192.168.1.0/24 metric 600
        route4 default via 192.168.1.1 metric 600
        inet6 fd4c:2987:22a0::47f/128
        inet6 fd25:407b:381c:0:1023:e3f0:7f52:c864/64
        inet6 fd4c:2987:22a0:0:1c38:5e60:285:e0e5/64
        inet6 fe80::4878:a26d:1000:4c02/64
        route6 fd25:407b:381c::/64 via fe80::4a5d:35ff:fef6:d1a8 metric 600
        route6 fd4c:2987:22a0::47f/128 metric 600
        route6 fd4c:2987:22a0::/48 via fe80::22f1:b2ff:fe5c:d4a metric 600
        route6 fe80::/64 metric 1024
        route6 fd4c:2987:22a0::/64 metric 600
supervisor0: connected (externally) to supervisor0
        "supervisor0"
        bridge, 02:42:51:7F:B1:2D, sw, mtu 1500
        inet4 10.114.104.1/25
        route4 10.114.104.0/25 metric 0
p2p-dev-wlan0: disconnected
        "p2p-dev-wlan0"
        wifi-p2p, hw
eth0: unavailable
        "0424 7800"
        ethernet (lan78xx), B8:27:EB:BC:60:E1, hw, mtu 1500
balena0: unmanaged
        "balena0"
        bridge, 02:42:0B:A7:D1:8E, sw, mtu 1500
resin-dns: unmanaged
        "resin-dns"
        bridge, 6E:5C:E1:9A:7D:84, sw, mtu 1500
lo: unmanaged
        "lo"
        loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536
resin-vpn: unmanaged
        "resin-vpn"
        tun, sw, mtu 1500
DNS configuration:
        servers: 192.168.1.1
        domains: fritz.box
        interface: wlan0
        servers: fd4c:2987:22a0::1 fd25:407b:381c:0:4a5d:35ff:fef6:d1a8
        interface: wlan0
Use "nmcli device show" to get complete information about known devices and
"nmcli connection show" to get an overview on active connection profiles.
Consult nmcli(1) and nmcli-examples(7) manual pages for complete usage details.
root@4f00dab:~# 
root@4f00dab:~# 

So Balena Console shows WiFi (wlan0) going well but no Ethernet (eth0) connection.

So after connecting up RJ45 lead to Fritz!Box I then got...

root@4f00dab:~# nmcli
eth0: connected to Wired connection 1
        "0424 7800"
        ethernet (lan78xx), B8:27:EB:BC:60:E1, hw, mtu 1500
        ip4 default
        inet4 192.168.1.202/24
        route4 192.168.1.0/24 metric 100
        route4 default via 192.168.1.1 metric 100
        inet6 fd4c:2987:22a0::a3a/128
        inet6 fd25:407b:381c:0:b405:53de:1ed:a1f8/64
        inet6 fd4c:2987:22a0:0:a91d:3544:96f:22c2/64
        inet6 fe80::f4c7:a40f:962e:d5e8/64
        route6 fe80::/64 metric 1024
        route6 fd4c:2987:22a0::/48 via fe80::22f1:b2ff:fe5c:d4a metric 100
        route6 fd25:407b:381c::/64 via fe80::4a5d:35ff:fef6:d1a8 metric 100
        route6 fd4c:2987:22a0::a3a/128 metric 100
        route6 fd4c:2987:22a0::/64 metric 100
wlan0: connected to TolaPark5G
        "wlan0"
        wifi (brcmfmac), B8:27:EB:E9:35:B4, hw, mtu 1500
        inet4 192.168.1.182/24
        route4 192.168.1.0/24 metric 600
        route4 default via 192.168.1.1 metric 600
        inet6 fd4c:2987:22a0::47f/128
        inet6 fd25:407b:381c:0:1023:e3f0:7f52:c864/64
        inet6 fd4c:2987:22a0:0:1c38:5e60:285:e0e5/64
        inet6 fe80::4878:a26d:1000:4c02/64
        route6 fd25:407b:381c::/64 via fe80::4a5d:35ff:fef6:d1a8 metric 600
        route6 fd4c:2987:22a0::47f/128 metric 600
        route6 fd4c:2987:22a0::/48 via fe80::22f1:b2ff:fe5c:d4a metric 600
        route6 fe80::/64 metric 1024
        route6 fd4c:2987:22a0::/64 metric 600
supervisor0: connected (externally) to supervisor0
        "supervisor0"
        bridge, 02:42:51:7F:B1:2D, sw, mtu 1500
        inet4 10.114.104.1/25
        route4 10.114.104.0/25 metric 0
p2p-dev-wlan0: disconnected
        "p2p-dev-wlan0"
        wifi-p2p, hw
balena0: unmanaged
        "balena0"
        bridge, 02:42:0B:A7:D1:8E, sw, mtu 1500
resin-dns: unmanaged
        "resin-dns"
        bridge, 6E:5C:E1:9A:7D:84, sw, mtu 1500
lo: unmanaged
        "lo"
        loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536
resin-vpn: unmanaged
        "resin-vpn"
        tun, sw, mtu 1500
DNS configuration:
        servers: 192.168.1.1
        domains: fritz.box
        interface: eth0
        servers: fd4c:2987:22a0::1 fd25:407b:381c:0:4a5d:35ff:fef6:d1a8
        interface: eth0
        servers: 192.168.1.1
        domains: fritz.box
        interface: wlan0
        servers: fd4c:2987:22a0::1 fd25:407b:381c:0:4a5d:35ff:fef6:d1a8
        interface: wlan0
Use "nmcli device show" to get complete information about known devices and
"nmcli connection show" to get an overview on active connection profiles.
Consult nmcli(1) and nmcli-examples(7) manual pages for complete usage details.
root@4f00dab:~# 


(13:44) So just need to disable WiFi (wlan0) connection now and ensure I can reboot to eth0.

root@4f00dab:~# 
root@4f00dab:~# date
Sun Feb  8 13:45:04 UTC 2026
root@4f00dab:~# nmcli radio wifi
enabled
root@4f00dab:~# nmcli radio wifi off


Ooops! Lost connection

But waiting a few mins then refreshing Balena Clod page re-established connection..


Connecting to 4f00dab6411df9abd9d9166cbb1c5cde...
Spawning shell...
=============================================================
    Welcome to balenaOS
=============================================================
root@4f00dab:~# date
Sun Feb  8 13:49:21 UTC 2026
root@4f00dab:~# nmcli
eth0: connected to Wired connection 1
        "0424 7800"
        ethernet (lan78xx), B8:27:EB:BC:60:E1, hw, mtu 1500
        ip4 default
        inet4 192.168.1.202/24
        route4 192.168.1.0/24 metric 100
        route4 default via 192.168.1.1 metric 100
        inet6 fd4c:2987:22a0::a3a/128
        inet6 fd25:407b:381c:0:b405:53de:1ed:a1f8/64
        inet6 fd4c:2987:22a0:0:a91d:3544:96f:22c2/64
        inet6 fe80::f4c7:a40f:962e:d5e8/64
        route6 fd25:407b:381c::/64 via fe80::4a5d:35ff:fef6:d1a8 metric 100
        route6 fd4c:2987:22a0::a3a/128 metric 100
        route6 fd4c:2987:22a0::/48 via fe80::22f1:b2ff:fe5c:d4a metric 100
        route6 fe80::/64 metric 1024
        route6 fd4c:2987:22a0::/64 metric 100
supervisor0: connected (externally) to supervisor0
        "supervisor0"
        bridge, 02:42:51:7F:B1:2D, sw, mtu 1500
        inet4 10.114.104.1/25
        route4 10.114.104.0/25 metric 0
wlan0: unavailable
        "wlan0"
        wifi (brcmfmac), 52:83:40:6F:38:59, sw disabled, hw, mtu 1500
p2p-dev-wlan0: unavailable
        "p2p-dev-wlan0"
        wifi-p2p, sw disabled, hw
balena0: unmanaged
        "balena0"
        bridge, 02:42:0B:A7:D1:8E, sw, mtu 1500
resin-dns: unmanaged
        "resin-dns"
        bridge, 6E:5C:E1:9A:7D:84, sw, mtu 1500
lo: unmanaged
        "lo"
        loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536
resin-vpn: unmanaged
        "resin-vpn"
        tun, sw, mtu 1500
DNS configuration:
        servers: 192.168.1.1
        domains: fritz.box
        interface: eth0
        servers: fd4c:2987:22a0::1 fd25:407b:381c:0:4a5d:35ff:fef6:d1a8
        interface: eth0
Use "nmcli device show" to get complete information about known devices and
"nmcli connection show" to get an overview on active connection profiles.
Consult nmcli(1) and nmcli-examples(7) manual pages for complete usage details.
root@4f00dab:~# 
root@4f00dab:~# 


So last test to power off and then  on! Excellent all works and removed 2x 18560 UPS from RPi3. So ready to take it to Drumgeely once I have 2nd LoRaWAN temperature sensor and all have been boxed up :)


Balena Cloud for late-meadow (eth0 and no UPS)



RPi3 and RAK2245 LoRaWAN gateway (Balena/TTN)









(Sun 8th Feb 2026 9:49)

This morning I'm going to prepare late-meadow and 2x LoRaWAN sensors to take with me to Drumgeely.

Will get LoRaWAN sensor going first with gateway as is (i/e/WiFi not Ethernet)

10:22:44.045 -> Copyright @2019-2020 Heltec Automation.All rights reserved.
10:22:44.310 -> name:slan-031_HTCC-AB02_BME680 built:Sun 20th July 2025 13:18 version:1.06
10:22:44.310 -> 
10:22:44.310 -> AT Rev 1.3
10:22:44.310 -> +AutoLPM=1
10:22:44.310 -> 
10:22:44.310 -> +LORAWAN=1
10:22:44.310 -> 
10:22:44.310 -> +KeepNet=0
10:22:44.310 -> +OTAA=1
10:22:44.310 -> +Class=A
10:22:44.310 -> +ADR=1
10:22:44.310 -> +IsTxConfirmed=1
10:22:44.310 -> +AppPort=8
10:22:44.310 -> +DutyCycle=15000
10:22:44.310 -> +ConfirmedNbTrials=4
10:22:44.310 -> +ChMask=0000000000000000000000FF
10:22:44.343 -> +DevEui=70B3D57ED004ADB9(For OTAA Mode)
10:22:44.343 -> +AppEui=0000000000000000(For OTAA Mode)
10:22:44.343 -> +AppKey=3B45BA293945C9C1C6ACC00C61D9E6A5(For OTAA Mode)
10:22:44.343 -> +NwkSKey=15B1D0EFA463DFBE3D11181E1EC7DA85(For ABP Mode)
10:22:44.343 -> +AppSKey=D72C78758CDCCABF55EE4A778D16EF67(For ABP Mode)
10:22:44.343 -> +DevAddr=007E6AE1(For ABP Mode)
10:22:44.343 -> 
10:22:44.343 -> 
10:22:44.343 -> LoRaWAN EU868 Class A start!
10:22:44.343 -> 
10:22:44.475 -> joining...joined
10:22:50.660 -> 
10:22:50.660 -> Starting I2CDemo example program for BME680
10:22:50.660 -> - Initializing BME680 sensor
10:22:50.660 -> - Setting 16x oversampling for all sensors
10:22:50.693 -> - Setting IIR filter to a value of 4 samples
10:22:50.693 -> - Setting gas measurement to 320°C for 150ms
10:22:50.693 -> 
10:22:50.693 -> 33.92°C 100.00%Hum 680.13hPa 130.02m 8121.46mOhm
10:22:51.949 -> 19.88°C 57.72%Hum 997.71hPa 130.19m 148.76mOhm
10:22:53.241 -> 20.12°C 57.77%Hum 997.69hPa 130.36m 147.91mOhm
10:22:54.530 -> 100x (Temperature+30)= 5012 C, 100x Humidity= 5776 %, 100x Pressure= 99769 Pa, BatteryVoltage:4052 mV, 1000x Gas=147910
10:22:54.530 -> confirmed uplink sending ...
10:22:59.891 -> received unconfirmed downlink: rssi = -59, snr = 14, datarate = 5

So what device is this? All good from above log it's slan-031 and it  is successfully sending data.. and I have a TTN IotPanel connection to graph it on my phone :)

But it's sending data too often. I want every 10 mins not every 10 secs...



So next to use Arduino to change this



(Sat 7th Feb 2026 19:45)

Final attempt is to put old software release on RPi4 and use the VARIABLE settings from the late-meadow gateway which is working in Tola Park. (See above images)

I tried but failed (see below images). So I leave this for now and pack away the RAK2245 with other LoRaWAN stuff and re=use RPi4 to drive a 7" touch display :)






Changed my mind! Decided to work through instructions below using Balena CLI

https://docs.balena.io/learn/getting-started/raspberrypi4-64/nodejs/

Got CLI going but it was just for a "Hello World" webserver





(Fri 6th Feb 2026 11:00)

Tried to get LoRaWAN gateway working over ethernet. But failed wouldn't connect to Balena. So took it home.

Tried at home with lots of BasicStation images but I could never get the BasicStation code to execute on the RPi4. The Host login always worked. Gave up in the end. Maybe hardware broken? Tried old RAK board from Kilnageer. But same result,


(Mid-Jan 2026)

This combination was working in the Drumgeely 40' container but as of Jan 2026 wasn't.




So I started to investigate how to fix it.







Monday, 2 February 2026

Making a ESP32-CAM into a Smart Home sensor

This device couldn't be programmed with a Tasmota binary https://ota.tasmota.com/tasmota32/release/ from the Webinstaller https://tasmota.github.io/install/ 

Maybe I'm not holding the RST and PRG buttons properly to enable programming>




But let's try the factory binary...




Making an ESP32-C6-LCD a Smart Home monitor

This device can be programmed wit the factory C6 binary.. and use SVGL to control LCD display







Making a ESP32-C3 based Smart Home Monitor

This device is well supported by Tasmota so the easiest path is to FLASH the binary image from https://ota.tasmota.com/tasmota32/release/tasmota32c3.bin on to it using the Tasmota Web based Installer at: https://tasmota.github.io/install/


Remember to press and HOLD the bott button when plugging in the cable so the USB serial port can be seen. Also remember to erase device first and load tasmota32c3.factory.bin before loaded the above binary and check wiith the LOG & CONSOLE option and RESET that it has booted OK.


Then ensure the IP address of 192.168.1.156 is reserved for it by the router and set up MQTT (Configure > MQTT) and rename it TasmotaESP32C3156 using the menus (Configure > Other > Device Name & Friendly Name) the device will reset itself after each setting change and you can use the WebInstaller to check its logs.


You are now ready to make it a MQTT connected Smart Home sensor!



Here are a few screen shots from the Linux Mint 22 laptop during the flashing process...

















Sunday, 1 February 2026

Making an ESP32-C6-GEEK smart home monitor

I will use ESPHome to create a device that shows RED / YELLOW / GREEN depending on my Smart Home status posted to a MQTT topic.




First I will install docker. on my Linux Mint 22 laptop :

coderdojo@rhubarb:~$ cat /etc/os-release | grep PRETTY
PRETTY_NAME="Linux Mint 22"

https://itsfoss.gitlab.io/post/how-to-install-docker-on-linux-mint-22-or-21-step-by-step/

Next used docker to install ESPHome :

https://esphome.io/guides/getting_started_command_line/


oderdojo@rhubarb:~$ docker pull ghcr.io/esphome/esphome

Using default tag: latest



..
coderdojo@rhubarb:~$ 
coderdojo@rhubarb:~$ nano livingroom.yaml 
coderdojo@rhubarb:~$ 
coderdojo@rhubarb:~$ docker run --rm --privileged -v "${PWD}":/config --device=/dev/ttyACM0 -it ghcr.io/esphome/esphome run kitchen.yaml
INFO ESPHome 2026.1.3
INFO Reading configuration kitchen.yaml...
WARNING 'esp32c6geek_monitor': Using the '_' (underscore) character in the hostname is discouraged as it can cause problems with some DHCP and local name services. For more information, see https://esphome.io/guides/faq/#why-shouldnt-i-use-underscores-in-my-device-name
INFO Generating C++ source...
..


Hash of data verified.
Wrote 3072 bytes (134 compressed) at 0x00008000 in 0.0 seconds (934.8 kbit/s).
Hash of data verified.
Wrote 8192 bytes (31 compressed) at 0x00009000 in 0.0 seconds (2075.3 kbit/s).
Hash of data verified.

Hard resetting via RTS pin...
INFO Successfully uploaded program.
INFO Starting log output from /dev/ttyACM0 with baud rate 115200

[14:04:01.286][I][app:087]: Running through setup()
[14:04:01.286][C][wifi:475]: Starting
[14:04:01.286][D][wifi:1098]: Starting scan
[14:04:01.286][C][component:249]: Setup wifi took 70ms
[14:04:01.286][I][app:134]: setup() finished successfully!
[14:04:01.286][W][component:395]: wifi set Warning flag: scanning for networks
[14:04:04.028][D][wifi:1227]: Found networks:
[14:04:04.029][I][wifi:1188]: - 'Tola Park' (48:5D:35:F6:D1:AA) ▂▄▆█ Ch: 1 -66dB P:0
[14:04:04.030][D][wifi:1259]: - 7 non-matching (VERBOSE to show)
[14:04:04.031][D][wifi:1563]: Retry phase: INITIAL_CONNECT → SCAN_CONNECTING
[14:04:04.032][I][wifi:899]: Connecting to 'Tola Park' (48:5D:35:F6:D1:AA) (priority 0, attempt 1/2 in phase SCAN_CONNECTING)...
[14:04:04.227][W][component:543]: safe_mode took a long time for an operation (158 ms)
[14:04:04.227][W][component:546]: Components should block for at most 30 ms
[14:04:06.083][I][wifi:1329]: Connected
[14:04:06.083][D][wifi:1346]: Disabling AP
[14:04:06.084][C][wifi:1037]:   IP Address: 192.168.1.162
[14:04:06.084][C][wifi:1048]:   SSID: 'Tola Park'
[14:04:06.085][C][wifi:1048]:   BSSID: 48:5D:35:F6:D1:AA
[14:04:06.085][C][wifi:1048]:   Hostname: 'esp32c6geek_monitor'
[14:04:06.086][C][wifi:1048]:   Signal strength: -66 dB ▂▄▆█
[14:04:06.086][C][wifi:1048]:   Channel: 1
[14:04:06.086][C][wifi:1048]:   Subnet: 255.255.255.0
[14:04:06.086][C][wifi:1048]:   Gateway: 192.168.1.1
[14:04:06.086][C][wifi:1048]:   DNS1: 192.168.1.1
[14:04:06.087][C][wifi:1048]:   DNS2: 0.0.0.0
[14:04:06.087][W][component:426]: wifi cleared Warning flag
[14:05:00.962][I][safe_mode:066]: Boot seems successful; resetting boot loop counter
[14:05:02.204][D][esp32.preferences:155]: Writing 1 items: 0 cached, 1 written, 0 failed


This worked OK and I managed to program it. But I think Tasmota might be easier.. as Web interface and console log make it easier to modify, maintain and debug  :)

https://tasmota.github.io/install/  "Tasmota32 LVGL (english)"


Blast! ESP32-C6 not yet supported!
https://ota.tasmota.com/tasmota32/release/
https://ota.tasmota.com/tasmota32/release/tasmota32c6.bin


NOTE: I tried Tasmota WebInstaller https://tasmota.github.io/install/ and factory binary (tasmota32c6.factory.bin)  but it still just said waiting for download after a reset.

Ha! This was actually working and I could connect to its WiFi hotspot and configure it! Happy Days :)

Now how to I control the display? LVGL or Berry or both?
I see its menu offers "Tools > Extension Manager" with a "LVGL Panel v25.10.1.0" option.

https://tasmota.github.io/docs/Tasmota-Extension/

https://docs.waveshare.com/ESP32-C6-GEEK

But maybe I must define its GPIO first? I see "Tools > GPIO Viewer" looks good but no entry for this board. Do I make one?

Board schematic:
https://files.waveshare.com/wiki/ESP32-C6-GEEK/ESP32-C6-GEEK.pdf

https://documentation.espressif.com/esp32-c6_datasheet_en.pdf
https://files.waveshare.com/wiki/common/ST7789P3.pdf

The schematic shows 5 control pins for LCD1 (the ST 7789 P3 display?) named:

GPIO2 a red box shows this mapping LCD MOSI goes to display pin SDA
GPIO1                                                  LCD CLK                                  SCL
GPIO3                                                  LCD DC                                     RS
GPIO4                                                  LCD RST                                   RESET
GPIO5                                                  LCD CS                                     CS
and
GPIO6                                                  LCD BL    separate Back Light (BL) circuit

So first test is to toggle BL on/off using GPIO6


Yep. Defined GPIO6 ad a Relay using "Configuration > Module" menus (Module Type was "ESP32C6(1)"

Then after reset I had a TOGGLE button at 192.168.1.162 which toggled the very faint back light ON and OFF :)


Now trying ESP-IDF build following instructions at..

https://docs.espressif.com/projects/esp-idf/en/stable/esp32c6/get-started/linux-macos-setup.html

 1186  cd esp

 1187  ls

 1188  git status .

 1189  cd esp-idf/

 1190  git status .

 1191  ./install.sh esp32c6

 1192  ./install.sh all

 1193  . $HOME/esp/esp-idf/export.sh


(Tues 3rd Feb 2026 20:30) Tried Arduino IDE to program device and success!

I used Arduino 1.8.19 program on my Linux Mint 22 laptop, I selected "ESP32C6 Dev Module" and unzipped the demo software who's below link was on page https://docs.waveshare.com/ESP32-C6-GEEK/Resources-And-Documents

https://files.waveshare.com/wiki/ESP32-C6-GEEK/ESP32-C6-GEEK-Demo.zip

I then moved the two library folders (lvgl & PNGdec) from /home/coderdojo/Downloads/ESP32-C6-LCD-1.47-Demo/Arduino/libraries to /home/coderdojo/Arduino/libraries (but not the two examples (LVGL_Arduino & LVGL_Image) from directory /home/coderdojo/Downloads/ESP32-C6-LCD-1.47-Demo/Arduino/examples to /home/coderdojo/Arduino/ESP32_C8_GEEK/examples as it already has lots of examples!)

So selected Erase all Flash before Sketch Upload as "Enabled" under Tools in the IDE I then opened the 05_LCD_Button.ino file from the "05_LCD_Button" folder which opened 17 files in the IDE but it compiled and downloaded happily and display a different LCD picture each time I pressed the side button.

NOTE: I had to remove and re-insert the USB module to get the code to work and output debug :)


(Weds 4th Feb 2026 16:24) Next I opened the 16_MQTT_pub_sub.ino from the 16_MQTT_pub_pub folder..

I added my WiFi details and all compiled and ran. I can now use this to monitor my MQTT broker and paint colours depending on the system state..

"Tola/status/system" topic has string "{ "date":"04-FEB-2026", "time":"16:42", "status":"good" }"

So "good", "fair" or "bad" which updates every 10 secs. If no update after 30 then assume "bad"

Might also be nice to show outside and inside temperature :)


coderdojo@rhubarb:~$ mosquitto_pub -h 192.168.1.150 -p 1883 -u tola -P 2016TolaPark! -t Tola/status/system -m '{ "date":"04-FEB-2026", "time":"16:42", "status":"good" }'

coderdojo@rhubarb:~$ 


2026-02-04T16:49:59+0000{"tst":"2026-02-04T16:49:59.247456+0000","topic":"Tola/status/system","qos":0,"retain":0,"payloadlen":57,"payload":{"date":"04-FEB-2026","time":"16:42","status":"good"}}


Pin 18 - USB0 N - GPIO 12
Pin 19 - USB0 P - GPIO 13

Can I make the serial output appear on these?