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?







  





Saturday, 31 January 2026

Improving Smart Home Resilience

(Fri 6th Feb 2026)

I aim to actually start monitoring at least one device and service today.

Does the Fritz!Box 7530 KI has an API I can use?

https://fritz.support/resources/SmarthomeRestApiFRITZOS82.html


https://fritzconnection.readthedocs.io/en/1.10.3/sources/getting_started.html

(.venv) coderdojo@rhubarb:~/workspace/TolaSmartHome$ pip3 install fritzconnection
...
(.venv) coderdojo@rhubarb:~/workspace/TolaSmartHome$ date
Fri 06 Feb 2026 09:31:24 GMT
(.venv) coderdojo@rhubarb:~/workspace/TolaSmartHome$ fritzconnection -s -i 192.168.1.1
fritzconnection v1.15.1
FRITZ!Box 7530 at http://192.168.1.1
FRITZ!OS: 8.21
Servicenames:
                    any1
                    WANCommonIFC1
                    WANDSLLinkC1
                    WANIPConn1
                    WANIPv6Firewall1
                    DeviceInfo1
                    DeviceConfig1
                    Layer3Forwarding1
                    LANConfigSecurity1
                    ManagementServer1
                    Time1
                    UserInterface1
                    X_AVM-DE_Storage1
                    X_AVM-DE_WebDAVClient1
                    X_AVM-DE_UPnP1
                    X_AVM-DE_Speedtest1
                    X_AVM-DE_RemoteAccess1
                    X_AVM-DE_MyFritz1
                    X_VoIP1
                    X_AVM-DE_OnTel1
                    X_AVM-DE_Dect1
                    X_AVM-DE_TAM1
                    X_AVM-DE_AppSetup1
                    X_AVM-DE_Homeauto1
                    X_AVM-DE_Homeplug1
                    X_AVM-DE_Filelinks1
                    X_AVM-DE_Auth1
                    X_AVM-DE_HostFilter1
                    X_AVM-DE_USPController1
                    WLANConfiguration1
                    WLANConfiguration2
                    WLANConfiguration3
                    Hosts1
                    LANEthernetInterfaceConfig1
                    LANHostConfigManagement1
                    WANCommonInterfaceConfig1
                    WANDSLInterfaceConfig1
                    X_AVM-DE_WANMobileConnection1
                    WANDSLLinkConfig1
                    WANEthernetLinkConfig1
                    WANPPPConnection1
                    WANIPConnection1
(.venv) coderdojo@rhubarb:~/workspace/TolaSmartHome$ 

Cool!



(Thurs 5th Feb 2025)

Got Python3 development environment set up on Linux Mint 22 laptop. Uses PyCharm and local git and remote github. Got MQTT publish, time and date, device and service objects started.




(Mid-Jan 2026)

The other day I noticed the button on my Android MQTT Dash app wasn't turning my kitchen sink LEDs on and off.

That night my smart home failed to charge up my LFP batteries on cheap rate electricity.

The next morning I investigated and found that the sionnach RPi3 whose Node-Red program was responsible for both kitchen LEDs and LFP charging was off line.

Power cycling this computer fixed everything.

However, I decided after this that I must monitor my smart home better.

This blog post tracks my actions to achieve this!


DESIGN GOALS

1) Monitor all machines and services

2) Provide a fail safe RED / YELLOW / GREEN display

3) Provide hourly detailed status reports.

4) Write code in object oriented Python3 (or on ESP32 MicroPython)


DETAILED BREAKDOWN

My smart home is based on an LTE router for Internet access which is connect to a Fritz!Box router for local LAN/WiFi access.

The later has DHCP running to assign IP addresses to the various devices (i.e. RPi3s. Zigbee routers, etc.)


So what do we want to check on?

a) Is the LTE router connected to the internet?

b) Is the Fritz!Box connected to the internet?

c) Are the N devices with IP addresses online?

d) Are the M services supplied by the N devices running?

How can we do this?

Let's make every device and service created and update a MQTT topic periodically

Let's have the RPi4 devices check these topics for updates using object oriented Python3 scripts

Let's update a ESP32-C6-GEEK display with RED / YELLOW / GREEN every 10 secs based on the results of our checks

Let's publish details of these checks to other MQTT topics