Pinouts

There's a lot going on in this shield, we basically stuffed an entire phone in here! So lets go piece by piece on what you get in a shield

Connectors

There's three external connectors along the left side, from the top, a headphone jack, a uFL connector and a 2 pin JST-PH. There's also a second uFL connector in the top middle.

  • Headset jack - this is a 'standard' TRRS 3.5mm phone headset jack with stereo earphone and mono microphone. Any 'iPhone' or 'Android' compatible (but not iPhone original) should work. We tried about 10 different ones, and basically the more expensive once are more comfortable and louder but our official iPhone headset mic did not work for unknown reasons. Sleeve is Mic+, first ring is ground, then the second ring and tip are for stereo audio. The module does not have stereo out so we just tied both together.
  • uFL RF connector - This is the Antenna connector, an antenna is required to use the FONA shield! You can either use a uFL GSM antenna like this, or use a uFL to SMA adapter and then an SMA antenna
  • JST 2-pin - this is the battery input connector. It works with any of our Lipoly batteries but since the charge rate is 500mA (and the cellular module can spike high current draw!) we suggest our 500mAh or 1200mAh batteries. You can also connect a JST cable here if you have other plans.
  • uFL GPS connector - this is the GPS Antenna connector, an antenna is required if you want to get GPS readings! You can use this 15mm passive antenna, or any other passive 50 ohm antenna with a uFL connector. You cannot use an active antenna, although we have added some spots for optional bias circuitry, we couldn't get it to work with our active antennas so we left the pads there but not assembled.

Charging Circuitry

A lipoly battery is required to run the FONA shield, as there's up to 2A mini-spikes during cellular connectivity. To make it easy to keep the battery charged, there's charging circuitry onboard. The battery is kept topped-up by the 5V Arduino pin. We charge at a 200mA rate. You can check the status by looking at the CHRG and DONE LEDs.  Charging occurs whenever the switch is set to CHRG

You can also run the Arduino + Shield off the battery. It will run at a lower-than-5V level, around 3.7V or so. It's a under the common 5V voltage so if you are reading analog voltages and expecting 5V note that those numbers will be off, but for digital usages, it tends to be just fine. To run the Arduino+Shield off of LiPoly, set the switch to RUN

SIM Connector

A 2G Mini SIM card is required to use the module. Nearly any cell phone shop can sell you a SIM card. It must be a 2G GSM card. AT&T in the US does not sell these anymore! They are shutting down their GSM network, and only T-mobile sells and supports a GSM network. If you are in another country, chances are you can just ask for a GSM 2G card. For USA customers, we have a known-working TING SIM card which has a great billing system and works very well!

MicroSIMs won't fit - so make sure its a "Mini" SIM. Mini SIMs are 1" x 0.6" / 25mm x 15mm. These are by far the most common size.

Most cards come with a voice and/or data plan. If you want to make phone calls and SMS's you'll need a voice plan. If you want to transmit data like fetching a webpage, you'll need a data plan.

LEDs

  • PWR - green! Lit when the Cell module is booted and running
  • NET - blue! You can use this for checking the current state without sending an AT command:
    64ms on, 800ms off - the module is running but hasn't made connection to the cellular network yet
    64ms on, 3 seconds off - the module has made contact with the cellular network and can send/receive voice and SMS
    64ms on, 300ms off - the GPRS data connection you requested is active
    By watching the blinks you can get a visual feedback on whats going on.
  • Charging - Orange! This is next to the JST jack. Indicates the onboard lipo charger is charging
  • Done - Green! This is next to the JST jack. Indicates that the battery charging is done and the battery is full

Shield I/O Breakouts

The most important pins are broken near the top left of the board. This is how the Arduino will communicate with the FONA shield!

These pins are all 3-5V input safe and if they are an output, the logic level is whatever VCCIO is set to (see the VCCIO jumper near the FONA logo, by default we use 5V logic, for 3.3V logic-only Arduinos, cut the trace and solder the middle pad over to 3V

Starting from the right

  • RX & TX - The module uses UART to send and receive commands and data. These pins are auto-baud so whatever baud rate you send "AT" after reset or boot is the baud rate is used. RX is into the module connected by default to Digital #2, TX is out of the module, connected to Digital #3. The default connections will work on a Uno, but other arduinos may not support software serial on pins 2 and 3.  Check this page to see what pins to use on your arduino.
  • Reset (RST)- this is module hard reset pin. By default it has a high pull-up (module not in reset). If you absolutely got the module in a bad space, toggle this pin low for 100ms to perform a hard reset. We tie this to Digital #4, and the library does a hard-reset so you always have a fresh setup.
  • RTS (Ready To Send) - This is the module's flow control pin, you can use this to control how fast data is sent out from the module to the Arduino, good when you want to read only a few bytes at a time.
  • RI - this is the Ring Indicator. It is basically the 'interrupt' out pin from the module. It is by default high and will pulse low for 120ms when a call is received. It can also be configured to pulse when an SMS is received. This is not connected to any pin by default, so solder a wire if you want to use it!
  • Net - this is the Network status pin. It pulses to signal the current status of the module. This is also tied to the Net LED so for more detail see the LEDs section
  • Pwr - this is the Power Status pin. It is low when the module is off and high when the module has power. If you're using the Key button or pin, you can monitor this pad to see when the module's booted up. This is tied to the Pwr LED too.
  • Key - This is the power on/off control for the module. Its also tied to the button in the top left. When this pin is tied to ground for 2 seconds, it turns the module on or off. It's not a level signal so it isn't like "low is off, high is on" - instead you must pulse it for 2 seconds to turn off/on. The module comes by default on (tied to GND) so the module will come up immediately. If by chance you want to control this pin, cut the GND-jumper right below this pad and use with any microcontroller output pin

Audio Breakouts

  • SPK+ and - : This is for connecting an external 32 ohm speaker, max 0.2W. This is the same output as the headphone jack, but 'direct drive'. You cannot connect this to a stereo, powered speakers or other non-differential amplifier without adding a 100uF+ blocking cap in series to the + pin and then not using the - pin. Instead, your amp should use GND for the - reference
  • MIC + and -: this is for connecting an external electret microphone, it will bias the mic with 2V. Most electrets will work just fine. No extra circuitry is required for the mic such as a biaser or amplifier, just wire it up directly!

Other Breakout Pins

We scattered a few other breakouts around the board.

  • Buzzer and PWM - These are tied to the PWM output of the module! The PWM capability is quite nice, it can set any frequency and duty cycle. The PWM pin is directly output from the module and is 0-2.8Vpp. The Buzzer output has a NPN drive transistor so it can run a small vibration motor. Bz+ is the VBat voltage, Bz- is toggled on and off to ground.
  • PPS - this it the 'pulse per second' output of the GPS. We didn't have space for a level shifter so this is a 0-2.8V signal, so you may not be able to read it on a 5V logic Arduino. However, if you really need it, you can shift it manually.
This guide was first published on Jul 17, 2015. It was last updated on Jul 17, 2015. This page (Pinouts) was last updated on Aug 24, 2019.