Ring, Ring! Who's that callin'? It's your breadboard! Introducing Adafruit FONA MiniGSM, an adorable all-in-one cellular phone module that lets you add voice, text, SMS and data to your project in an adorable little package.

This module measures only 1.75"x1.25" but packs a surprising amount of technology into it's little frame. At the heart is a GSM cellular module (we use the latest SIM800) the size of a postage stamp. This module can do just about everything

  • Quad-band 850/900/1800/1900MHz - connect onto any global GSM network with any 2G SIM (in the USA, T-Mobile is suggested)
  • Make and receive voice calls using a headset OR an external 8Ω speaker + electret microphone
  • Send and receive SMS messages
  • Send and receive GPRS data (TCP/IP, HTTP, etc.)
  • Scan and receive FM radio broadcasts (yeah, we don't exactly know why this was included but it works really well)
  • PWM/Buzzer vibrational motor control
  • AT command interface with "auto baud" detection
Sounds delicious, right? So we plated this fine module onto a little breakout with all the extras you need to make your next project shine
  • Onboard LiPoly battery charging circuitry so you can take your project on the go. Use any 500mAh+ LiPoly or LiIon battery and recharge over the MicroUSB when necessary. Two LEDs let you know when its charging and done
  • Standard 4-pole TRRS headphone jack. Use any 'Android' or 'iPhone'-compatible headset with mic
  • Breakouts for external 8Ω speaker and electret mic if you don't want to use a headphone
  • Level shifting circuitry so you can run it with 2.8V to 5V logic.
  • Vibrational motor (buzzer) driver so you can have noiseless notifications
  • uFL or SMA connections for external antenna
  • Indicator LEDs for power and network connectivity
  • Standard SIM slides into the back
This is our Release Candidate for hackers and advanced makers. We're still adding library support for all the various things the FONA can do but there may be updates as FONA is used around the world!
On its own, this module can't do anything. It requires a microcontroller to drive it! We suggest and use an Arduino but any 3-5V microcontroller with a UART can send and receive commands over the RX/TX pins.

You will also need some required accessories to make FONA work. These are not included!
  • SIM Card! A 2G Mini SIM card is required to do anything on the cellular network. US AT&T no longer sells 2G SIMs and will shut off their 2G network, so for American customers we recommend any T-Mobile or reseller (SIMPLE mobile, etc) that uses the T-Mobile network.
  • Lipoly Battery - 500mAh or larger! This 500mAh battery, or this 1200mAh will work great.
  • MicroUSB cable for charging the battery.
  • External Antenna - this straight one or this right-angle one will work well.
  • If you have the FONA with uFL connector - a uFL to SMA adapter cable.
There's also some recommended accessories. They are not required but chances are you'll want them!
There's a lot packed into the FONA MiniGSM, lets go thru all the pins, buttons and indicators and what they do

Connectors

There's three external connectors along the left side, from the top, a mini JST 2-pin, a microUSB and a headphone jack.

  • 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. See the cable photo for polarity, red is + and black is gnd.
  • MicroUSB connector - this is the LiPoly/LiIon battery charging port. The SIM800 has a USB interface but its ONLY for reprogramming the module with an expensive and unavailable IDE. So charge only! The charge rate is 500mA max.
  • 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.

Antenna port

Up top is the place where you can plug in your antenna. An antenna is required to use the module for any kind of voice or data communications as well as some SIM commands!

We have both SMA and uFL versions. You can either use a uFL GSM antenna like this, or use a uFL to SMA adapter and then an SMA antenna

If you have an SMA version, you can connect an SMA antenna directly. We suggest a quad band GSM/GPRS antenna, but if you're savvy and know what frequencies are used in your area you can get a single or dual band antenna that's just for your required frequency

SIM Connector (on Back)

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.

Bottom Breakouts

The most important pins are broken out at the bottom of the board. Not all of these are required, but they are all hella useful

These are in rough order of most important (not in linear order like we usually do)

These pins are all 3-5V input safe and if they are an output, the logic level is whatever Vio is set to.

  • Vio - THIS IS THE MOST IMPORTANT PIN! This is the pin that you MUST drive with an external voltage from 3V-5V to set the logic level converter. The converter also buffers the indicator LEDs so NOTHING will appear to work unless this pin is powered! You should set the voltage to whatever voltage your microcontroller uses for logic. A 5V micro (like Arduino) should have it be 5V, a 3V logic micro should set it to 3V.
  • VBAT & GND - these are the same pins as the 2-pin JST connector. Connect to a 3.7V/4.2V Lipoly/LiIon battery. Do not power from a power supply or LDO. Use only a battery, at least 500mA, 1000mAh+ is best since there can  be 2A spikes of current
  • Key - This is also a super important pin (but not as important as Vio). This is the power on/off indicator. Its also tied to the button in the top left. Tie this pin to ground for 2 seconds to turn 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 off. Tie this permanently to ground if you never want your micro to turn off the FONA for power saving
  • PS - 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.
  • NS - 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 below.
  • Reset - 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.
  • RX & TX - OK now that I made you read all that you can actually use the UART pins. 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, TX is out of the module.
  • 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.
  • SPK+ and - : This is for connecting an external 8 ohm speaker, max 1W. You can configure the module to route calls and FM radio to the headset or the external audio. The two pins are differential so they don't have output DC blocking capacitors. 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!

LEDs

  • PWR - Blue! Lit when the module is booted and running
  • NET - Red! 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 microUSB 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

Other Breakout Pins

We scattered a few other breakouts around the board.
  • Buzzer and PWM (Top right) - 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.
  • ADC (left middle) - the SIM800 has an ADC that can read 0-2.8VDC from this pin, referenced to ground. It also has an internal battery ADC so you can use this for a sensor or something. You can query the voltage from the UART. 2.8V max, people!
  • 5V (left middle) - this is the USB 5V from the microUSB connector when its in and powered. Good if you need to know when the microUSB is plugged in and/or want to recharge the battery from an external plug.
  • 2.8V test point - We have a test point for the 2.8V internal regulator, its off to the right.

In order to use the phone parts of FONA you will need a SIM card. Luckily, there's a phone store in every town in America! You can get a pre-paid or post-paid SIM but we kinda like the pre-paid kind.

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.

MicroSIMs won't fit - so make sure its a "Mini" SIM. Sometimes these are just called plain "SIM" cards since the huge-size SIMs are rarely used. Mini SIMs are 1" x 0.6" / 25mm x 15mm. these are by far the most common size.

The only thing to watch for is you need to have a 2G GSM-compatible SIM

In the US, AT&T no longer sells 2G SIMs! We suggest T-Mobile or T-Mobile "distributors"
If you have an older AT&T SIM it may work. AT&T announced in 2012 that they would shut down their 2G network January 1, 2017. The vast majority of M2M (machine-to-machine) cellular devices use GSM, so the 5 year lead time was to give people plenty of time to migrate from AT&T.

You can read an interesting whitepaper from Aeris about this below:

T-Mobile & TING

T-Mobile does not have any announcement that they will sunset GSM. We can't speak for them but we expect at least 5 years warning as well, probably they will never fully sunset since there's millions of machines with GSM connectivity.

Adafruit now sells the TING SIM card, a 2G GSM SIM that works great with all FONAs, and has a great billing system as well, where you only pay what you use!

If you don't want to use TING, there are dozens of T-Mobile resellers such as Walmart, SIMPLEMOBILE, etc! Just ask the seller if its AT&T or T-Mobile network. If they get cagey just say your apartment has no AT&T coverage.

You do not need to bring in or show your FONA to the Cell Phone store. Just tell them you need a Mini SIM for a GSM phone and it's at home.

Some suggestions from FONA users!

We haven't tried all of these SIMs so you may need to try it out. For other countries, GSM is very common so you should be able to buy a SIM from any cell phone store.

Attaching Header

Prepare the header strip:

Cut the strip to length if necessary. It will be easier to solder if you insert it into a breadboard - long pins down

Add the breakout board:

Place the breakout board over the pins so that the short pins poke through the breakout pads

And Solder!

Be sure to solder all pins for reliable electrical contact.

(For tips on soldering, be sure to check out our Guide to Excellent Soldering).
You're done! Check your solder joints visually and continue onto the next steps

Attaching Antenna & Battery

A battery and antenna is required! If you have a uFL FONA, a uFL->SMA cable may be required to connect the antenna. Use any Lipoly or LiIon 3.7V/4.2V battery
Check polarity for the battery!
Snap the uFL connector on, it will click when placed properly

SIM Card

You must insert a SIM card to do anything but the most basic tests. FM radio does work without a SIM but of course you cannot send or receive texts, calls, etc!
The SIM card holder is on the back. It holds a very-standard "Mini SIM"
Micro SIMs will not work! Make sure you get a "Mini SIM"
Open by sliding the cover towards the antenna
Insert the SIM with the gold pads facing up and the notch on the outer corner
Close the hinge down and slide the cover to lock it in place
If you have a USB console cable you can wire it up directly and send commands using any Terminal software

For Windows, we suggest Putty - it's free and open source!

Wire it up

In this example, we're using our USB console cable.
You will have to install the PL2303 driver and determine the COM port before you continue.
Connect to that COM port at 8N1 (8-bit, no parity bit, 1 stop bit) at 9600 baud. You can actually use any baud rate and it will autodetect but 9600 is supported by any terminal program!

Double Check!

  1. You have a Lipoly battery plugged in to the FONA JST
  2. You have a working 2G SIM installed in the back
  3. Connect Black wire to GND
  4. Connect White wire to TX
  5. Connect Green wire to RX
  6. Connect Red wire to Vio
  7. You may need to hold down the KEY button for 2 seconds until the PWR LED is lit and the NET LED blinks

Test Commands

The FONA will echo characters back so you can see what you're typing - very handy!

Start by initializing the auto-baud'er by sending AT and then return
You may have to try it twice to get it to auto baud. Once it works you should see the AT characters echo and then OK telling you its OK!

You can then send some commands to query the module and get information about it such as
ATI - Get the module name and revision
AT+CMEE=2 - Turn on verbose errors (handy for when you are trying out commands!)
AT+CCID - get the SIM card number - this tests that the SIM card is found OK and you can verify the number is written on the card

Test Setup

Some tests to verify the setup

  • AT+COPS? Check that you're connected to the network, in this case T-Mobile
  • AT+CSQ - Check the 'signal strength' - the first # is dB strength, it should be higher than around 5. Higher is better. Of course it depends on your antenna and location!
  • AT+CBC - will return the lipo battery state. The second number is the % full (in this case its 92%) and the third number is the actual voltage in mV (in this case, 3.877 V)
If your SIM card is locked with a PIN code, you will need to enter the pin before you can connect to a network via the 'AT+CPIN' command. For example if the pin is 1234 you need to enter 'AT+CPIN=1234".

Test Send SMS


Finally, you can try to text your phone! Sending an SMS is pretty darn easy.

  • AT+CMGF=1 - this will set it to TEXT mode not PDU (data) mode. You must do this because otherwise you cannot just type out the message.
  • AT+CMGS="nnnnnn" - send a text message! You will get a '>' prompt for typing. Type out your message and when you are done send a [Control-Z] on an empty line to send
It may take a few seconds after the Control-Z character for the module to send the SMS (you'll get a +CMGS) and verify it was sent (OK reply)

Test Call

You can also make a phone call, you must have a headset attached to the 4-pole 3.5mm headset connector, with a mic!

To call, dial
  • To call, dial ATDnnnnn; Don't forget the ; at the end!
  • If they pick up you'll hear it in the headset, if no pickup, you'll get a NO CARRIER return
  • Once you are chatting, you can hang up by sending ATH

Wire up

After soldering headers to the FONA module, plug it into a breadboard. We'll use an UNO, other Arduinos may be different

  • Vio connects to 5V (or, with a 3V logic Arduino, 3V)
  • GND connects to GND
  • Key connects to GND (always on)
  • RX connects to digital 2
  • TX connects to digital 3 (9 on Leo/Micro, 10 on Mega)
  • RST connects to digital 4

We'll be using software serial to talk to the module. The Mega ('2560 based) can't use Digital 3 for FONA TX, so use digital 10 instead.  The Leonardo and Micro ('32u4 based) can't use digital 3 for FONA TX, so use digital 9 instead.  See this page for other pins you can use for FONA TX (SoftwareSerial Receive) on the Mega, Leonardo, and Micro.

 At this time we don't have support for Hardware Serial to talk to the FONA

