Serial Communication SIM900 and Microcontroller (Arduino)

I have a question for you. Is possible to make communication between SIM900 and Microcontroller (Arduino) directily with pin tx from SIM900 connected on pin tx from microcontroller and pin rx from sim900 connected on pin tx from microcontroller without any interface circuit?

If I to use SoftwareSerial.h libery wich can to use any analog pin from microcontroller (or arduino) as serial port? Is necessary interface circuit?

In datasheet from SIM900, it show us a connection for serial comunnication between any microcontroller and SIM900 module without any interface circuit. However, It not show if microcontroller´s port is hardware serial or software serial.

If I to use the hardware serial form microcontroller I can to do the communication without any interface circuit?

If I to use the software serial form microcontroller I can to do the communication without any interface circuit?

You need interfacing circuit for the module and Arduino If your arduino is running at higher voltage.
SIM900 module IO levels are limited to 2.8V. So if you connect IO lines of a MCU running at 3.3V or 5V to the SIM900 module then it will damage the pins. So you need a level translation circuit inbetween.


Thank you for your help. What about that image? It show a direct connection between SIM900 and MCU (datasheet SIM900 page 23-24).


What is the circuit do you use in your projects with SIM900?

Thank you.

That connection is a logical connection. if you scroll down you should get the paragraphs showing level translations done usign resistors and transistors for 3.3V and 5V MCU.
I run my MCU at 2.8V or use TXS series level translators like TXS0104, TXS0102 etc

Can I to use the circuit below:

Do you have the especification of Q1 and Q2?

What circuit do you use? Can you show me an picture?

Hi @Edson_Xavier this may help you…

We using SIM800A interfacing with Atmega644. (Just concentrate on IC and connections.)

Yes this is the same circuit i use . You can go ahead and use the transistor circuit, or the one @Gangadhar shared, which is much simpler and guaranteed to work.

Here is the schematic of level translator made by Sparkfun.

Thank you very much Ravi for your help.
Just more a question. Using the logic level circuit, can I choose if use MCU hardware Serial or Software Serial?

As @RaviPujar says you need Voltage translator in both the cases whether you use software serial or Hardware serial. If you have sufficient USARTs in your selected MCU it is better to go with Hardware serial…

1 Like

Thank you very much @RaviPujar for your help. I gonna keep my project using all your recommends.

1 Like

how to operate atmega328p on 2.8v

Welcome to the forum @kausar, please open a new Topic with your question instead of bringing up old ones, so we can properly discuss your problem.

1 Like