The graphics are done by creating coloured BMP files representing, for example, a 7-segment digit. Each segment has a different colour and some Python code converts them into run-length-encoded data arrays which are included in the sketch. Colour variations within the segments below indicate areas for block compression vs line compression.

The weather "forecast" is done using the Zambretti Forecaster algorithm, displayed as either an icon or the Zambretti text.


The assembly is a stack of two identical boards (minimum or five per order!), one is used as an adaptor connecting a Nano to the LCD shield and has the RTC and buzzer. The other has the sensor, buttons etc. An Acrylic sheet protects the LCD. The boards are separated with brass stand-offs and connected by a header/socket strip.
The board is here. Pins.h has an ASCII schematic.
The code can also run on a 320x240 LCD and use touch instead of physical buttons.


Hello Mark,
where can I buy the SPL 06 board that you used
for this project.
My search only found 1 board,
but only for 3V3.
https://de.aliexpress.com/item/32959915413.html?spm=a2g0o.order_list.order_list_main.5.29f15c5fOZDom7&gatewayAdapt=glo2deu
Unfortunately not compatible.
Hope for your help.
Thanks Norbert