HPIM4184
HPIM4191
HPIM4194
HPIM4173
The completed wind vane and anemometer before final mounting.
The mounted wind vane and anemometer. Cable feeds down to an AVR MT 128 through a vent in the roof.
AVR MT 128 with cable breakout.
Partially
assembled anemometer.
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
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



