Weather Station

PIC + Siteplayer Powered Ethernet Weather Station

Live Link: http://wx.harrisonpham.com/

I have always been interested in weather, electronics, and self contained embedded systems. This interest led me to design a completely self contained weather station with an embedded web server that allows people to view current weather data at my house.

It all started in the spring of 2001. My parents bought me a siteplayer development station as a Christmas gift (yes, I want really weird stuff). I originally planned just to play around with it and learn about embedded ethernet. Many of you may point out that there are many better embedded products now, but in 2000 there were about 2 choices for embedded ethernet. I simply went for the cheapest and most popular solution for the time.

For some reason, I felt that the first thing I should try to do would be to make a simple web based thermometer. I think I spent about 4 hours on getting this to work, and was quite proud of the resulting product. It was a really simple web page that showed the current temperature, which was updated every minute by a simple pic basic program running on a 16F84 microcontroller. The 'weather station' stayed in this state for about 6 months while I moved on to more fun projects (such as a microcontroller controlled egg incubator).

Sometime in 2002, I decided that a single page thermometer wouldn't be very useful for weather monitoring. I spent a week or so trying to find a good source for other weather sensors, such as humidity and pressure. I was excited to find out that Sensiron, an offshore semiconductor sensor company, produced a nice little sensor that reads temperature and humidity. Sensiron just released this product so they were offering free samples to virtually anyone. I decided to try it out and submitted a sample request stating my intended purpose as a young hobbyist. A few weeks later, a little envelope with a SHT11 humidity/temperature sensor came in the mail. I was really excited as this would mean I could finally update my weather station.

I started working on the new weather station in 2003 after being lazy and not doing anything useful for about a year. I designed a very messy system using three PIC chips that worked together to form a somewhat nice weather station with 24 hour history for temperature and humidity.

Sometime in late 2004 / early 2005, I pushed myself to produce a much better version of the now dieing weather station. Numerous storms and winter freezes caused the sensor node to act weird and report incorrect data. I opted for a much better designed system with one 16F876 that handles everything. The new system used a much better designed firmware that was written in CCS C. I tried to use as much ANSI C as possible (the whole thing was full of enums and structs).

The weather station consists of:

  • SHT11 Temperature / Humidity Sensor IC connected via a 4 conductor RJ11 network
  • 16F876 Master Controller running custom written C software
  • 4x20 LCD display to display current data
  • Siteplayer embedded web server module
  • Optically Isolated Lightning sensor based on Tim Bitson's original design