Vernier Software and Technology
Vernier Software & Technology

About the Vernier Solar Power Dashboard


Vernier Software & Technology has a number of innovative environmental features at our LEED-EB Gold building. One of the highlights are the solar panels on our roof that produces about 18,000 kWh per year.

Being a data-collection software and hardware company, we couldn’t resist capturing our solar energy production data. We also wanted to share the data for others to see and learn more about solar energy.

The Vernier Solar Power Dashboard was created for two purposes.

  1. Monitor the energy production from the solar panels
  2. Provide data for students to conduct solar energy investigations

Our Solar Power Dashboard has generated interest from other people trying to monitor their own solar production. This web page describes the components of our Solar Power Dashboard, how it works, and some technical details.

Our Solar Power Dashboard has generated interest from other people trying to monitor their own solar production. This web page describes the components of our Solar Power Dashboard, how it works, and some technical details.

In June 2008, we updated the hardware and software we used to monitor energy production to be more reliable, robust, and faster. We also updated the dashboard with a more sophisticated and more visually-appealing chart and added new gauges to display the current power levels of each of the solar panels.

PVPowered Inverters

We chose to use Inverters (which change the DC electricity producted by the panels into 120-V AC) made by PVPowered. These inverters were recommended by our solar panel installation company and they are made in our home state of Oregon.

They have the option of adding a StarLink card for internet connectivity. The StarLink card adds a computer ethernet network port to transmit data about the energy output from the inverter. In most situations the StarLink card is used to send data to PVPowered’s data monitoring hosted solution, Solar panel owners can then go to the website and check on their panel’s production.

However, we wanted to track the our solar data internally and to combine it with weather data taken at our building. To do this, we wrote a custom program to communicate with the inverters.

Sharing Solar Data on the Web

We wrote a custom C program to collect data from the inverters into a MySQL database, run every 5 minutes using a PERL script. Originally, we used a java program provided by PVPower which was run by a web script to collect data into a database. We later wrote a custom java program to collect the data and insert the data to the database, but the java program had reliability issues. So far, the custom C program has been reliable and efficient.

Along with creating a new C program to collect the solar data in our current system, we decided to redo the dashboard to be more informative, usable, and visually appealing. The hourly energy production data from the original setup was interesting since it displayed how much energy we were producing in clear and easily understandable way.

However, we were also interested in the amount each inverter was contributing to the total individually, so we changed the bar chart to a stacked column chart. Furthermore, we wanted to quick way to see the current power level of each inverter and how close we were to reaching maximum capacity. We decided power gauges were the best way to do this.

We use a charting package called AnyChart create our new charts. AnyChart provides a huge library of chart types and is highly customizable.


The new collection setup is much more efficient and reliable than the old setup. Consolidating all the data collection to a single computer made analyzing the data much easier and reliable. We still have the problem with the inverters misreporting numbers, however, we have decided to leave these errors in the data to preserve the integrity of the data and as an exercise to the student—no experiment is perfect.

Technical Details

For those interested in the hardware and software of our current setup:

  • Solar data computer specifications
    • CPU: Intel Pentium 4 1.6 GHz
    • Memory: 768 MB
    • Operating System: Ubuntu Linux 9.04
  • Web technologies
    • Web Scripting Language: PHP 5.2.6
    • Database: MySQL 5.0.75
    • Web Server: Apache 2.2.11

Closing Remarks

We hope this information was useful as a behind-the-scenes look at how we created the Vernier Solar Dashboard. If you have any comments, questions, suggestions, feel free to contact us—especially if you create one yourselves.

Go to top