Sebastian Sokołowski's "Omnidirectional Sail" Is a Home Assistant Wind Gauge with a Difference
Swapping a spinning rotor for four strain gauges, this low-cost 3D-printable wind gauge is ready to hook in to Home Assistant.
Electronics engineer Sebastian Sokołowski has designed a 3D-printable anemometer, or wind gauge, for use with Home Assistant — but, in an unusual twist, it lacks the traditional spinning arms.
"On one side, it’s got little cups that spin with the wind, and on the other, a vane that points to where the wind's coming from. They're simple and get the job done by measuring rotation speed and direction," Sokołowski explains of traditional spinning anemometers. "Then you've got the ultrasonic wind gauges. These are high-tech devices that avoid moving parts by measuring how fast ultrasonic waves travel between sensors, affected by wind. They’re super accurate and responsive, but the price tag is through the roof. Seriously, you'd think they were made of gold!"
Desiring a robust and accurate wind gauge but being unwilling to pay the price of commercial ultrasonic models, Sokołowski set about taking a third path — building a sensor with no spinning parts that, he claims, offers the same reliability and precision as the ultrasonic models, but which swaps expensive components for simple strain gauges.
"When wind pushes against a vertical post attached to a flexible base, it causes the post to bend. The stronger the wind, the more it bends," Sokołowski explains. "By measuring this bending in two directions — north-south and east-west — we can figure out both the wind's speed and direction. But wait, there’s a catch. Temperature can affect our measurements because materials expand or contract with temperature changes. So, how do we make sure we’'e measuring wind effects and not temperature fluctuations? Simple solution: use four strain gauges instead of two."
Sokołowski's finished design uses four opposing strain connected to an "omnidirectional sail" that looks like an oversized badminton shuttlecock, designed to balance sensitivity with responsiveness. Inside the base is an Espressif ESP32 microcontroller, talking to a four-channel analog to digital converter (ADC) — reading the strain gauges' movement, performing the necessary calculations to shift that into wind speed and direction, and transmitting it to Home Assistant via the ESPHome firmware.
The project is documented in full on Sokołowski's website, and in the video embedded above and on the maker's YouTube channel; Sokołowski is making the PCB design files and "sail" 3D print files available for free on-request, with the PCBs also available for purchase at $6.47 unpopulated on his store.