Project tutorial

DIY Anemometer: Wind Speed Sensor Device © MIT

Anemometer or a wind speed measuring device is a common weather station instrument. It was costly online, so I built one!

  • 63 respects

Components and supplies

DC motor (generic)
09590 01
LED (generic)
Ph a000066 iso (1) ztbmubhmho
Arduino UNO

About this project


Anemometer or a wind speed measuring device is a common weather station instrument.

The other day, I was discussing an IoT project with a talented student group. We were running through a bunch of sensors that they can use in their project. In the list we had a wind speed sensor device, however the cost online was near about $80! Too much for a college project. So, in the document we didn’t mention which sensor to buy, instead I mentioned “Custom”.

And here’s my Custom Anemometer 🙂 It is based on a simple principle that I first used in Class 7 to build a generator from a DC Motor.

DC motor converts electrical energy into mechanical energy whereas DC generator converts mechanical energy into an electrical energy. Thus, if electrical energy can turn a DC motor, mechanical energy should generate electricity.

I need to capture wind energy to turn my dc motor and that should generate electricity which I can check using an Arduino, translate to a scale and use.

I took a RC car from my kid to get a DC motor and connected an LED to the two wires of DC motor and spun the motor shaft. LED lights up!

Then I connected the +ve pin of DC motor to analog 0 port on Arduino and DC ground to arduino ground.

Now that I have a basic proof of concept. I started working on the final product. Following pictures capture various stages.

I took 4 identical plastic scoop spoons from my Wife and pasted two together. Then I pasted this twin spoons perpendicular to each other on the two ends of the motor shaft. This formed the core assembly of my anemometer.

Next, I mounted this assembly on a long pencil and fixed it on a small pencil stand. I made arrangements to mount my Arduino board on this stand. I also added an LED on PWM pin 9 or Arduino so I can light it up on wind spin.

I wrote the following Arduino code to read analog data from A0 and plot it on a graph. I printed sensor value to serial console and launched Arduino's graph plotter to see results.

Arduino Code

int ledPin = 9;
void setup() {
void loop() {
  int sensorValue = analogRead(A0);
  //Map 0-1023 to discrete 0-50-100...250 values for LED
  analogWrite(ledPin, sensorValue * (51.0 / 1023.0) * 50);
  if(sensorValue > 0){
     Serial.print(" ");

And here’s the final result!

Live graph from Wind speed sensor

It does not end here. A few more things:

  • Since a 5v motor uses powerful magnets, it requires stronger wind to make it move. Need to use a smaller and lighter motor, like the one used in a Drone. Should have permanent magnets inside.
  • A low RPM motor would generate higher voltage at low spin rates. Hence it is desirable. However, with the use of larger gears in the fan shaft that drives the motor shaft, we can make DC motor spin faster at lower wind speeds.
  • A low voltage DC motor, like 3v motor would be safe, since the max voltage produced would not reach 5v at its highest speed and hence it won't hurt the Arduino board.


This code reads wind speed data on analog port 0 and lights up an LED
int ledPin = 9;

void setup() {

void loop() {
 int sensorValue = analogRead(A0);

 //Map 0-1023 to discrete 0-50-100...250 values for LED
 analogWrite(ledPin, sensorValue * (51.0 / 1023.0) * 50);
 if(sensorValue > 0){
    Serial.print(" ");




Similar projects you might like

Electronic Wind DIY Pinwheel

Project tutorial by Francesco Guerri

  • 9 respects

DIY Solar Tracker Arduino Project ITA

Project tutorial by Ingeimaks Ingeimaks

  • 1 comment
  • 27 respects

Weather Sensors, Between DHT11 and DHT22

by Achraf Oukheir

  • 12 respects

WiFi ESP8266 and DHT22 Sensor

Project tutorial by Hernanduino

  • 26 respects

Control the Speed of Brushless DC Motor Using Bluetooth

Project tutorial by mohitmehlawat

  • 17 respects

Herb Box Eco System

Project tutorial by Walter Heger

  • 307 respects
Add projectSign up / Login