We forgot to add the #4 to RST wire in this image, you'll want to add it though!

The FONA library is under heavy development! This page may change over time!

Download Adafruit_FONA

Open up the Arduino library manager

Search for the Adafruit FONA library and install it

We also have a great tutorial on Arduino library installation at:
http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use

FONA 3G Baud Adjustment

If you have a FONA 3G, the first time you use it you may need to run the FONA3G_setBaud example to set the baud rate manually to 4800bps rather than 115200

Load Demo

Open up File->Examples->Adafruit_FONA->FONAtest and upload to your Arduino wired up to the module.

For the FONA 3G, change the constructor used in FONATest to Adafruit_FONA_3G:

// Use this for FONA 800 and 808s
//Adafruit_FONA fona = Adafruit_FONA(FONA_RST);
// Use this one for FONA 3G
Adafruit_FONA_3G fona = Adafruit_FONA_3G(FONA_RST);

For Mega, Leonardo, or Micro, change the definition of FONA_TX to the pin you used!

Make sure you have a charged 3.7/4.2V LiPoly or LiIon battery plugged into the JST and an antenna attached
Once uploaded to your Arduino, open up the serial console at 115200 baud speed to begin the tester sketch
Make sure you also have Both NL & CR for the serial command sender option. This means when you send data to the Arduino via the console, it will put a newline/return at the end.

