I have had an AAG OneWire Weather Station lying around for ages. It has been collecting dust in the shed for seven to eight years until I had a ‘what can we hack today’ and remembered that I still had it.
Turns out a have a version 3 which uses a DS18S20 OneWire temperature sensor. A DS2423 OneWire counter for the wind speed and a DS2450 OneWire quad A/D converter for the wind direction. All three sensors are supported on an Arduino and it will compile in the Arduino IDE for ESP-8266.
Looking at the schematics it wasn’t hard to figure out how to hack the PCB to make it work without the serial to OneWire adapter.
Basically, I removed the voltage regulator and cut one connection on the PCB. Soldered a few wires to ground and the OneWire bus and all three sensors were recognized by the ESP-01.
The Weather Station was a bit dusty, so I put the plastic parts it in the dishwasher to clean them.
Modifying the PCB was easy. Had to do a small repair to one of the reed switches.
The RJ45 connectors were removed to make space.
A buck step-down converter was placed and a small PCB was made. They were glued in place using hot melt. The OneWire components run at 5V so I used a level converter to connect them to the 3.3V ESP-01. The ESP-01 is powered by an ams1117 5v to 3.3v dc-dc step-down converter.
ESP-01 placed and it all fits nicely.
No issues with clearance so let’s write some code and close it up.
Mounted to the side of the shed.
Code Uploaded and working. You can find it on my GitHub. Added a web interface with real-time updates using a WebSockets server on the ESP-01. Unfortunately, the DS18S20 temperature sensor turns out to be unusable because the buck step-down converter is heating up the enclosure. So I will add a temperature and humidity sensor in a Stevenson screen later on.
That’s the retrofit done. It’s an MQTT-enabled WiFi OneWire Weather Station. The weather station also feeds real-time data to the status page.