SparkFun Cellular Shield - MG2639

The MG2639 SparkFun Cellular Shield is a perfect addition to any Arduino project that requires connectivity when there’s no WiFi or Ethernet access nearby. The ZTE MG2639 module, which this shield is built around, supports SMS, TCP, UDP, and can even be used to make or receive phone calls! That means you can send and receive text messages, or use it to remotely connect your Arduino to the Internet. To top it off, it has an integrated GPS receiver, to help it from getting lost.

All the supporting circuitry is provided including translation from 2.8V of the module to a user selectable 3.3V or 5V. Depending on which state it’s in, the MG2639 module can be a relatively power-hungry device with a maximum current draw of the shield is around 350mA. It usually won’t pull that much, but may require around 260mA during phone calls or 80mA during network transmissions. Both the cellular and GPS functions of the MG2639 require an external antenna connected to the module. There are two U.FL connectors on the side of the chip – one labeled “GSM” the other “GPS.”

Though the MG2639 is the key part of the SparkFun Cellular Shield one of the hardest parts in getting the shield to work is finding a suitable network and SIM card to run it on. The MG2639 works internationally on any GSM network but you’ll need a SIM card. We suggest picking up a prepaid “burner” phone – like a Go phone – and swap the SIM card into the shield.

The Shield Hookup Guide found in the Documents section below has plenty of great instructions on how to get your cellular shield working and provides you with example sketches to receive SMS text messages, set up GPRS/TCP functionality, creating a DIY cell phone, and remotely post environment data to our data service running Phant.

Note: The SparkFun Cellular Shield requires a passive GPS antenna with a short lead attached. Unfortunately, we do not carry this type of antenna at this time.

  • Quad-band: GSM850, EGSM900, DCS1800 and PCS1900
  • Integrated GPS
  • SMS text messages
  • GPRS data (TCP, UDP, FTP)
  • Voice calls
  • Transmit Power:
    • Class 4 (2W) for GSM850
    • Class 1 (1W) for DCS1800
  • SIM-card Socket (1.8 & 3.0V)
  • Serial-based AT Command Set
  • Hook ups for microphone and speaker
  • 3.3V/5V to 2.8V I/O level shifting
  • u.FL connectors for GPS and cell antennae
  • [Schematic]( Cellular Shield_v11.pdf)
  • [Eagle Files]( Cellular
  • Hookup Guide
  • Datasheet (MG2639)
  • [User Manual]( Module Hardware Design User Manual_V1 2.pdf) (MG2639)
  • AT Command Set
  • Dimensional Drawing (SIM Socket)
  • GitHub (Design Files & Example Code)
  • GitHub (Library)

SparkFun Cellular Shield - MG2639 Product Help and Resources

MG2639 Cellular Shield Hookup Guide

The product and tutorial has been retired. However, if you still need access to the documentation, you can find it here => [ [}( ].

Core Skill: Soldering

This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.

1 Soldering

Skill Level: Noob - Some basic soldering is required, but it is limited to a just a few pins, basic through-hole soldering, and couple (if any) polarized components. A basic soldering iron is all you should need.
See all skill levels

Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

3 Programming

Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels

Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

2 Electrical Prototyping

Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels


Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • Member #663474 / about 8 years ago / 1

    By examining Eagle board layout file I realized that power supply trace is 18 mil. Is it capable of transmitting enough current (up to 2A)?

  • Member #460085 / about 8 years ago / 1

    Hi, I've connected an FTDI Cable (5V) to the FTDI header and soldered over SJ8 to see what the unit is sending. I'm using Realterm at 4800 8N1 but it seems most of the time I am just getting gibberish: "ÿÏ×ÿýÿ_=<Ûîy[«ßlûgÿòý–÷ÿçþŸó®¿GÿgŒ+" - is this expected (i.e. binary output)? No AT commands seem to be understood..

    I've tried 9600,19200,38400,57600,115200, 1/2 stop bits, parity, etc, but nothing working currently.

    Any help appreciated. BTW I'm not intending to use this with an Arduino.

    • Member #389979 / about 8 years ago / 1

      Got the same problem. Found out the module works on 2400 bps and not 4800 !

  • Member #239443 / about 8 years ago / 2

    Can't get a GPS Fix. Got this antenna: to use with the module's GPS. Using a configured version of TinyGPS to read SoftSerial on pins 8 and 9. The Arduino is receiving blank packets, but cannot establish a GPS Fix. Tried it both inside and outside. Any help would be highly appreciated.

    • Member #43515 / about 8 years ago / 4

      I got the same antenna: I read the datasheet and realized it needs power (2.7-5V). I looked at the MG2639 book and the SparkFun board schematic, and measured the voltage at the antenna pins, and did not find any power going to the GPS antenna.

      I followed the instructions here to provide 3.3V power for that antenna: and it's working fine.

  • Member #408730 / about 9 years ago / 2

    It is not easy to get a SIM card registered with a consumer-type service such as the Go Phone. 1.) You can't do it yourself when it is a pay-as-you-go plan because they expect that you'll be using a tablet or a phone. It is impossible to bypass the manufacturer/model questions. 2.) The support people do not understand that I'm not trying to register a phone or a tablet! I tell them again and again then they repeat the same question - what is the manufacturer. They want me to reply with Samsung or Motorola.

  • Member #408730 / about 9 years ago * / 2

    I bought it and am trying it out. It works well with the Cricket SIM card that is in my cell phone (3G Moto G) but I haven't been able to get it to work with an M2M SIM card, a GO SIM Card (AT&T), or an AT&T SIM card that works fine in an iPAD. The Arduino can see the SIM card in all cases but I don't think the SIM card is connecting to the cell network. What am I missing? I've put the GO SIM card into my phone and it seems to work OK. I'll try that one again.

    2015-05-20 Update: Forget it. Go Phone is impossible to configure. After at least 30 minutes with tech support, it was decided that she could not help me. I asked for and received a refund of the $25 I spent for the first month of service. I'll be buying the recommended T-Mobile plan next. To repeat: The MG2639 works well with the Cricket SIM card that I use in my cell phone. I'm just trying to find a data-only plan for it.

  • logictechs / about 9 years ago / 2

    Check out this link for the manufactures product line including this modem. I believe it's only 2g. Note it does not have the "Recommended" indicator. All these modem manufacturers are trying to get rid of their stock as much as possible before the sunset. Then we get stuck with something that won't work already or in 2016. I know of some areas where 2G is already not working.

  • Member #512684 / about 9 years ago / 2

    So is this for 2g or 3G SIM cards?

    • Member #551521 / about 9 years ago / 2

      In looking at the specs and info on 3G bands, my best guess is that this is mostly 3G compatible. GSM850 EGSM900(mostly europe ) DCS1800 PCS1900

    • Matthew McMillan / about 9 years ago / 2

      The data sheet for the chip says 'Quad-band GSM/GPRS/EDGE'. So 2G.

      • Member #2571 / about 9 years ago / 1

        That was my guess. I don't see the point in introducing a new product based on 2G technology. Carriers like AT&T have long announced they are phasing out EDGE / GPRS. T-Mobile should be OK for a while, but they have terrible coverage around me. Still waiting for a good 3G modem, I guess.

        • paultech / about 9 years ago / 1

          I agree , I won't touch 2G products anymore as 2G will be phased out here in Australia in 2016 to make way for more 4G networks.

  • Member #720252 / about 8 years ago / 1

    Is this compatible with the GPS-00177? They are listed as frequently bought together, but then in the description, it says "The SparkFun Cellular Shield requires a passive GPS antenna with a short lead attached. Unfortunately, we do not carry this type of antenna at this time. We are currently in the process of adding a passive antenna to our catalog for this shield. Check back later for further updates." Im not sure if that comment is out of date? Is there any tutorial on getting this GPS to work with this cellular shield?

  • Member #326817 / about 8 years ago / 1

    Hello is it possible to use it with Arduino Mega or Leonardo since those use ICSP header (2*3) and the Cellular shield seems to not have pins to receive the ICSP header. thx

  • CaptInfinity / about 8 years ago / 1

    This may be helpful to others... I signed up for an AT&T developer IoT kit: It comes with 3 SIM's. To get these working with the MG2639 you'll need to run a few AT commands that aren't natively build into the Arduino library:

    1. Set the APN AT+ZPNUM="","",""
    2. Enable Network Registration (I think you need to do this, not 100% sure) AT+CREG=1
    3. Open the Network Session AT+ZPPPOPEN

    I still have yet to figure out how to get a number assigned to the SIM, it may not be possible with the M2M kit from AT&T.

    • CaptInfinity / about 8 years ago / 1

      You can pass these AT commands to the board by using the SIM900_Serial_Debug available from the GPRS_Shield_Suli library and changing the pins to 2 and 3. Some info on those libraries can be found here for a different board:

      • CaptInfinity / about 8 years ago / 1

        Ah, one more thing, you only have to do this exercise once, the board appears to keep this in memory (if you have the coin cell installed) and the other out of the box demo programs work fine after you've setup the board with these AT commands.

  • hurricanepkt / about 9 years ago / 1

    Has anyone been able to get the GPS to work on this?

    Its giving me all sorts of problems. No Baud Rate I receive at gives me anything valid.

  • laserhawk64 / about 9 years ago / 1

    Yuck, old 2g and far, far too expensive. Make it 3g (preferably AT&T compatible, Verizon is horrible around here and Sprint is even worse) and drop the price a little below half and at that point you've got some serious potential. Heck, at $25 for a 3g AT&T compat board, reserve one for me and let me know when they're in stock. I will buy one with that price and featureset. (Might take me a bit to scrape the dough together, though, I'm on a budget. Hey, I'm honest about it, at least!)

    Right now, though? Sorry, no offense meant but I'd go to eBay first.

  • jpettersson / about 9 years ago / 1

    I was looking at the software library and couldn't find any implementation of the GPS feature. My application is to periodically send GPS coordinates (and other sensor data) over HTTP. This product seems to be a good fit for my project, but I would like to see some reference code using the GPS before deciding.

  • Member #70798 / about 9 years ago / 1

    In the Hookup Guide it mentions that the cellular UART is programmed to 4800 baud. Does anyone know how you would change this to 115200 or some other value?

  • Member #647354 / about 9 years ago / 1

    Janus makes 3G boards that work with many different telecoms, and you can get service through Telit's m2mAIR service. The cards cost more, but they are approved by the FCC and the telecoms. The monthly cost is low if you are using multiple units and not much data.

  • Shirley / about 9 years ago / 1

    A board that implements a more modern standard would be welcome. LTE would be overkill (though fine if available at an acceptable price); UMTS/HSPA+ would be fine.

    ZTE makes suitable modules such as this one which is flagged "Recommended": Whether Sparkfun could get these at an acceptable price in modest quantities is another question.

  • Member #91534 / about 9 years ago / 1

    A waste since 2G is being retired soon. Why not make a 3G board instead? Look at the Telit HE910 module it's 3G and has nice IoT features..

  • Member #475205 / about 9 years ago / 1

    No access to the DTR pin on the module, means you can't do low-power properly. Not much use for running on a battery. Haven't found one of these modules yet that (a) gives you access to DTR, and (b) gives you access to something that tells you if the module is running (e.g. VIO). Has anyone else?

  • Garfieldboy / about 9 years ago / 1

    SIM cards from here might be worth trying. Seem pretty low cost for low data usage.

  • Elimegrover / about 9 years ago / 1

    This would be awesome if it supported 3G SIM cards. Is something like that coming about?

  • Peter1 / about 9 years ago / 1

    Really need to know if this is going to be compliant with the networks in the next few years. With the sunsetting of 2g -- a lot of our older boards are going the way of the do-do.

  • Grubi / about 9 years ago / 1

    Well, now is turn for Sparkfun open source phone app and server, and this will be a great seller. Sparkfun IoT :)

Customer Reviews

No reviews yet.