Using the Test Sketch

The test sketch has a menu interface so you can test out just about everything the FONA can do. The menu may change slightly as we add more functionality and update code!

Continue onto the next few sections to see what functionality you can test with the sketch

Battery voltage

Lets begin by reading the battery voltage. That's the lipoly battery. This is handy if you need to track when the battery is low! type b into the command window and hit Send

You'll see a print-out of the battery voltage in mV, so in this case its 3.726V

Check SIM CCID

You can verify that the SIM is inserted and correct by reading the CCID, which is the unique identifier printed on it with C

Check RSSI (network signal strength)

You can ask the FONA for the signal strength with the command i. The reply is a number, but you can convert it to dBm. Try to have the signal strength higher than 5 in order to make calls, SMSs, etc. In this case, I've got a 10

Checking Network Registration

If the FONA has good signal it will immediately try to locate a cell tower and register to it.
You can check the status of the network with n
Once it's Home Registered, give it like 5-10 more seconds before trying to access/send SMS's or phone calls.

Set and Get audio volume

You can set the audio volume with v and retrieve it with V - its in % so ranges from 0 to 100

Setting Headset or External audio

There are two audio paths on the FONA. One is the headset, thru the 3.5mm audio jack. The other is "external" - using the two speaker and mic pins for wiring up external speaker and mic. FM audio, phone calls, tones, etc can be routed to one or the other.
To set the audio to headset, use the command H
To set the audio to external, use the command e

