AcuRite Weather Station

You can buy an AcuRite 5 in 1 weather station for anywhere from $120 to $160 from Amazon or Costco (and elsewhere), with a little coding (that was preceded by a bunch of reverse engineering), you can push that data to an Azure IoT hub and PowerBI. It’s a surprisingly accurate device. I only have 25 data points in the first image, but you get the idea. It can capture indoor and outdoor temp and humidity, and outdoor pressure, rainfall, wind speed, and wind direction, plus some stats on signal strength (the sensor head is wireless) and battery levels.

In the charts, you can see the temp falling and humidity rising. The times are in UTC - it was actually late evening here in Seattle.

The hardware setup is a sensor head outside, and a display head inside. The display head has a USB cable and that is attached to an RPi2 running Windows 10 IoT, which pushes to Azure once a minute.

The code is super ugly (it’s a first stab at this and needs a lot of cleanup, but you can view it here: [url]https://github.com/PervasiveDigital/AcuriteWxStation[/url]

Hints: Be sure your display head is set to USB Mode ‘4’. If you get an argument exception on first run - try using an upper USB port or unplug and re-plug the USB cable.
The usb interface is a Hid device, so I suspect you might be able to accomplish the same using a GHI NETMF board with host USB, but I needed the RPi power for other nefarious plans.

9 Likes

Interesting.

  1. How were you able to access it via C# ? Did it come that way? What chip is it running?
  2. Why did you use PowerBI instead of the visualization in IOT Hub?
    Thanks.

Use the source, Luke : https://github.com/PervasiveDigital/AcuriteWxStation In particular, see Mainpage.xaml.cs and the appx manifest’s ‘Capabilities’ section. Basically, for HID devices, you just open it with the VID, PID, usage page and usage ID. If you don’t know those, then tools like Device Manager (built in), USBView (in the Windows SDK), and USBlyzer software USB protocol analyzer will help with the reverse engineering. There are some web pages out there that go into a teardown of the sensor. The display head is a USB HID device, so it wasn’t too hard to interface with. Later, as a learning exercise, I may try to create a GHI-hardware NETMF version. The RPi version is just a bit less stable than I would like and I’d like to compare to a netmf version.

Had a tight deadline and I know it fairly well, and I think it may result in ‘prettier’ dashboards and reports (once I get around to making things pretty. It is also easier to co-author and publish publicly using Power BI Pro ‘groups’.

@ mcalsyn - Neat!

One question that I’ve yet to get a satisfactory answer to is how to avoid heat bias due to location of a temp sensor in a location that gets sun.

For something like the one you mention, since it’s wireless, I suppose you could locate in a shady area (under a deck), but my current temp/humidity device uses a wired sensor, so I have to just stick it out of a window.

Does the weather station come with proper siting instructions?

yup - it has good siting instructions, and according to some of the tear-downs I have seen, it has a fair amount of mitigations built in for its own sensors. They have quite a nice online support community too.

Shady locations aren’t so great for this unit, because it has solar cells that take the load off the batteries during the day.

Good point. As long as they’ve got compensation for sun exposure built in, shouldn’t be a big deal.

My current sensor is black, so when in direct sunlight, I’m pretty sure it reads high. But it was cheap, so what’re you gonna do? :wink:

Really cool project! Kudos!

Wish there was an option for shipping to Europe! :wall:

@ mcalsyn - Based on what you see with that outside sensor, is there anyway to eliminate their inside control unit and go direct to the sensor hardware.

@ devhammer - you’re looking for a Stevenson screen. thingiverse… Stevenson screen for wireless meteorological sensor by Galto2000 - Thingiverse, or google it.

I made one from dollar store plastic cereal bowls spray painted white. works great. this assumes the sensor is separate from the main unit however, which is not the case with the Acurite.

Also, for those who are interested in building their own station, Sparkfun has a great weather shield with external sensors for rain, wind speed and direction. Price is about the same. I’ve got one feeding data to wunderground ([url]https://www.wunderground.com/personal-weather-station/dashboard?ID=KVTBURLI18[/url] ) and Azure IoT with an Electric Imp. FYI - The Electric Imp guys just published a library for Azure IoT Hub integration which is super simple to use. The Imp agent makes for a great gateway, if you don’t mind wrestling with squirrel(s).

I’m running mine with an Uno right now, but keep dreaming of finding the time to port the sensor libraries to NETMF (some may already have been - I have not done an exhaustive search).

More details here: [url]https://www.hackster.io/ransomhall/precision-agriculture-a-prototype-solution-58a43b[/url]

2 Likes

Yes - some Arduino projects have done that by picking up the 433MHz signal directly. Seems like it is not too hard to decode. I suspect you could replicate that using some of the GHI signal-capture support.

This is just one of several examples : http://rayshobby.net/reverse-engineer-wireless-temperature-humidity-rain-sensors-part-1/

Thanks. I did find the wx stations in Amazon(.co.uk, .de, and .es), but at three to four times the US price! They are light, but bulky, and there’s VAT and all that, but yowza, that’s quite a markup. If the economics work out, I am happy to buy some here and ship them there. Or you might be better off with one of the Froggit models (on amazon.de) which seem to have some sort of wifi connectivity too. But if you want to replicate what I have done here with the AcuRite ones, DM me and maybe we can set something up.

1 Like

Actually the WS comes with two solar panels built in which are made specifically to run an internal fan using solar power that pulls in outside air to keeps those sensors readings accurate when under direct sun. Which is a smart way to conserve batteries and only run the fan when under intense sun that will eliminating the false reading from heat accumulation.

1 Like

See - now there’s a guy who reads the instructions. Me - I just started hacking and reverse engineering. I thought the solar just took over for the batteries during the day. My model is subtly different from @ jayjay’s - I have only one solar panel, and a fake color screen on the display head (and for some reason, mine came in a box half the size of @ jayjay’s).

But kudos to @ jayjay too as we both worked into the wee hours of our respective nights to pull this together quickly and replicate it on two continents. It was nifty to see the respective weather patterns emerge in the data!

Oooooo, it looks like you’ve got the older design, that had an issue due to the usage of one solar panel, so they’ve improved the design and solved the issue by including two solar panels… :slight_smile:
And kudos to you my friend you did all the work :slight_smile:

1 Like

[ as an aside, there are several Fine Offset brand weather stations that are cheap and reasonably available worldwide, and there’s a few different ways of getting data out of them, including the internal unit connecting over USB similar to the way you’ve done here - Fine Offset family might be worth a look at as an alternative hardware platform… eg WH3081 http://foshk.com/weather_professional/wh3081.htm they can be sold under different brand names too ]