Introduction: GSM Solar Powered Wind Station

The goal of this project is to build a autonomous station that gives wind speed and direction.

The station will answer phone calls and deliver informations over speech synthesis.

Step 1: Material Used :

  • 1 x Wind sensor (ebay.ch Davis Vantage Pro $125)
  • 1 x Arduino mega 2560 (playzone.ch $50)
  • 1 x GSM shield (playzone.ch $100)
  • 1 x MP3 shield (playzone.ch $42)
  • 2 x Mega proto shield (selectronic.ch $12 each)
  • 1 x Trend Solar kit 20W (conrad.ch $190)
  • 1 x pole 2m diam 48mm (conrad.ch $40)
  • 1 x pole mount kit for solar panel (alarm-direct.ch $90)
  • 1 x plastic box (conrad.ch $60)
  • 1 x DC 12V to USB 5V 3A converter regulator (ebay.ch $4)
  • 1 x 5V USB programmable digital timer (ebay.ch $30)
  • Electronic components (connectors, resistors, condensators)


Total cost : $725

Step 2: Arduino Hardware

The project will run on an Arduino mega, with two shields (mp3 and gsm)

I was not able to drive the two shields with an arduino UNO due to conflict in pins.

Step 3: Connecting the Anemometer to the Arduino Hardware

The anemometer has a RJ11 output that needs to be connected to the arduino to be able to read the signals generated.

This is the electrical schema I used and how I implemented it on a mega proto shield that will be connected on top of the arduino.

Step 4: Connecting the MP3 Shield

To fonction with the Arduino MEGA, pins 11, 12 and 13 of the MP3 shield must be connected with pin 50, 51 and 52 of the Arduino. This pin change is done on the same mega proto shield that connects to the anemometer.

Notice the pin 11, 12 and 13 that have been cut on the mega proto shield so that it does not connect to the Arduino any more.

No library change are needed.

Step 5: Connecting the GSM Shield

To fonction with the Arduino, pin 2, 3 and 7 from the GSM shield have to be connected to pin A8, A9 and A10 of the Arduino. This done using another mega proto shield that sits above the MP3 shield.

Notice the pin 2, 3 and 7 that have been cut on the mega proto shield so that it does not connect to the Arduino any more.

The gsm3io.h library has to be updated accordingly.

Step 6: Connecting the MP3 Shield With the GSM Shield

Two wire are soldered on the GSM shield microphone connection (M1N, M1P).

These wires can be directely connected to the MP3 shield Speaker output (-, R) or (-, L)

Notice the soldering on the MP3 shield to configure it as "Line out" (factory setting is "Headphone out")

Step 7: MP3 Spech Synthesys

To answer calls, the Arduino needs to play MP3 files out of the MP3 shield. These files are created from text to speech online web sites (ex: http://www.fromtexttospeech.com/).

Once downloaded, the files needs to be written to a micro SD card that will be plugged into the socket on the MP3 shield.

The archive micro-sd.zip contains all the files needed to play wind speeds and direction in french.

Wind direction is given like North, North-East, East ...etc... (of course in french)

Wind speed and burst are given in km/h

Patches for the MP3 shield are also on the sd card

Step 8: Arduino Code

The high level view of the program consists of a main loop and two interrupt routines.

  • The main loop waits for a call, answers it and plays MP3 files according to the actual values of wind speed, burst and direction.

  • The first interrupt routine is driven by a hardware interrupt that fires each time the anemometer finishes a rotation. It allows to calculate the wind speed.
  • The second interrupt routine is driven by a software interrupt that fires every 6 seconds and stores wind speed and direction in a table for processing.

Arduino code GSM_Wind_Station.ino and modified library GSM3IO.h are provided.

Step 9: Connecting All Together

-1- Solar panel charge regulator (12V)

Connected between the battery and the solar panel, will regulate the current in order to charge the battery and provide a clean output to the arduino

-2- DC 12V to USB 5V 3A converter regulator

Converts the 12V output from the Solar panel charge regulator to a 5V USB needed by the Arduino

-3- Lead Acid Battery (12V - 9AH)

Gives an autonomy of 4,5 days (with no sun)

-4- 5V USB programmable digital timer

Powers off the system at night (from 20:00 to 06:00)

-5- Arduino + GSM + MP3

Answers calls

Step 10: Try It !

The wind station sits in my backyard in Switzerland.

It is reachable at this number : +41 79 827 26 84

It only answers call between 06:00 and 20:00 (CET)

enjoy ...

Renewable Energy Contest

Participated in the
Renewable Energy Contest