Weather Indicator Cube

As part of a project in microcontroller systems, I built a Weather Indicator Cube. The WI Cube consists of a circuit board with a Wi-Fi module and an RGB LED diode, powered by a LiIon battery. The function of the WI Cube is to display the short-term weather as a changin color pattern, combining practicality and aestetic functionality in a single, minimalistic device. This is done by taking advantage of various web sources to determine the current time, location and the weather forecast for the location.

Weather Indicat Cube

The hardware, which was designed in Altium Designer, consists of an STM32L microcontroller coupled with a RN-131 Wi-Fi module. The microcontroller communicates with the various internet resources by using the Wi-Fi module and in turn drives the RGB LED via preprogrammed color patterns. It also monitors the 1000 mAh Lithium Ion battery, which can be charged via a USB port. The PCB and electronics are then fitted into a 7 x 7 cm cube of sanded acrylic glass.

Weather Indicat Cube Disassembled

The software for the Wether Indicator Cube was designed as follows: after all peripheral devices of the STM32L are intialized, the software connects to any open Wi-Fi access point. It the accesses a time server and a server with geo-location information. Using that, it then connects to the www.arso.gov.si weather database and pulls the weather forecast for the region inside which it is located. Using the forecast it selects the light pattern associated with the forecast weather for the next few hours and displays it. I also wrote a simple python application which allowed me to set the various light patterns for each weather situation - generating the appropriate c arrays for light patterns automatically. All relevant design files (hardware design, firmware) can be found here.