The microcontroller that runs the weather station is an ESP8266 and a 2.4 inch touch screen. The button turns on and off the LED backlight on the screen.

Inside the base is a charging station that powers the weather display, 2x USB C and the galaxy 4 watch base.

The base is made of layers of plywood cut out on my laser cutter.

Weather station code by Daniel Eichhorn https://github.com/ThingPulse/esp8266-weather-station-color

Weather info is grabbed from Openweathermap, you can sign up for their free API key

Source code https://github.com/ThingPulse/esp8266-weather-station-color/blob/master/esp8266-weather-station-color.ino

I was using adafruit hardware so used their guide/libraries https://learn.adafruit.com/wifi-weather-station-with-tft-display

I had to remove some of their touchscreen calibration code since it seemed to be causing things to get hung up in a loop when turned on.

I also had to adjust the rotation 180degrees so the ESP attached to the back of the screen was at the bottom instead of the top to fit it in the enclosure.

I use pin 5 to toggle the LED backlight.