Back to Sensors & Actuators Series

Anemometer: Wind Speed Measurement

April 10, 2026 Wasil Zafar 8 min read

Anemometer deep dive — cup anemometer pulse counting, calibration, Arduino code, and weather station/wind farm applications.

Contents

  1. Working Principle
  2. Electrical Characteristics
  3. Interfacing with MCU
  4. Calibration
  5. Code Example
  6. Real-World Applications
  7. Limitations

Working Principle

An anemometer measures wind speed. The most common type for embedded systems is the cup anemometer: three or four hemispherical cups mounted on a vertical rotor shaft. Wind pushes the cups, spinning the rotor at a speed proportional to wind velocity. A reed switch or Hall-effect sensor inside the shaft generates one pulse per revolution, allowing the MCU to calculate wind speed from the pulse frequency.

Other types include: Vane anemometers (rotating propeller), hot-wire anemometers (cooling rate of a heated wire), and ultrasonic anemometers (transit time of ultrasonic pulses between transducers).

Electrical Characteristics

ParameterTypical Cup Anemometer
Wind Speed Range0.3–70 m/s (0.7–157 mph)
Starting Threshold~0.3 m/s (very light breeze)
Output SignalOpen-collector pulse (reed switch or Hall effect)
Pulses per Revolution1 or 2 (model dependent)
Calibration Factor~2.4 km/h per Hz (model specific)
Supply (for Hall-effect type)3.3–5 V
Operating Temperature-40 to +65 °C
MountingM8/M10 threaded mast mount

Interfacing with an MCU

Connect one pulse wire to an MCU interrupt-capable GPIO with a 10 kΩ pull-up resistor (the output is typically open-collector/drain). Count pulses over a fixed time window (1–3 seconds) and apply the calibration factor: wind_speed = pulse_frequency × calibration_factor.

Debouncing: Reed switch anemometers need debouncing (contact bounce). Either use a hardware 100 nF capacitor across the switch or implement a software minimum pulse period filter (e.g., ignore pulses <5 ms apart).

Calibration

  • Manufacturer factor: Use the datasheet calibration constant (e.g., wind_speed_mph = frequency × 1.492). If unavailable, calibrate against a reference meter
  • Wind tunnel: Professional calibration uses a wind tunnel with known air velocity
  • Field comparison: Mount alongside a known calibrated anemometer and develop a linear correction curve
  • Averaging: Wind is gusty — average over 2–10 second windows. Report both sustained speed and gust (peak speed in measurement interval)

Code Example

/*
 * Cup Anemometer — Wind Speed (Arduino)
 * Wiring: Pulse wire → D2 (interrupt), 10kΩ pull-up to VCC
 *         Other wire → GND
 */
#define ANEMO_PIN 2
#define CAL_FACTOR 2.4  /* km/h per Hz (adjust per model) */
#define MEASURE_MS 3000 /* 3-second measurement window */

volatile unsigned long pulseCount = 0;

void anemoPulse() {
    pulseCount++;
}

void setup() {
    Serial.begin(9600);
    pinMode(ANEMO_PIN, INPUT_PULLUP);
    attachInterrupt(digitalPinToInterrupt(ANEMO_PIN),
                    anemoPulse, FALLING);
    Serial.println("Anemometer Ready");
}

void loop() {
    pulseCount = 0;
    delay(MEASURE_MS);

    noInterrupts();
    unsigned long count = pulseCount;
    interrupts();

    float freq = (float)count / (MEASURE_MS / 1000.0);
    float speed_kmh = freq * CAL_FACTOR;
    float speed_ms  = speed_kmh / 3.6;

    Serial.print("Pulses: "); Serial.print(count);
    Serial.print("  Freq: "); Serial.print(freq, 1);
    Serial.print(" Hz  Speed: ");
    Serial.print(speed_kmh, 1); Serial.print(" km/h (");
    Serial.print(speed_ms, 1);  Serial.println(" m/s)");
}

Real-World Applications

Weather Stations, Wind Farms & HVAC Systems

Anemometers are used in professional and DIY weather stations, wind turbine siting surveys, construction crane safety (auto-lockout above wind threshold), airport wind monitoring, sailing performance systems, HVAC air flow measurement, drone flight planning, and agricultural frost warning systems (wind speed affects frost formation).

WeatherWind FarmHVACAviation

Limitations

  • Starting threshold: Cup anemometers cannot measure very calm winds (<0.3 m/s); cups need minimum force to overcome friction.
  • Overspecification in gusts: Cup anemometers slightly over-read during rapid deceleration; they speed up faster than they slow down.
  • Maintenance: Bearings wear out in harsh environments; annual maintenance needed for accuracy.
  • No direction: A cup anemometer only measures speed, not direction; pair with a wind vane for full vector measurement.
  • Icing: In freezing conditions, ice on the cups stops rotation; heated anemometers exist for polar/mountain installations.