Small Breakout for SIM900 GSM Module

By on May 27, 2011
Pin It

Some post ago we presented a PCB to mount the SIM900 module. The project is used in our GSM remote control and the Arduino GSM Shield.
The dimensions aren’t big (1.75×1.95 inches) but in some cases they are too important for a projects, so….

Small Breakout for SIM900 GSM Module

Small Breakout for SIM900 GSM Module - SIM

..we have developed a small PCB GSM module to build device like localizators (coming soon… :-) ), bugs or other small devices.

The Schematics

Small Breakout for SIM900 GSM Module - SchematicThe schematic is the same of the old module.

The printed circuit board, measuring about 1.35×1.5 inches, has a pin strips (10 pin x 2) used to connect with the circuit board of the remote control device.

Let’s now take a look at the electrical scheme, which displays the connections.
The pin 1 (ON/OFF) is used by a microcontroller to turn the GSM module on and off. The module is turned on or off according to the logical level applied to their PWR line (pin 1 of GSM1) . The PWR line is equipped with an internal pull-up resistance and is active at logical zero; therefore, in order to switch the cellular module on, the microcontroller sets PWR at a high logical level (contact 1 of the pin-strip) and causes transistor T2 to saturate; this transistor will then sets the PWR line at a low level. Remember that the power on or off signal is only a pulse of about 2 seconds.
Reset monitoring is handled similarly. The module can be reset by simply causing the microcontroller to send a logical 1 via the RST line, at which time the T3 transistor saturates and sets the NRESET line of GSM1 at a low level.
Let’s now proceed with UART’s control lines (i.e., TXD, RXD, DTR, RTS, CTS, DCD), which are connected to the external area through the pin-strip’s contacts, respectively, 12, 14, 10, 2, 4 and 6.
The audio device, with two contacts for the microphone (with differential input) and two more for the loudspeaker, uses contacts 15, 13, 11, 9, which correspond, respectively, to MIC1P and MIC1N (positive and negative of the microphone) and SPK1P and SPK1N (respectively, positive and negative of the loudspeaker). The RI signal (indicating incoming calls) goes out through contact 8 of the pin-strip.
In this case, the GSM connector modules’ antenna is a 90° MMCX directly connected on the printed board of the cell phone.
Let’s now talk about transistor T1, used here to locally control the cell phone’s reception LED: its base is polarized from the current logical level on pin 52 (NETLIGHT) for GSM1. The transistor’s collector is where the line to contact 3 of the pin-strip starts; this line is connected with the LED line, which the microcontroller uses to get information regarding the presence of GSM network as well as regarding the connection status of the module (e.g., whether the network is available or not).

The Pin Out













































The bill of material

[code] C1: 220 nF (0805)

C2: 100 nF (0805)

C3: 470 µF 6,3 VL (CASE-D)

C4: 470 µF 6,3 VL(CASE-D)

C5: 100 nF (0805)

LD1: led green (0805)

D1: –

R1: 15 ohm (0805)

R2: 15 ohm (0805)

R3: 15 ohm (0805)

R4: 10 kohm (0805)

R5: 4,7 kohm (0805)

R6: 10 kohm (0805)

R7: 330 ohm (0805)

R8: 10 kohm (0805)

R9: 4,7 kohm (0805)

R10: 10 kohm (0805)

R11: 4,7 kohm (0805)

T1: BC817

T2: BC817

T3: BC817

GSM1: GSM module SIM900


– Antenna connector MMCX 90°

– Strip male 2×10 via 2mm

– PCB </strong><strong> [/code]



Download the GERBER of Small Breakout for SIM900 GSM Module

Download the DESIGN of Small Breakout for SIM900 GSM Module

About Boris Landoni

