I bought a wind speed sensor from china, it’s a spare part for the “misol” weather stations, just search for “wind speed misol sensor aliexpress” for the product, it was less than 15€.



I unscrewed it to see how it works, technically it’s just a hall sensor.
For my test-setup, I simply cut off the connector (Don’t do this if you want to use it in combination with the wind direction sensor, it’s intended to be plugged in there!) and connected the wires directly to GND and GPIO4 and used the internal pull-up resistor:

Adding it to esphome is straight forward and easy. I’m using the pulse counter component, it uses the pulse counter peripheral of the ESP32 and works in standby-modes:
substitutions:
update_interval: 5s
sensor:
- platform: pulse_counter
name: "Wind Speed Counter"
id: windspeed_pulse_counter
use_pcnt: true
count_mode:
falling_edge: INCREMENT
rising_edge: DISABLE
pin:
number: GPIO4
inverted: true
mode:
input: true
pullup: true
unit_of_measurement: "km/h"
icon: "mdi:windsock"
update_interval: ${update_interval}
filters:
- multiply: 0.04
- debounce: 10ms
total:
name: "Wind Speed Counter Total Pulses"
The value “0.04” is 2.4kmh/60s (to convert it from esphome’s pulses/min to km/h). The value 2.4km/h is explained here in the datasheets I found in this wiki that seem to match my hardware:
datasheet_1
datasheet_2
Leave a Reply