The GPRS and Meteorological shield adds functionality to the UPOD in both data acquisition and transmission. The shield provides three basic functions: 1) an interface for incorporating wind speed and wind direction into the UPOD data-stream 2) a header for the ADH8066 GSM/GPRS module and 3) an FTDI USB-UART driver for communicating with the UPOD or GPRS/GSM via serial USB.


Let us take a more in-depth look at how to use this shield.

Board Layout

There are three options for providing 5VDC power to the met station shield. 1) It can be plugged directly into the UPOD or Arduino and receive power through the shield’s pin header, 2) an extra header labelled ’5V/GND’ can be used to power the shield or 3) power can be supplied through the Ethernet header (see the ‘Meteorological’ section).

The board is compatible with the ADH8066 GSM/GPRS module. This module provides the capability to transmit data remotely using cell phone towers. You could program the UPOD to send a txt message warning of low battery power, for example, or have data uploaded to an FTP server.

An FTDI chip allows for serial communication with the GPRS/GSM module or the UPOD using a USB connection to an external computer. The communication pathway is selectable using a 6 channel dip switch and solder jumpers on the rear of the board. The USB connection can also be used to upload code onto the UPOD.

Lastly, an RJ45 header allows for a meteorological station to be connected to the UPOD. The ‘MET_STATION’ flag compiles the UPOD firmware such that wind speed and wind direction are logged by the UPOD.

Serial Communication

This is important if you want to send data in any of the following ways:
external computer <-> UPOD
external computer <-> GPRS/GSM module
UPOD <-> GPRS/GSM module
First, if you are not familiar with serial communication, do yourself a favor and read up on Universal Asynchronous Receiver/Transmitter (UART) basics. UART is the protocol used by the atmega microcontroller (most microcontrollers and all Arduino models). The ‘Serial’ referred to on the Arduino webpage is UART. I will try to give a rundown here of the barebones needed to use the shield and interface it with an external computer or the UPOD (the shield may also be used with an Arduino as well!).

In its most basic form, serial communication consist of two lines 1) a receive, or Rx line and 2) a transmit, or Tx line. The receive or transmit nomenclature is with respect to the device of which you are speaking. This is very important and a point of confusion for many people.

For example, suppose we would like to connect the UPOD to the GPRS module. The connection would be:
UPOD Tx <-> GPRS Rx
UPOD Rx <-> GPRS Tx
Here, the transmit line out of the UPOD is connected to the receive line into the GPRS module, and vice versa.

The GPRS/Met shield has several of these connections already selectable via the 6 channel DIP switch. The channels are counted from bottom to top, and make the following connections:

  1. GND <-> FTDI CTS
  2. ATMEGA TX <-> FTDI RX
  3. ATMEGA RST <-> FTDI DTR
  4. ATMEGA RX <-> FTDI TX
  5. GPRS RX <-> FTDI TX
  6. GPRS TX <-> FTDI RX

There are solder jumpers connecting ATMEGA RX/TX <-> GPRS TX/RX on the rear of the board. All connections are also printed on the PCB silkscreen (click image to enlarge).

Typically, you will want to have ATMEGA RST <-> FTDI DTR in the OFF position, and GND <-> FTDI CTS in the ON position. The DTR to RST function is only applicable when using the shield to program the UPOD Atmega microcontroller. Even then, the use of the DTR to initiate the program upload is computer dependent (see the ‘GPRS/Met shield as UPOD programmer’ section).

The remaining Rx/Tx connections should be switched ON/OFF depending on which devices are connected for communication.


Connecting a computer to the GPRS module

Here is an example of how to connect an external computer to the GPRS module. This is a good way to test that your GPRS setup is functioning properly before integrating it into the UPOD.