Raspberry Pi Weather Station In Progress

[Jeremy Morgan] is building a weather station from scratch using a Raspberry Pi, and he has put together a nice write up that shows where he is at, and how it works. Currently, his setup is in the breadboard stage and is measuring humidity, temperature, pressure and light level using sensors that connect over one wire and I2C. He also shows how he is using Google Docs to store the data, by getting the Pi to write to a Google Spreadsheet over email: the Pi emails the data to Google every 30 seconds.

There is an analysis portion, with a Microsoft Azure web site that graphs the data over time. It’s a bit of a dogs breakfast (he might have used one interface technology for all of the sensors, for instance), but it is still a nice overview of the overall process.

Automatically channeling data into an easily accessible medium has been the target of many hacks going way back. We’ve seen a ton of companies pop up to help satisfy the need but between those and the hacked together (usually) open source solutions, there doesn’t seem to be a clear winner. What’s your favorite method of gathering and displaying data from projects like this onto the web? Let us know in the comments.

Build a Sensor Network Around a Weather Station

[Yveaux] had a problem. The transmitter on his outdoor weather station had broken, rendering the inside display useless. He didn’t want to buy a new one, so, like the freelance embedded software designer that he is, he decided to reverse engineer the protocol that the transmitter uses and build his own. He didn’t just replace the transmitter module, though, he decided to create an entire system that integrated the weather system into a sensor network controlled by a Raspberry Pi. That’s a far more substantial project, but it gave him the ability to customize the display and add more features, such as synching the timer in the display with a network clock and storing the data in an online database.

Fortunately for [Yveaux], the transmitter itself was fairly easy to replace. The weather station he had, like most, transmitted on the 868MHz frequency, which is a license-free ISM (Industrial, Scientific and Monitoring) spot on the spectrum. After some poking around, he was able to figure out the protocol and teach the Pi to speak it. He then added a Moteino and an nRF2401+ transmitter to the weather station, so it can send data to the Pi, which then sends it to the display. It is a more complicated setup, but it is also much more flexible. He’s had it running for a couple of years now and has collected more than a million sensor readings.

Wireless Weather Station

High schooler [Vlad] spent about a year building up his battery-operated, wireless weather station. Along the way, not only has he learnt a lot and picked up useful skills, but also managed to blog his progress.

The station measures temperature, humidity, pressure and battery voltage, and he plans to add sensors for wind speed, wind direction and rainfall soon. It is powered via a solar panel and can run on a charged battery for a full month. The sensor module transmits data to a remote receiver connected to a computer from where it is published to the internet. Barometric pressure is measured using the BMP180 and the DHT22 provides temperature and humidity values. The link between the transmit and receive sections uses a 433MHz Superhetrodyne RF Kit which gives [Vlad] a range of 50m. There’s an ATMega328 on the transmitter and receiver side. He’s taking measurements once every 12 minutes, and putting the micro controller in low power mode using the Rocket Scream Low Power Library. A 5W, 12V solar panel charges the 6V Lead Acid battery via a LM317 based charge circuit. This ensures the battery gets charged even when the solar panel is not receiving optimal radiation. One hour of sunlight provides enough charge to keep it going for 2 days. And a fully charged battery will keep it running for a full month even when there’s no sunlight.

The server software consists of two parts. The first pushes serial data to a mySQL database. This is written in Visual Studio C# using help from Oracle mySQL connector. The second part publishes the entries in the mySQL database to the web server. This is written in php, and uses  Libchart for graphing. He’s got the code, schematics, parts list and a lot of other information available for download on his blog. There’s a couple of items pending on his to-do list, so if you have any tips to offer post your comments below.

Hacklet 49 – Weather Display Projects

Everyone wants to know what the weather is, and what it is going to be. Today’s internet enabled forecasts give us continuous streams of current weather data and predictions from any of several computer models. Couple that with data from an on-site station, and you’ve got a lot of information to display! It makes sense that weather display projects would be popular with hackers, makers and engineers. What do you do after you build the worlds most awesome clock? Build the worlds most awesome weather display (and then incorporate a clock in there as well!).

Last week on The Hacklet I mentioned that there are two basic types  of weather projects on Hackaday.io: Sensing and Display projects. There was a bit of foreshadowing there, as this week’s Hacklet covers some of the best weather display projects on Hackaday.io!

geoWe start with [Ashley Hennefer] and G.E.O, a project which is out of this world – literally. Geological Environment Observer, or G.E.O was created for NASA’s Space Apps Challenge. G.E.O’s mission is to keep astronauts on long-distance space flight missions connected with their home city (and planet). An astronaut programs the device with their home city and G.E.O takes it from there. Inside a glass globe, G.E.O creates weather patterns mirroring the programmed city. It does this with Adafruit NeoPixel LEDs, a water pump, a mist generator, and a wave shield. An Intel Edison controls the system. For now, weather data and programming are completed using a web interface. Once G.E.O launches though, data will be streamed via NASA’s deep space network.

flaps[Sephen DeVos] keeps track of the weather with a glance at his Internet Split Flap Weather Clock. Lots of weather apps use simple icons to display the current conditions. [Sephen] placed those icons on a mechanical split flap display which lets him know the conditions outside. The project’s case came from a donor clock given to [Sephen] by his parents. He then 3D printed an entire split flap mechanism, including the gears! Each 50 mm x 100 mm flap forms half an image.  A small stepper drives the flaps, while an IR detector lets the system know when it has reached a home position. Control is handled by an Arduino Nano and companion Ethernet shield. The Arduino checks the weather every 30 minutes. If conditions have changed, it flips to the right icon. Genius!

usmap[Dan Fein] is keeping track of the temperature across the entire USA with Weather Map. [Dan] works for Weather Underground, so it’s no surprise that he uses their API (accessed via a node.js script) for weather data. The data is fed into a spark core which then drives a string of 100 WS2812 LEDs. Each LED is mapped to a specific point in the continental USA. Color indicates the current temperature at that location. [Dan] does caution that you’ll have to slow down access to Weather Underground  if you’re using a free API key. Even with slower updates, this is still an awesome project!

yaws[Jeff Thomas] went the traditional route with YAWS – (Yet Another Weather Station). YAWS uses a 5 inch TFT LCD to display weather data from a number of sensors. [Jeff] got his display and the driver board from buydisplay.com. The driver board uses the venerable RA8875 display driver chip. The RA8875 handles all the hard parts of driving an LCD, like video RAM, refresh, and clocks. This allows a relatively slow Arduino to drive all those pixels. [Jeff] created a very handsome interface to display all his data, but he has a small problem – a memory leak causes the system to freeze up every 18 hours! We’re hoping [Jeff] will share his source code so the Hackaday.io community can help him find that pesky bug!

If you want to see more projects like these, check the Weather Display Projects list on Hackaday.io. That’s it for this week’s Hacklet, As always, see you next week. Same hack time, same hack channel, bringing you the best of Hackaday.io!

Use A Lamp To See Into The Future

We’ve heard of magic lamps before, but this one is actually real. [Alex] has created a wall-mounted lamp that can tell you what the future will be like; at least as far as the weather is concerned. It is appropriately named “Project Aladdin” and allows you to tell a great deal about the weather at a glance as you walk out of the door.

The lamp consists of twelve LED strips arranged vertically. The bottom strip represents the current hour, and each strip above represents another hour in the future. The color of each strip indicates the temperature, and various animations of the LEDs within each strip indicate wind speed and precipitation.

The system uses a weather forecasting backend built-in Java, which is available on the project’s page. The LEDs are controlled by an application that is written in C, and the entire set of LEDs are enclosed in a translucent housing which gives it a very professional appearance. Be sure to check out the demo video after the break. Be sure to check out some other takes on weather lamps which use regular desk lamps instead of intricate scratch-made LED lamps.

Continue reading “Use A Lamp To See Into The Future”

Home Automation Setup Keeps You Informed

[johannes] wrote in to tell us about his latest project, a home automation setup he named Botman. While he calls it a home automation system, controlling lights and home appliances (which it does wirelessly on 433MHz) is just a small part of its functionality. The front panel of Botman includes a servo which points to laser-etched icons of the current weather. It also has a display which shows indoor and outdoor weather conditions along with the status of public transportation around [johannes]’s house.

Botman is built around an Arduino with an Ethernet shield. The Arduino has very little memory, so [johannes] used the Google Apps engine as a buffer between his Arduino and the JSON APIs of his data sources. This significantly reduces the amount of data the Arduino has to keep in memory and parse.

[johannes] also wrote an Android app that communicates with Botman. The app has buttons for controlling lights in his house and duplicates all the information shown on the front panel. [johannes] also built some logging features into Botman. The temperature readings and other information are uploaded from the Arduino to a Google Docs spreadsheet where he can view and graph them from anywhere. Check out the video after the break to see Botman in action.

Continue reading “Home Automation Setup Keeps You Informed”

Apple ][ Graphics as your Screensaver or Second Screen


Hipsters rejoice, you can actually make those high-tech IPS panels look like crap. Really nostalgic crap. [Kaveen Rodrigo] wrote in to show how he displays weather data as his Apple ][ emulated screensaver.

2014-07-08-234300_1366x768_scrotHe’s building on the Apple2 package that is part of the xscreensaver available on Linux systems. The program has an option flag that allows you to run another program inside of it. This can be just about anything including using it as your terminal emulator. [Adrian] recently sent us the screenshot shown here for our retro edition. He is running bash and loaded up freenet just to enjoy what it used to be like in the good old days.

In this case, [Kaveen] is using Python to pull in, parse, and print out a Yahoo weather json packet. Since it’s just a program that is called when the screensaver is launched, you can use it as such or just launch it manually and fill your second monitor whenever not in use.

We gave it a whirl, altering his code to take a tuple of zip codes. Every hour it will pull down the data and redraw the screen. But we’ve put enough in there that you’ll be able to replace it with your own data in a matter of minutes. If you do, post a screenshot and what you’re using it for in the comments.

Continue reading “Apple ][ Graphics as your Screensaver or Second Screen”