Boris Landoni is the technical manager of
Skilled in the GSM field, embraces the Open Source philosophy and its projects are available to the community.

  • Vadim

    This breakout board looks great!
    Have anybody tried it (or SIM900 GSM shield board) in USA with AT&T?
    Thank you.

    • Kishore

      Can I replace SIM900 with SIM900A in the above schematic? Will it work?

      • BorisLandoni

        SIM900A is a SIM900 un a breakout board, so no problem

        • Pratik

          is this gerber file works with sim900A?

  • Someone has bought the other GSM breakout also in USA. Nobody said me that found problems.

  • thanks

    Thank you for the post! I have been reading the application notes on SimCom 900 and have noticed that you have put some interesting variations. I am just curious what were the design decision, simply parts (ie: availability, commonality etc…) or if there are other considerations, I too will only use data/sms:

    Keep in mind that I am an amateur and so any differences are a big deal for me to understand.

    1). For the power switch you use two resistors (r9,r8), which you set to (4.7k,10k) and the application note puts them at (4.7k,47k). Is this simply because you need less voltage at your base due to transistor choice?

    2). Also between the simcom900 chip and the sim card you put 15 ohm resistors instead of the listed 22 ohms (not a big difference, just curious).

    3). In the same connection you use a 220nf (c1) and 10kohm resistor (r4), whereas they have a different setup (not bridging data and vdd with a resistor (r4)) and they use 22pf and 100nf in their designs.

    4). I notice that you use a similar design in the application note for the power supply, in that you use 2 capacitors in parallel to ground, but they suggest 100 uF and 0.1 to 1 uF in parallel.

    I am looking to connect an arduino mini for now to this module (3.3V) presumably that should work by just connecting the vcc,gnd, rx, and tx, and ri connected to a data pin or something, no?

    Thanks for all your help!

  • Hi, thank you.
    Many choiches are made for availability, no more.
    To control the module you must use also power pin. You must give to this pin an high pulse (the transistor inverts this pulse) to power on the module.

  • thanks

    Thank you for your quick response. I meant, can I use the 3.3v from arduino pro mini to power the device (with the board you have)? Or will it draw too much current?

    If it does use too much current, can I add something to help allow for more “Amps” like bigger capacitors?

  • The SIM900 needs 3.2 ÷ 4.8 V. If you use a lithium there aren’t problem. The GSM requires a lot current when attach the net.

  • Hi Boris. Thank you for this great post.

    I want to use GSM Module to send SMS only. Nothing more. And i am designing my own board based on yours. It is going to be controlled by a low power MCU and i dont want to use pin strips. I just want to connect SIM900 directly to the MCU.

    Here is what i want to know; what should i do with the pins that i will not use -like mic, headphones etc? Do you have any suggestions about grounding, PCB and connecting the module to MCU directly?

    Thanks in advance

  • Hi,
    the pins important are:
    TX, RX, ON/OFF, RESET and power pin. No more.
    The other pins can be left unconnected.
    See this application:

  • That’s great, thank you.

  • Ashwani

    Hi All,

    Accourding to my R&D 3.3 supply is not working fonr from ardu….

    I have tried many times…not working..let me know if this works from your end.

    I am looking to replace pic with atmega320 with 3.3 volt.

    Ashawni Sihag

  • Mahdi

    We need the .PCB file of this circuit for ProtelDXP. Can you send it to our email please?

    Thank you

  • @ Ashwani
    The GSM module can be used with 3,3V but the 3,3V from Arduino hasn’t enough current. You have to use an external power.

  • @ Mahdi
    I’m sorry but I haven’t the Protel file.

  • Hi Boris,

    Is it possible for you to share the schematics file? .sch?

    • Hi, I’m sorry but I don’t use Eagle to edit schematics files.

  • John Doe

    Sorry for a noob question but which is pin 1 on the 20pin connector?

  • I upgrade the post with the pin out. Thank you

  • Can not we connect RST and PWR pins directly to PIC? Do we need BC817’s?

  • The application notes suggest a button to be connected to these pins. Council to use pins with open collector outputs (such as RA4).

  • Ashwani

    Hi Boris!

    Hope you are doing fine.

    I connected DTR pin and RI pin to microcontroller and then sim900 rx tx stopped communicating with microcontroller.

    I was making DTR high and low to make sim900 sleep and wakeup.

    Is something damaged inside sim900?

    Ashwani Sihag

  • Hi, you have to connect also the ON/OFF, TXD, RXD, RST pins.
    Check alse the At+CFUN command to know the state of the SIM900.

  • k4


    Can this be used to monitor GSM frequencies ? Like being idle and looking at what is passing through the air ?


  • You can use this module to know the power of a GSM cell, but not as spectrum analyzer

  • Jegan

    Can someone help me out with the BOM for D1?

  • D1 is an SMF05C
    nut we don’t mount it.

  • Goodgood

    I need breakout board for Sim900B

  • Pingback: sim900 te simple serial connection()

  • Menuk

    Thank you so much for this.I would like to use this design for my Kickstarter project.My project will be open source.



  • Raghavendra M

    Hello ,

    Am facing problem with sim900a module some time its working fine and it will going to hang that time SIM_VDD voltage ll be low can u help me plz see the schematic wt i hav done.. plz see the image

  • @Menuk
    good news, if can I help you contact me.

  • @Raghavendra M
    I suggest you to refer to our schematics. It works fine ;-)

  • shams ul arfeen

    SIR! i am trying to use sim-900 in ,my final year project with PLC dear sir kindly refer me to how to use and configure it?

    • BorisLandoni

      What’s your problem?

  • i there

    i have any questions.

    can i use this module with arduino without shield.

    can i use this module without conect audio socket

    im hope user this module only for GSM & GPRS DATA like sms or internet but no use de audio socket or lcd, then i wish a compac design.


    • BorisLandoni

      Hi, yoes of course but you have to adapt the signal lever.
      See the shield schematics to understand how connect it.

  • Brecht Vaelen


    I would like to connect this gprs-module to lpc1768, this is an arm-processor.

    So I would have to write C/C++ files, Im currently using but this library doesnt include gsm/gprs-files.

    I need to send data like I would feed data to pachube/

    I would only receive a simple command like ‘reset the system’

    Is it possible for me to use code from this:

    I would like to have a startcode to work with/modify
    but starting from scratch would not be possible for my current programming skilllevel/time schedule

    thanks if you can help me out..

    ps: somebody told Im supposed to use sockets, is this true or false?

    • BorisLandoni

      It’s not so simple.

  • Pingback: sim900 c code startcode to work with()

  • Guest

    hy does this circuit can I use to control the relay by microcontrol atmega 8535?

    • BorisLandoni

      Hi, the Small Breakout for SIM900 could be controlled with AT commands, so you can use any microcontroller

  • Guest

    hy apakah rangkaian ini bisa dipergunakan untuk mengontrol relay lewat microcontrol atmega 8535?

  • bedu aja

    hy does this circuit can be used to control the relay by microcontrol atmega 8535?

  • Pingback: Bringing the Zach Morris phone into the 21st century | Daily IT News on it news..()

  • Pingback: rndm(mod) » Bringing the Zach Morris phone into the 21st century()

  • Pingback: Bringing the Zach Morris phone into the 21st century - About all()

  • Maurits Hartman


    I was just wondering about the circuit part that controls the on/off and reset pins. In the breakout, these are directly to the collectors of the transistors T2 and T3. In the SIM900 hardware design document (V1.01, page 23) however, there is a 1k current-limiting resistor between the collector and the pins. The document also mentions that the maximum current that can be drained is 0.3mA.

    Shouldn’t your design be updated with these resistors? Or did you never had any trouble with it?


    • BorisLandoni

      we use a transistor, you can also use a switch. So no problem. it Works without problem..

      • Maurits Hartman

        Thanks for the quick reply!

  • cl1d3

    Is possible to buy completed module? If yes, what is price?

  • Sunny

    Hi friends..we are the SIM900 completed mould distributor in HK and China.

    Our MOQ is 1000pcs,update price is $10.5/pc ,anyone interested,please contact me by mail and by Skype” sunnyleeyang”,hope to be partners to discuss the application of SIMcom mould..

    • BorisLandoni

      We use a special forniture, with DTMF decoder software, antijammer and cell locator.

  • emaro

    hello, for esd protection you used TVS diodes, i can’t buy this type of diodes because of its non availability in shops. can i use zener diodes, ceramic capacitors ? if yes what do you suggest (with values), thank you ! :)

    • BorisLandoni

      Hi the diodes aren’t mounter in our breakout. They aren’t necessary.


    demo code for arduino or a library ???

  • Roman


    What ttl level converter should I order to be able to use this module with 3.3v or 5v arduino?


  • tolisn

    How can we connect this module with a 5V arduino ? What level converter are required /

  • Jim Norton

    Sorry for the possibly stupid question. Does this SIM900 GSM Module work in the USA and if so, what carriers?

    I very interested in this for an embedded product being designed for the USA, but I don’t yet know all the acronyms or much about cellular technology.


  • Vinit Jain

    hey… i am working on eagle software for designing the same schemetic……….can anyone suggest me the the link of eagle library in which i can find the SIM900A module for designing the schemetic as i am not finiding it with my version…..

    • BorisLandoni

      Hi, we don’t use Eagle, so I haven’t the library.
      I’m sorry

  • samustafa

    i need 900d ckt, does anyone has it??

  • Bo Herrmannsen

    Hi, i have the old version of the module. Is there a way to wire this to an official mega so i can use the gsm lib’s that comes with IDE 1.0.5? i have tried to compare the gsm shield to this breakout and the main difference is that the gsm shield does not use the DCD and DTR pin… otherwise i have all the pins needed matched up… just asking to be sure

    • BorisLandoni

      The new GSM shield has also pins for flow control.
      If you have the old GSM shield you have to connect the DCD and DTR according with new schematics

      • Bo Herrmannsen

        yes i know…. but will it work with the GSM lib that is build in to Arduino IDE 1.0.5 ?

        • BorisLandoni

          it work with our library

          • Bo Herrmannsen

            ok… i wanted to wire it so it also works with GSM lib build in to Arduino IDE

          • BorisLandoni

            The library in the IDE isn’t for SIM900, but for Quectel

          • Bo Herrmannsen

            ok… makes sense…

  • Pingback: An Open Source GSMLib for SIM900/SIM908 and Arduinos | Open Electronics()

  • Alex

    What is the voltage input for this board ? Is it possible to supply it with the +5v or +3.3v of a Arduino Board ?

  • Kim Ausloos

    Hi, I’m trying to use the module, I’ve got pin 1 (on/off) and pins 12 and 14 (softwareserial tx and rx) connected to my arduino, pins 20 and 18 to ground and pins 19 and 17 to an adaptor that can handle 2.5A at 4.5V as the module needs between 3.2V and 4.8 V. Do I need any other pins to send an sms? Can I just apply power and load the GSM_GPRSLibrary_SMS.ino example from MarcoMartines’s repo on github? Thanks!

    • BorisLandoni

      to manage the module you have to use also the RESET pin

  • Patricio Fernando Alvarez

    Hi, as far I I know Sim900 is able to drive its own inputs and outputs and also has it´s own ADC, this is possible only if firmware is modified. I got this information from SIM900_Hardware Design_V2.04 documentation.This could be great in order to avoid using a microcontroller. Have anybody done this or known about this?
    Regards and great job Boris!

    • BorisLandoni

      Our SIM900 use a special firmware to use the DTMF function.
      Our breakout is very small so not all pin are on output connector so we don’t use IO pins.
      Thank you Patricio ;-)

    • Thank you for sharing that info Patricio – I am looking for similar thing – did you happen to find how to avoid the MCU and take advantage of SIM controlling its own outputs directly? – Please share any pointers you may have come across on those lines. Thx in adv.

  • Donizeti Santos

    HI boris
    I´m from Brasil.
    great job !
    I would like to make a little changes because I need more pins, could you send me the drawing ?
    or library of sim900
    best regards

    • BorisLandoni

      In the post there are the gerber files

  • siddu

    Hii., Thanks for info. could you please clarify my doubt.

    i’ve the SIM900A core and other supporting components. after designing the PCB., can i directly use this module with AT commands ., or does it require any other firmware.? please provide this info.

    • BorisLandoni

      You can directly manage the SIM900A.

  • som


    In mu sim900 module i can see that RF_IN pin is short-circuited with ground.
    Is RF_IN to ground connection is expected or i got faulty sample.

    Please help me out with this issue.

    One more question how can we get 50Ohm impedance at antenna?? is there any free software or manual technic .


  • som


    What are the steps to check that antenna is properly connected to GSm or not and how perfectly is it working.

    eg for AT+CSQ i am getting signal level -97dbm

    and for AT+COPS i can see only one or two network found.

    Why does it not finding all the networks?

    Is there any issue with my firmware or antenna connection

    • BorisLandoni

      The antenna isn’t connetcted to ground.
      The signal is good. Have you try another SIM card? The power supply?

      • som

        Hi Boris thanks for reply.

        antenna is connected to ground!.

        I have one more question : can i use the same characteristic as your design to get 50Ohm impedance for antenna trace?

        Waiting for your reply!

  • Som

    Hi Boris

    can i use the same characteristic as your design to get 50Ohm impedance for antenna trace?

    Waiting for your reply!

  • som

    Hi Boris

    I tried but i am not able to get 50Ohm impedance in RF trace.

    Can i use the same characteristic as your design to get 50Ohm impedance for antenna trace?

    Waiting for your reply!

    • BorisLandoni

      I don’t understand you problem.
      Are you using this board? If yes you don’t have any problem.

  • queissman

    Thank you for the breakout. I am troubleshooting. Some things are still not working properly, probably there are several things going wrong. But there is one thing where I would like to have a hint if someone would be so kind. After powering up, NETLIGHT blinks, meaning SIN900 cannot connect to network, although an antenna is connected, SIM card is in, simlock deactivated. I realized that there is a shortcut (0.5 Ohms) between mass and RFANT. Is this normal? Thank you

    • BorisLandoni

      Hi, all modules are tested. Check the power supply.

  • ahmetalincak


    If you can provide .brd and .sch files, I’ll appreciate. I wanna use some other interfaces of the GSM module(such as I2C etc.). Please help me on this.



    • BorisLandoni

      I’m sorry but we don’t use Eagle now

  • nikyi

    hi, if i power this board at 3.9 volts does it work with pic MCU powered at 5 volts or do i need a level shifter? . if i need a level shifter wich to use to get 115200 boudrate . thanks.

    • BorisLandoni

      You need a level shifter. A simple solution is this

      • nikyi

        thanks boris , for your answer . Can I also power the board with 4.3V ,using a diode after 5V power supply?

        • BorisLandoni

          The Single supply voltage is 3.4V – 4.5V

  • nikly

    hi , do I Need a voltage level converter if i power this board at 3.9 volts and i connect it to a pic MCU powered at 5 volts ? hope you can help . thanks

  • ahmetalncak


    Can I connect directly SIM900’s serial lines to a 3.3v logic level device? Do I need a level shifter? Or a voltage divider is enough?



    • ahmetalncak


      I figured out that it isn’t needed to use a level shifter cct or anything for UART lines. But the device is not working properly with 3v3 power supply. Please keep in mind these…

      By the way I’m interfacing this breakout with MSP430.



      • Thank you for sharing the info, ahmetalncak. It is helpful. So, the pins 12, 14 (TXD and RXD) on this board can work directly with MCUs like ATMEGA etc. from freeduino, right?

        • BorisLandoni

          Yes of course (TTL 3.6V)

  • jayachandra


    why we connect 4 parellel capacitors for battery connection for sim900. Can we connect 1 capactor?

    • BorisLandoni

      HI, it’s only for economical reason

      • jayachandra


        thanks for your reply,i have read the datasheet for sim900,in that they mentioned 2 capacitors only for battery connection,is it enough or 4 capaciotors are required?and if required can u please tell me the functioning of remaining 2 capacitors.

        thanks in advance.

  • keven

    4 Frequency GPRS/GSM Module-EFCom Pro is an ultra compact and reliable wireless module.

  • Pingback: MohamadAmin Karbasi (makarbasi) | Pearltrees()

  • vijaykumar

    I tried the above schematics,its not working,I am not getting power at sim vdd.Can anyone help me out,even I have used D1(SMF05C)but not working.

  • Michal Vaňo

    Hello friend,
    thanks for sharing gerber files. But i´m missing keepout layer. Can you update your gerber files please? Regards

  • Evans W

    Can I use this without an MCU- I just need a simple control of LEDs- input=output? And how can I make the same so that I use a range of input 3-12V and output is same as my input?

  • Humeyra Keskin

    Hi, is it compatible with arduino? is it is possible, can you help me related with code?

  • Pingback: سوال در مورد ماژول sim800l()