The PS Thermo is a smart thermostat I developed, consisting of a control hub that acts as a gateway and various sub-GHz RF wireless sensors/actuators. In essence, it is a much more advanced version of the BBoilRF thermostat project. The PS Thermo is based on the TFT32 framework, providing for powerful, yet cost-optimal hardware. Some highlights:
- Based on the popular ESP32 WiFi/Bluetooth enabled SoC
- 2.4″ color TFT with touch
- Sub-GHz transceiver
- Real-time clock (RTC)
- Piezo buzzer
- RGB LED
- Temperature and Humidity sensor
- Light sensing
The PS Thermo connects to the cloud using MQTT over a mutually authenticated TLS channel. This means that each PS Thermo authenticates to the cloud with its own TLS certificate, and each PS Thermo verifies the TLS certificate of the broker as well.
The firmware of the PS Thermo hub can be updated using several methods, allowing for flexible servicing and ensuring it can be updated even over low-band connections. The OTA process supports compressed image transfer, practically halving the needed data transfer. It can be done over a regular HTTPs channel, but also entirely over MQTT, thus bypassing possible firewall restrictions to accessing cloud HTTPs resources. Firmware update can also be performed using a web portal on the device, this allows for offline service of the module.
A state-of-art partitioning scheme allows for decoupling the code from bulky graphical resources, thus allowing for firmware branding of logos, icons, appearance.
Initial provisioning with WiFi credentials is easy, several options are available:
- Manually, using the PS Thermo GUI
- Using smartConfig and the proSmart app
- Using the in-built PS Thermo captive web portal
Overall architecture of the TFT32/PS Thermo hub ecosystem:
The RF link
The RF link is used for bi-directional data exchange between the PS Thermo control hub, and the respective edge node (sensor or actuator, battery or mains powered). The RF link is long-range, providing wireless communication between the gateway and the remote node that can reach up to 400m in line of sight, while providing excellent low-power capabilities, ideally fitting battery operation. I used the popular RFM69 FSK modulation transceiver for the purpose.
The RF link implementation supports:
- 128-bit hardware AES encryption of the communication
- Session keys
- Node pairing mechanism
- Transmission ACKs
- Automatic transmission power level control
- Free channel selection
- Low-power listen mode available
- OTA FW update over RF link
- Customizable bitrate
- Basic mesh capability
The relay actuator
The relay is hosted in a DIN rail friendly box and uses a sub-GHz RF link to communicate with the PS Thermo hub. It has two plugs for temperature sensors and was designed with thermostat function in mind. Once paired with the PS Thermo hub, it can function in the following modes:
- Thermostat with weekly schedule
- On/Off function
- Garage opener (pulsed contact) function
The thermostat function allows the relay to be controlled from either the PS Thermo‘s onboard temperature/humidity sensor, the relay node sensor, or the remote, battery operated T&H node. This allows for various configurations and thermostat control based on different temperature inputs.
The T&H node
There is an optional to purchase Temperature and Humidity (T&H) node, it can be used to wirelessly measure and transmit temperature and humidity readings to the PS Thermo hub. It is powered by batteries, thus can be placed in a remote to the hub location. The T&H node is ultra-low power, allowing for up to two years of battery life.