Smart Campus Energy Lab Weatherbox

Project Overview

The objective of this project was to design and develop low-cost, accurate, and reliable environmental sensor modules that can easily be reproduced for mass deployment on rooftops across the University of Hawaii at Manoa campus. The meteorological data collected from these modules will assist in planning future renewable energy installations as well as providing risk mitigation for electricity generation through the development of renewable resource prediction and forecasting algorithms.

By collecting solar irradiance, temperature, humidity, and pressure data, this weatherbox will be used to make Hawaii a more sustainable place to live in. One part of tackling this problem is creating a microgrid for UHM that is independent of Hawaii’s grid. In order to accomplish this, we are looking to find optimal places on campus to install renewable energy sources, such as PV. To find these optimal places, this weatherbox was designed and built to collect reliable weather data that can be analyzed to forecast solar irradiation patterns.


  • Weatherbox must collect solar irradiance, temperature, humidity, and pressure data.
  • Utilize solar energy and function for 2 days without sunlight.
  • Relay data wirelessly to a base node in an organized format for processing.
  • Housing must be secured, waterproof, and designed in such a way that the internals can be accessed with relative ease.



The weatherbox firmware can be split into two main sections: sensor module and transmit module. The sensor module is composed of firmware that controls the solar irradiance, humidity, pressure, temperature, battery voltage, and solar panel voltage sensors. Similarly, the transmit module is composed of firmware that organizes the data obtained by the sensors into packets which is then sent to a server that decodes the data into a database. A microcontroller periodically polls the sensors as the data is transmitted through an XBee and sent to the database where the data is organized. The weatherbox is housed in a 3D printed box that protects the internal components from the environment.

I lead the firmware development of the project, where my main focus was implementing the sensor and transmit modules between the weatherbox and the server. I used Arduino’s serial monitor to verify correct sensor readings on the computer where it could then be processed and sent to the server. XCTU was also utilized to ensure that the data contained in the packets was in the correct schema.

Learning Outcomes

This project provided a great opportunity to gain more experience with C++, microcontrollers, and embedded systems development.

For more information on the Smart Campus Energy Lab, visit this webpage.

Source Code: