Skip to content

Weather Monitor Alarm Clock

Team Members

  • Kevin Fobare
  • Peter Han
  • Samuel Lee
  • Ryan Roos

Mentors

Jack Mottley and Daniel Phinney

Abstract

Our project is a two part alarm clock system. The first part is a normal looking alarm clock with a large screen to display lots of information. The second part is a device that is be placed outdoors to record weather conditions. The two devices communicate with each other using Bluetooth. Users are able to receive helpful weather information without connecting either device to Wi-Fi. Overall this project resulted in a functioning prototype for a privacy oriented consumer device.

Alarm Clock

Above is a picture of the alarm clock device. This was built using a Raspberry Pi and a 7 inch touch screen. We used a Python based GUI package called Kivy to develop the alarm clock application. Kivy comes with native touch screen support and has lots of documentation that made it straightforward to tailor to our needs. Another helpful aspect of Kivy is it’s support for asynchronous programming, this helped us separate the GUI and Bluetooth routines into separate threads. This keeps both parts of the program running smoothly and without stuttering.

This is another image of the GUI that shows how the information is displayed from weather monitor. Our device records and sends temperature, pressure, humidity and rainfall. The rain indicator has three different values “No”, “Slightly”, “Yes” depending on how much rain is detected. On the bottom of the GUI is the bar where the user can select when an alarm will go off.

Weather Monitor

This is a top down view of the weather monitor device. From this view the sensor container and solar panel can be seen. The solar panel is used to power the device and is connected to a large power bank, this helps the device run for long amounts of time without an external power source. Rain, temperature and humidity sensors are housed in the black container.

Side angle of the sensor container shows the combination temperature, humidity sensor on the side of the box. The rain sensor is located on top and sealed to ensure weather-proofness.

Inside of our weather proof box is where the Raspberry Pi Pico W is located. The Pico W is a small, low power device that supports wireless communication through bluetooth. This is the device that powers all the sensors, collects their data and sends it over bluetooth to the alarm clock device. It is powered through a large solar power bank located in the upper right corner. This power bank can both power the Pico and receive power from the solar panel at the same time. The air pressure sensor is also located within the box, since it does not need to be exposed directly to the elements.

Conclusion

Overall we were successful in building a two part system for monitoring the weather without internet access. Our alarm clock used the Kivy GUI package as well as asyncio to manage the concurrent tasks of the GUI and bluetooth routine. The weather proof external device uses very low amounts of energy to collect key weather data and report back to the alarm clock using bluetooth. This experience helped us develop both our software and hardware development skills in an independent setting.