
The Fan Controller is an IoT managed cooling fan system for my home server cabinet. This gets warm as the PoE (Power Over Ethernet) switch generates a lot of heat. Under the shelf housing my server rack is the washing machine, which also gets warm. This is therefore an ideal solution for a microcontroller with ethernet onboard, as I have ethernet from the switch right next door. So a good project to test out the W5100-EVB-Pico.
Fan controllers can be managed locally with RGB Led status on the PCB, OLED screen and Rotary Encoder in front of the fans to allow setting of preset temperature and speed. The state of the device is also broadcast on change via an MQTT hub to any authorised listeners. By design this includes a digital twin service which maintains a copy of the device’s state. The digital twin is the only persistent copy of the device’s state. On device start up the state is reloaded from the digital twin (data not firmware).
- FreeRTOS-Kernel: Task management
- FreeRTOS-CoreMQTT-Agent: MQTT Library
- ioLibrary_Driver: Drivers for W5100s
- twinThingRP2040W5x00 – IOT Library for my devices
- json-maker: JSON writing for comms
- tiny-json: JSON parser
- RP2040PIO-DS18B20: Sensor library
- pico-ssd1306: Oled Driver
- RtosComponents: Watchdog module
COMMENTS