Note the FONA 808 only has Headset audio, so setting External audio wont do anything. The Feather FONA does not have headphone brought out, so use external only!

Playing Toolkit Tones

You can test the audio path with the toolkit tones. These are tones that mimic what some phone services sound like. For a full list of tones, you can check the AT+STTONE command in the AT command datasheet. We'll use tone #20 which is the American dial tone.
You can switch to headset mode, play a tone, then try it on the external audio mode. This is a very easy way to try out both speakers for debugging

PWM Buzzer is available on the FONA800 and 808 Breakouts and Shields

PWM/Buzzer

There is a single PWM output pin that you can use to control a Piezo or a vibrating motor. The datasheet is a little unclear on how to use it in 'PWM' mode where you have full frequency and duty cycle control. In the mode we're using it, you can set the frequency from 1-2000 Hz and it will have 50% duty cycle. The PWM pin is the straight-from-the-module output, 2.8Vpp. The Buzzer pins have a PNP driver, so you can use it with a motor buzzer and power from the lipoly battery.

Make Phone Calls

OK now we're onto the good stuff. You can make a phone call with FONA pretty easily. Make sure you have the right audio interface selected (external or headset!) before you go forward

Make a call with c - the call happens in the 'background'. When you're done then you can hang up with h

Send and Read SMS

Another easy thing you can do is send and receive SMS messages. Lets start by sending an SMS. We'll use twitter's 40404 short code, which will auto respond, making it easy to verify both sending and receiving

You can send multi-line SMS's using the library API but for this example, its easier to parse the data if its a single line!

You can then ask the SIM how many SMS's it has with N and read all of them with R

Note that SMS's are referred to by slots but the number does not include empty slots. We'll show this in detail in a bit

You can read individual SMS's with r

And delete SMS's by slot # with d

Note that before I deleted SMS #2, so if I read them again, that SMS # will be an empty slot. SMS number #3 doesn't "move slots"!

FM radio tuning/listening is only for FONA 800, the FONA 808 and FONA 3G does not contain a tuner

FM Radio (FONA 800 only)

The FONA has an FM receive in it. It uses the headset as the 'antenna' but it works pretty well considering! The FM radio goes thru whatever audio path you have set up

You can open and tune to an FM frequency in units of 100KHz. So if you want to tune to 88.1MHz, type in 881. For 102.3, type in 1023.

Use the f command to open and tune, and F to close it

PCB Print

Dimensions are in inches

Schematic

Is a Lipo Battery required? Can I run the FONA off of a power supply or just the microUSB port?

The microUSB (on the shield, in CHARGE mode and powered via USB or DC power) is only used to charge the battery. Without a battery installed it will flicker on and off so it cannot be used to power a FONA minus battery.

A 1200mAh+ sized Lithium ion/polymer battery is required, nothing else will be able to easily power the FONA and provide the correct voltage range even during 2 Amp spikes.

I really want to run my FONA without a Lipoly battery!

You can't.

We keep getting people who ask "Hey I know its a requirement but I want to build a buck/boost/linear 3.8V regulator and it wil be OK because I said so" and then they realize it doesn't work well

The FONA design depends on a Lipoly battery. The battery is not optional. The battery is essential to function. If you do not want a Lipoly battery you will have to use a different cellular module design. All of our FONAs require, depend and will not work without a Lipoly battery

You can keep the battery topped up with an external 5V power supply for long term usage but the battery is still required even if plugged into USB

Ahh! My FONA was working fine then I sent it some command and its not working right anymore?

You can always factory reset the FONA by sending it the

ATZ

command. Say with fona.println("ATZ") or using a USB console cable to send commands. If you set an odd fixed baud rate (e.g. you cannot even get an OK when you send AT), a USB serial console cable will be helpful it quickly changing baud rates in your terminal software to get back to a working AT/OK setup!

I'm using FONA as a voice caller and the other person can't hear me!

Note that you do have to use a compatible headset. Not all CTIA headsets will work, the ones we have in the shop are known to work and so do many other Android but iPhone headsets do not.

You can also use 'external' audio on the FONA (electret mic and speaker soldered to FONA) but you cannot mix and match. Either you use headset or you use external audio. You cant use external mic and headset speaker.

You also have to tell the FONA which audio you are using, it does not autodetect. You can use our library and fona.setAudio()

My FONA doesn't work with Arduino Due/ADK/101/Galileo/STM32....

Right now we only know that the FONA library and shields work with Arduino UNO. Any other platforms may require porting work

Can I charge the battery and use FONA at the same time?

Yes! You can use the Lipoly as sort of a 'backup battery' - keep charging it via MicroUSB (on the shield, in CHARGE mode and powered via USB or DC power) during use. If the MicroUSB loses power, the FONA will keep going.

My FONA won't turn on/respond! Or it acts flakey and auto-shuts off sometimes!

We've noticed a lot of problems that are 'weird' that are a results of using batteries with the wrong polarity.

All batteries from adafruit have the right wire colors/polarity for the FONA

Batteries not from Adafruit are not guaranteed to have the right pinout! Using the wrong pinout may damage the FONA and/or make it act 'odd'!

FONA 800/808 requires a 2G SIM, does it work with a dual 2G-3G SIM?

That will work fine, as long as the SIM can register to the 2G network at all, it is acceptable to use

Are you sure I can't use ATT for 2G service? I'm in a T-Mobile cold spot

The AT&T GSM network is going to be live until January 2017. If you're reading this and it's 2017, you're outta luck. If not, you can try to get an AT&T SIM activated to the 2G GSM network but its not going to do that by default. You'll have to call up or talk to an AT&T rep and it may not go so well because they really don't want people to use their GSM network.

You can also call up T-Mobile and say you can't get connected consistently - they may send you a free signal booster

Check out this handy map to see T-Mobile's coverage map in the USA

How long can FONA last on my battery?
We haven't done extensive testing with FONA but from preliminary reports, the FONA draws about 20-25mA while running, up to 200mA+ while actually making a call/sending/receiving data, and has very small spikes of up to 2A. The spikes are short and are absorbed by the onboard capacitors.

