OSCirrus is an expandable, open source software weather station built on inexpensive hardware and weather sensors.  Version 1.0 consists of a wind vane (direction) and anemometer (wind speed) from Fascinating Electronics, an AVR MT 128 microcontroller embedded platform manufactured by Olimex and sold by Spark Fun Electronics in the US, and some middleware for importing the controller data and exporting the weather data to an XML package for delivering over the web.  Here are a couple of glimpses of it:
Hybrid Open Source Systems

OSCirrus software is open source, Apache v2 licensed.   The software development tools needed to compile and program the embedded devices are either open source or freeware.   The firmware is written in C and can be built with the open source
WinAVR tool chain based on the GNU GCC AVR cross-compiler.  The device firmware can be downloaded into the device using PonyProg, a free microcontroller serial programmer.  

The hardware, though it is commerical, is very inexpensive and readily available.  So, like Linux being installed on commercial hardware, so is OSCirrus installed on commercial hardware, albeit much smaller hardware.

How This Started

OSCirrus grew out of my forays into microcontroller programming and desire to learn more hardware interfacing techniques.  One of my goals of opening this project up is to continue that learning process, help others learn and also to learn from them.  To that end, I want this project and web site to be very tutorial focused....focused in a way that will help technically competent people who are inexperienced in microcontrollers and sensors to build a similar project.

What Are the First Steps?

I would consider this an intermediate project for a do-it-yourself person who has some mechanical, electrical, electronic, and programming experience.  If you're unsure, I would start by taking a look at some of the code in the Downloads section of the site and then spend some time studying the AVR MT 128 microcontroller to see if you think this is in your realm of skills.

The main physical parts you'll need to acquire are the AVR MT 128 from Spark Fun or Olimex and the wind sensors from Fascinating Electronics.  The software you'll need are WinAVR, PonyProg, and the firmware download from this site.  If you want to take it on into a server, then you can download the Middleware and Client package from the download section of the site.  More than likely you'll want to develop your own middleware and applications to display your wind data.

As time goes on, I will try to add more tutorials to the site including the exact steps for downloading firmware into the AVR, building the software, wiring up the sensors to the microcontroller and so on.  All the information is available in the sources (links, descriptions, and code) on this site, but I want to make it easier to get into by offering better tutorials for how to handle various subsystems.

See-Do

I believe that many more programmers would enjoy hardware and microcontroller development if they could just see a demonstration of some of the techniques for doing embedded software development and sensor interfacing.  For me, there were several points during the development of OSCirrus where I said "This has to be simple, but I don't see anywhere on the web that shows how to do it."  I'm not a genius, but I'm not stupid - I can learn, show me how to do it and I can do it.  And because of this dearth of tutorials, the "see-do" series of web sites has been innaugurated with the introduction of OSCirrus.

So, if this project is a launching point for you to build something new, then it has served one of its purposes and that is to promote learning and open source innovation.

Have fun, learn from, and teach others.

- Landon Cox, April, 2007