Skip to content
A high-quality sensor unit for use with Fine Offset weather stations
C++
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Photos
Source
LICENSE
Parts List.txt
README.md

README.md

Weather Station

An ESP32 / Arduino project to create a high-quality sensor unit for use with Fine Offset weather stations

For several years I enjoyed my Alecto 4000 weather station (more commonly known as Fine Offset WH1080). It has a good display and an easy to mount outdoor unit with anemometer and wind direction. I could connect it to my Raspberry Pi so I was able to get weather information over the internet at any time. The downside of the system is the relatively short lifespan of the outdoor unit. Based on my experience with two systems I estimate it lasts around three years. I also couldn’t attest to the accuracy of wind measurements, because the outdoor unit was mounted on a short pole and will surely have been influenced by its close proximity to the house. Last year the outdoor unit of my second system got stuck and I started to contemplate an alternative. As it happened, a long time ago I was given a professional anemometer that was struck by lightning and needed to be replaced. I decided that the time had come to give that one a try and see if it still worked and if I could use it in a new, better weather system.

Since the anemometer does not come with a display or anything, I thought about combining the display of the Alecto with the anemometer. I saw basically two paths that I could take; 1. using the original outdoor transmitter and connecting the anemometer by converting its output to something the transmitter can understand or 2. replacing the whole outdoor unit with something else (and preferably better).

After some failed attempts at solution 1, I decided to go for option 2. Discussing this solution with a friend, I decided to recreate the outdoor unit using the following parts:

  • An ESP32 microcontroller
  • A Bosch BME280 temperature/pressure/humidity sensor
  • A DCF1 DCF time receiver
  • A Hope RMF69HW RF transceiver
  • The Thiess 3323.21.002 anemometer
  • The original Alecto rain meter

In a schematic:

Topology

The first 4 parts are to be housed in the original Alecto housing. The whole thing to be powered by 230V or optionally a solar panel.

The software will be made in the Arduino software development environment. For all these devices Arduino libraries are available, which makes development much easier.

After ordering the parts, I started connecting and integrating the individual devices one by one, using a breadboard. It took many months to integrate all parts into the system, creating both the electrical connections and the software. Especially tricky was getting the RF communication to the Alecto display to work. Although there is quite a lot of info and sample code available on the internet regarding this, all examples involve the opposite way of using it, where the original outdoor sensor is used and the signal is received by another device, such as a Raspberry Pi.

Breadboard

When I had the system running on the breadboard, I started working on a PCB that fits the housing of the Alecto. This turned out to be a lot of work too, since each connection has to be soldered manually. In the Photos directory you can find more images of this.

PCB

During this process I lost a lot of time because of a badly soldered connection. This led me to replace the RF chip twice, which didn’t fix it. The problem was that when verifying the connections, I pressed my Ohm meter against the bad connection, which was then shorted. As soon as I removed my Ohm meter the connection became unstable again.

The Arduino software, which can be downloaded from here, contains a lot of software features:

  • Reading data from all included sensors (wind direction and -speed, rain, temperature, humidity, pressure and time).
  • Calculating aggregated (wind) data using algorithms based on the recommendations of the World Meteorological Society.
  • Building the RF packets that are sent to the display.
  • Sending the data packets over RF every 48 seconds.
  • Over the air (OTA) updating of the software.

Also the OTA functionality turned out to be tricky. One of the problems was that you cannot use certain GPIO when using the WiFi functionality of the ESP32. Refer to RandomNerdTutorials for a lot of info on connecting peripherals to the ESP32. The result was that I had to resolder several connections. Because I could not do that for the GPIOs used for the anemometer, I decided to turn on the WiFi connection only after rebooting the ESP32 twice within 20 seconds. Another issue is that WiFi reception is considerably worse when the ESP32 is connected to the PCB.

In the end, I got everything working properly. Here you can see the weather station in action:

Outside

Although it was frustrating at times, I enjoyed this project as a creative and learning experience. The results can be seen on my weather site, http://www.blixemboschweer.nl. I hope some of you will make use of the results, perhaps even by building your own weather station. Please report on your experience if you can.

Greetings, Tsjakka

email

You can’t perform that action at this time.