A 1200mAh battery can run the FONA on 'standby' for a day or two.
How do I set the Real Time Clock on the FONA SIM?
Please see this forum post!

I'm using a FONA 808 and the GPS commands aren't working

The FONA 808 has two versions, due to a revision of the module itself. Version 1 has two barcodes on the front and is part #S2-10606-Z1F01. Version 2 has a QR code on the front and is part #S2-10606-Z1F02. V2 has a newer/better chipset (MT3337 instead of MT3336) but the commandset has changed. Which is annoying but adaptable!

If you are using V1, use this GPS command document for how to interact with the GPS subsystem

If you are using V2, use this GNSS command document instead.

How do I switch between SMS storage on SIM and in internal FLASH?

You can switch between the storage locations by changing the FONA_PREF_SMS_STORAGE definition in the Adafruit_FONA.h library file.  The definition "SM" selects the SIM, and the definition "ME" selects FLASH.

// Set the preferred SMS storage.
//   Use "SM" for storage on the SIM.
//   Use "ME" for internal storage on the FONA chip
#define FONA_PREF_SMS_STORAGE "\"SM\""
//#define FONA_PREF_SMS_STORAGE "\"ME\""

Then recompile and upload

I'm trying to reset the FONA with my microcontroller/computer and pulling the RESET pin low via a GPIO isnt working?

There's a superfluous level shifting diode that we put on the FONA and FONA 808 breakouts - it turns out it isn't necessary and for microcontrollers with weaker outputs it can keep the FONA from resetting.

You can 'bridge' this diode with a piece of wire, its perfectly safe and may give you a little more headroom. There's already level shifting inside the modules so there's no risk to this mod.

Simply solder a small wire between the two pads, or remove the diode and replace with a 0 ohm resistor or wire.

See more here: http://forums.adafruit.com/viewtopic.php?f=54&t=77778#p410867

We have two different types of GSM modules & shields under the FONA brand name. The FONA 800 (GSM/GPRS)

and the FONA 808 (GSM/GPRS + GPS too)

Here's the key similarities

  • Both have a 2G GSM/GPRS cellular core
  • Both can do voice, data, text
  • Both require a LiPoly battery and GSM antenna
  • Both can use a 3.5mm headset
  • Both recharge over the microUSB jack
  • Both have a buzzer driver

Here's key differences

  • Size: the SIM808 based FONA breakout is larger. Shields are the same size
  • The 808 has a GPS module integrated as well
  • The 800 has external 8 ohm speaker driver (external audio) whereas the 808 has only headset audio and 32 ohm speaker driver
  • The 800 has an FM tuner for listening to radio

Here's a quick list of useful commands that may not be directly supported by the library but are handy for many projects!

RI on SMS receipt

AT+CFGRI=1

The RI pin will pulse low for ~100ms when an SMS is received

Factory Reset

ATZ

will reset the FONA GSM module to its factory default

Bluetooth commands

