I am sharing with you my somewhat strange project of measuring wind speed and direction without moving parts. FYI: English is not my birth language, so please excuse any errors that may occur.

Context: I have two homemade personal weather stations, both using anemometers from Davis Instruments, but one of them started having problems. When the sun is strong, there is no wind speed. After a little exchange between the two, it is confirmed, the problem comes from the anemometer. Davis anemometers are very good, withstand very high winds, but I am not lucky with them. For one of my stations, I have had it for over 5 years, but for the other, already replaced twice, while it is not cheap.

So, I wanted to do something different. The goal was an anemometer without moving parts. An ultrasonic model seemed like the right choice, but generally the maximum wind speed by these rarely exceeds 150 km/h and I was not sure of the resistance to the humid, hot, and corrosive climate of the Caribbean.

Moreover, I was more for a DIY solution, even if it meant making a completely 3D printed cup anemometer, but why make it simple when you can make it complicated? 😅

I wondered if it was possible to measure wind speed with load sensors. After some research on the net, it exist, but it's a solution rarely used due to the complexity of the calculation and the variables you need to take in consideration, but I like challenges 😁

And in the DIY world, I realized that I was overtaken few months before by the YouTuber "Smart Solutions for Home" ( https://www.youtube.com/watch?v=VRTdikyyJBE ) and his similar project using strain sensors. His video is great and his idea also original, but for me, it was not this type of construction that suits me due to several limitations and sturdiness. At least il need to be upside down to prevent bird to land on the wind plates/ball.

In my idea, I was thinking more of using load cell ( https://www.amazon.com/dp/B09VYTQK9G?ref=ppx_yo2ov_dt_b_fed_asin_title&th=1 ), it is in itself more precise and more resistant than using strain cell on 3D printing.

 So I planned one for North-South measurement and another for East-West with an ESP32 to manage everything.

The original weather station was not going to be physically modified for this, but it would retrieve, via a CSV, the information on wind speed, gusts, and direction. And in the other way, the anemometer would retrieve also via CSV the information on temperature, humidity, and pressure from this station.

I am not a programming pro, but I managed to code my station at the time, but in this case, Chat GPT helped me a lot to understand the equations between wind and force and to help me code this anemometer.

Brief explanation of the code:

 The updateWindDirectionAndForce function retrieves the weight measured on the load sensor and converts it into wind speed and direction.

The getMedian and getMedianGust functions extract from the retrieved values the median value over one minute of wind speed, and the maximum gusts over 2.5s.

The median allows to discard outliers that load sensors can capture, especially if something hits/touches the sensors or the support. The median for gusts is adjusted to let higher values pass, while ignoring the upper 1/8th of the data outliers.

The tareSensor function allows calibration of the tare in operation while trying not to take into account tares deviating too much in case the wind blows during the measurement.

 In my case, a fixed tare is not possible because the mast being fixed on a wooden structure, the heat of the day deforming the wood tilts the mast enough to add an offset to the measurement. A tare every 15 minutes avoids this phenomenon (I understand why this wind measurement technique is never used, too many environmental variables to take into account).

The rest just manages the web page and creates a CSV, or reads the CSV from the station. ...

Read more »