Here's a thread if you're interested in the BT support in the SIM800H (there's no antenna for BT in the SIM800 breakout but it is in the FONA feather)

Is a Lipo Battery required? Can I run the FONA off of a power supply or just the microUSB port?

The microUSB (on the shield, in CHARGE mode and powered via USB or DC power) is only used to charge the battery. Without a battery installed it will flicker on and off so it cannot be used to power a FONA minus battery.

A 1200mAh+ sized Lithium ion/polymer battery is required, nothing else will be able to easily power the FONA and provide the correct voltage range even during 2 Amp spikes.

I really want to run my FONA without a Lipoly battery!

You can't.

We keep getting people who ask "Hey I know its a requirement but I want to build a buck/boost/linear 3.8V regulator and it wil be OK because I said so" and then they realize it doesn't work well

The FONA design depends on a Lipoly battery. The battery is not optional. The battery is essential to function. If you do not want a Lipoly battery you will have to use a different cellular module design. All of our FONAs require, depend and will not work without a Lipoly battery

You can keep the battery topped up with an external 5V power supply for long term usage but the battery is still required even if plugged into USB

Ahh! My FONA was working fine then I sent it some command and its not working right anymore?

You can always factory reset the FONA by sending it the

ATZ

command. Say with fona.println("ATZ") or using a USB console cable to send commands. If you set an odd fixed baud rate (e.g. you cannot even get an OK when you send AT), a USB serial console cable will be helpful it quickly changing baud rates in your terminal software to get back to a working AT/OK setup!

I'm using FONA as a voice caller and the other person can't hear me!

Note that you do have to use a compatible headset. Not all CTIA headsets will work, the ones we have in the shop are known to work and so do many other Android but iPhone headsets do not.

You can also use 'external' audio on the FONA (electret mic and speaker soldered to FONA) but you cannot mix and match. Either you use headset or you use external audio. You cant use external mic and headset speaker.

You also have to tell the FONA which audio you are using, it does not autodetect. You can use our library and fona.setAudio()

My FONA doesn't work with Arduino Due/ADK/101/Galileo/STM32....

Right now we only know that the FONA library and shields work with Arduino UNO. Any other platforms may require porting work

Can I charge the battery and use FONA at the same time?

Yes! You can use the Lipoly as sort of a 'backup battery' - keep charging it via MicroUSB (on the shield, in CHARGE mode and powered via USB or DC power) during use. If the MicroUSB loses power, the FONA will keep going.

My FONA won't turn on/respond! Or it acts flakey and auto-shuts off sometimes!

We've noticed a lot of problems that are 'weird' that are a results of using batteries with the wrong polarity.

All batteries from adafruit have the right wire colors/polarity for the FONA

Batteries not from Adafruit are not guaranteed to have the right pinout! Using the wrong pinout may damage the FONA and/or make it act 'odd'!

FONA 800/808 requires a 2G SIM, does it work with a dual 2G-3G SIM?

That will work fine, as long as the SIM can register to the 2G network at all, it is acceptable to use

Are you sure I can't use ATT for 2G service? I'm in a T-Mobile cold spot

The AT&T GSM network is going to be live until January 2017. If you're reading this and it's 2017, you're outta luck. If not, you can try to get an AT&T SIM activated to the 2G GSM network but its not going to do that by default. You'll have to call up or talk to an AT&T rep and it may not go so well because they really don't want people to use their GSM network.

You can also call up T-Mobile and say you can't get connected consistently - they may send you a free signal booster

Check out this handy map to see T-Mobile's coverage map in the USA

How long can FONA last on my battery?
We haven't done extensive testing with FONA but from preliminary reports, the FONA draws about 20-25mA while running, up to 200mA+ while actually making a call/sending/receiving data, and has very small spikes of up to 2A. The spikes are short and are absorbed by the onboard capacitors.

A 1200mAh battery can run the FONA on 'standby' for a day or two.
How do I set the Real Time Clock on the FONA SIM?
Please see this forum post!

I'm using a FONA 808 and the GPS commands aren't working

The FONA 808 has two versions, due to a revision of the module itself. Version 1 has two barcodes on the front and is part #S2-10606-Z1F01. Version 2 has a QR code on the front and is part #S2-10606-Z1F02. V2 has a newer/better chipset (MT3337 instead of MT3336) but the commandset has changed. Which is annoying but adaptable!

If you are using V1, use this GPS command document for how to interact with the GPS subsystem

If you are using V2, use this GNSS command document instead.

How do I switch between SMS storage on SIM and in internal FLASH?

You can switch between the storage locations by changing the FONA_PREF_SMS_STORAGE definition in the Adafruit_FONA.h library file.  The definition "SM" selects the SIM, and the definition "ME" selects FLASH.

// Set the preferred SMS storage.
//   Use "SM" for storage on the SIM.
//   Use "ME" for internal storage on the FONA chip
#define FONA_PREF_SMS_STORAGE "\"SM\""
//#define FONA_PREF_SMS_STORAGE "\"ME\""

Then recompile and upload

I'm trying to reset the FONA with my microcontroller/computer and pulling the RESET pin low via a GPIO isnt working?

There's a superfluous level shifting diode that we put on the FONA and FONA 808 breakouts - it turns out it isn't necessary and for microcontrollers with weaker outputs it can keep the FONA from resetting.

You can 'bridge' this diode with a piece of wire, its perfectly safe and may give you a little more headroom. There's already level shifting inside the modules so there's no risk to this mod.

Simply solder a small wire between the two pads, or remove the diode and replace with a 0 ohm resistor or wire.

See more here: http://forums.adafruit.com/viewtopic.php?f=54&t=77778#p410867

This guide was first published on Jul 02, 2014. It was last updated on Mar 08, 2024.