STEP 1 / 6ARDUINO

Making calls and sending messages with Arduino and GSM modules

385.Making calls and sending messages with Arduino and GSM modules Microcontrollers sometimes have difficulty communicating with the GSM Module, specifically for functions such as SMS, ca…

Circuit Atlas themed schematic for Making calls and sending messages with Arduino and GSM modules
PROJECT#385
TRACKArduino
PARTS08
STAGES06
STEP 1 / 6 · Overview

Know the mission before touching a wire.

Understand what you are making, prepare the right tools, and make the workbench safe.

01

Project details

Making calls and sending messages with Arduino and GSM modules is a arduino project. 385.Making calls and sending messages with Arduino and GSM modules Microcontrollers sometimes have difficulty communicating with the GSM Module, specifically for functions such as SMS, ca…

Source pages
833-838
Named parts
8
Build goal
Working, tested prototype
02

Tools you need

  • Digital multimeter
  • Wire stripper and side cutters
  • Soldering iron with a fine tip
  • Current-limited bench supply
  • Computer with a data-capable USB cable

Use eye protection, good lighting, and a clean insulated surface throughout the build.

03

Safety precautions

  • Disconnect every power source before changing a connection.
  • Check component polarity, pinout, and supply voltage twice.
  • Use a current limit for the first power-up.
  • Keep liquids, loose metal, and uninsulated wires away from the bench.
Ready to continue?
STEP 2 / 6 · Parts library

Gather, identify, and understand every part.

Use the standardized inventory, then open What's this? to learn each part's role, advantages, limitations, handling, and specifications.

NAMED PROJECT INVENTORY8 PART LINES
PARTTYPEQTYREADY
MArduino UnoMODULE1
What's this?Image, role, pros, cons, handling & specifications
Circuit Atlas themed schematic for Making calls and sending messages with Arduino and GSM modulesMODULE LEARNING VIEW

Arduino Uno

A programmable controller that reads inputs, makes decisions, and drives the project's outputs.

What it does here

It is the control centre and must use the documented board, pin map, supply, and logic level.

Buy / compare this part

Advantages

  • Reprogrammable and reusable
  • Large learning ecosystem
  • Complex behaviour remains changeable

Limitations

  • GPIO voltage and current are limited
  • Some pins affect boot or communication
  • Loads normally need a driver

Handling

  • Disconnect power before rewiring
  • Avoid static discharge
  • Never power motors, relays, or pumps directly from GPIO

Specifications to verify

  • Use the exact model, value, package, and rating listed for Arduino Uno; similar-looking parts are not always interchangeable.
  • Confirm operating voltage, logic level, pinout, memory, USB interface, and maximum GPIO current.
PGSM Module SIM900PART1
What's this?Image, role, pros, cons, handling & specifications
Circuit Atlas themed schematic for Making calls and sending messages with Arduino and GSM modulesPART LEARNING VIEW

GSM Module SIM900

A named project component whose exact role is defined by the source circuit and build guide.

What it does here

It performs a documented electrical, control, interface, or construction function in this project.

Buy / compare this part

Advantages

  • Selected for this project
  • Can be checked independently
  • Supports modular troubleshooting

Limitations

  • Substitutes may differ
  • Generic names can hide variants
  • Pinouts and ratings vary

Handling

  • Compare the received part with the source
  • Keep it labelled
  • Do not force connectors or adjusters

Specifications to verify

  • Use the exact model, value, package, and rating listed for GSM Module SIM900; similar-looking parts are not always interchangeable.
  • Confirm dimensions, ratings, connection method, polarity, and environmental limits.
Mx2 LCD, 4x4 KeypadMODULE1
What's this?Image, role, pros, cons, handling & specifications
Circuit Atlas themed schematic for Making calls and sending messages with Arduino and GSM modulesMODULE LEARNING VIEW

x2 LCD, 4x4 Keypad

An output component turns an electrical control signal into light, sound, motion, switching, or displayed information.

What it does here

It presents the circuit result or acts on the physical world.

Buy / compare this part

Advantages

  • Makes system state visible
  • Can be tested separately
  • Supports clear troubleshooting

Limitations

  • Loads may exceed controller current
  • Polarity or driver direction can matter
  • Inductive loads create voltage spikes

Handling

  • Use the documented driver stage
  • Check polarity and load current
  • Add flyback protection for inductive loads

Specifications to verify

  • Use the exact model, value, package, and rating listed for x2 LCD, 4x4 Keypad; similar-looking parts are not always interchangeable.
  • Confirm voltage, current, polarity, interface, driver requirements, and duty cycle.
BBreadboard or PCBBUILD1
What's this?Image, role, pros, cons, handling & specifications
Circuit Atlas themed schematic for Making calls and sending messages with Arduino and GSM modulesBUILD LEARNING VIEW

Breadboard or PCB

A named project component whose exact role is defined by the source circuit and build guide.

What it does here

It performs a documented electrical, control, interface, or construction function in this project.

Buy / compare this part

Advantages

  • Selected for this project
  • Can be checked independently
  • Supports modular troubleshooting

Limitations

  • Substitutes may differ
  • Generic names can hide variants
  • Pinouts and ratings vary

Handling

  • Compare the received part with the source
  • Keep it labelled
  • Do not force connectors or adjusters

Specifications to verify

  • Use the exact model, value, package, and rating listed for Breadboard or PCB; similar-looking parts are not always interchangeable.
  • Confirm dimensions, ratings, connection method, polarity, and environmental limits.
BConnecting jumper wireBUILD1
What's this?Image, role, pros, cons, handling & specifications
Circuit Atlas themed schematic for Making calls and sending messages with Arduino and GSM modulesBUILD LEARNING VIEW

Connecting jumper wire

A named project component whose exact role is defined by the source circuit and build guide.

What it does here

It performs a documented electrical, control, interface, or construction function in this project.

Buy / compare this part

Advantages

  • Selected for this project
  • Can be checked independently
  • Supports modular troubleshooting

Limitations

  • Substitutes may differ
  • Generic names can hide variants
  • Pinouts and ratings vary

Handling

  • Compare the received part with the source
  • Keep it labelled
  • Do not force connectors or adjusters

Specifications to verify

  • Use the exact model, value, package, and rating listed for Connecting jumper wire; similar-looking parts are not always interchangeable.
  • Confirm dimensions, ratings, connection method, polarity, and environmental limits.
PPower supplyPOWER1
What's this?Image, role, pros, cons, handling & specifications
Circuit Atlas themed schematic for Making calls and sending messages with Arduino and GSM modulesPOWER LEARNING VIEW

Power supply

A power component supplies, converts, stores, or regulates energy for the project.

What it does here

It must provide the documented voltage, polarity, isolation, and sufficient current safely.

Buy / compare this part

Advantages

  • Stable power improves reliability
  • Current limiting protects first tests
  • Regulation reduces resets and noise

Limitations

  • Wrong polarity can cause immediate damage
  • Underrated parts overheat
  • Mains circuits require qualified supervision

Handling

  • Measure output before connection
  • Use a fuse or current limit
  • Insulate exposed conductors

Specifications to verify

  • Use the exact model, value, package, and rating listed for Power supply; similar-looking parts are not always interchangeable.
  • Confirm input/output voltage, current, polarity, connector, isolation, and thermal rating.
PSpeaker, MICPART1
What's this?Image, role, pros, cons, handling & specifications
Circuit Atlas themed schematic for Making calls and sending messages with Arduino and GSM modulesPART LEARNING VIEW

Speaker, MIC

An output component turns an electrical control signal into light, sound, motion, switching, or displayed information.

What it does here

It presents the circuit result or acts on the physical world.

Buy / compare this part

Advantages

  • Makes system state visible
  • Can be tested separately
  • Supports clear troubleshooting

Limitations

  • Loads may exceed controller current
  • Polarity or driver direction can matter
  • Inductive loads create voltage spikes

Handling

  • Use the documented driver stage
  • Check polarity and load current
  • Add flyback protection for inductive loads

Specifications to verify

  • Use the exact model, value, package, and rating listed for Speaker, MIC; similar-looking parts are not always interchangeable.
  • Confirm voltage, current, polarity, interface, driver requirements, and duty cycle.
PSIM CardPART1
What's this?Image, role, pros, cons, handling & specifications
Circuit Atlas themed schematic for Making calls and sending messages with Arduino and GSM modulesPART LEARNING VIEW

SIM Card

A named project component whose exact role is defined by the source circuit and build guide.

What it does here

It performs a documented electrical, control, interface, or construction function in this project.

Buy / compare this part

Advantages

  • Selected for this project
  • Can be checked independently
  • Supports modular troubleshooting

Limitations

  • Substitutes may differ
  • Generic names can hide variants
  • Pinouts and ratings vary

Handling

  • Compare the received part with the source
  • Keep it labelled
  • Do not force connectors or adjusters

Specifications to verify

  • Use the exact model, value, package, and rating listed for SIM Card; similar-looking parts are not always interchangeable.
  • Confirm dimensions, ratings, connection method, polarity, and environmental limits.
Ready to continue?
STEP 4 / 6 · Source code

Confirm the hardware-only control path.

This project does not include firmware in the source. The circuit itself provides the required behaviour.

01

How to connect

  1. Match every controller label to the circuit view and source pin map.
  2. Join grounds before signal wires when separate low-voltage supplies are used.
  3. Keep motors, relays, pumps, and other loads on a suitable driver and external supply.

Common mistakes

Reversed VCC/GND, board-label versus GPIO-number confusion, missing common ground, and charge-only USB cables.

Troubleshoot

Disconnect loads, continuity-test one path at a time, then test with a current limit.

02

Software preparation

No IDE, board package, library, or firmware upload is required for this project.

If you add a programmable controller as an extension, document its pin map separately.

03

How to upload code

The original design is implemented entirely in hardware, so proceed after verifying the circuit and supply.

Ready to continue?
STEP 5 / 6 · Build

Assemble, deploy, test, and troubleshoot.

Use the complete source notes in build order, then pass the final checks before calling the project finished.

ASSEMBLY

Build in functional stages

  • Power and regulation
  • Controller or processing stage
  • Inputs and sensors
  • Outputs and loads
  • Enclosure and strain relief
TEST

Power up safely

  • Inspect unpowered continuity first
  • Apply the lowest safe current limit
  • Measure supply rails before signals
  • Add one load at a time
  • Record expected and actual results
TROUBLESHOOT

Work from simple to complex

  • Confirm power, ground, polarity, and orientation
  • Compare each pin with the source
  • Test inputs separately from outputs
  • Replace only one variable at a time
  • Power off before every correction
PROJECT-SPECIFIC BUILD NOTES

Follow the documented instructions.

These notes come from this project's source and remain in their original order.

01

Project overview

Project build note

385.Making calls and sending messages with Arduino and GSM modules Microcontrollers sometimes have difficulty communicating with the GSM Module, specifically for functions such as SMS, calls, and texting. With the help of the Arduino, we will build a simple mobile phone. The GSM Module involved in this project can make and receive calls, as well as send and receive SMS, and the Arduino phone also has a Microphone and Speaker so you can talk over it. Besides interfacing with the GSM Module, the project will be able to run any phone's basic functions by using all the necessary code on the Arduino.

02

Components Required

Project build note

Arduino Uno GSM Module SIM900 16x2 LCD, 4x4 Keypad Breadboard or PCB Connecting jumper wire Power supply Speaker, MIC SIM Card

03

Working Explanation

Project build note

Arduino Uno is used to control all the features of this Arduino Mobile Phone Project, as well as to interface all the components. An alphanumeric keypad is used to make all kinds of inputs, such as entering mobile numbers, typing messages, making and receiving calls, and sending and receiving SMS. The GSM Module communicates with the network in order to make and receive calls and messages. As well as ICs and speakers, a 16x2 LCD shows messages, instructions, alerts, and a MIC picks up the voice call and ring sound. Using the same keypad for both numbers and alphabets, alphanumeric is a way to enter data. Check out the Code in Code section below for the Arduino code to accept the 4x4 keypad interface as well.

It is easy to work on this project. We will use an alphanumeric keypad to handle all the features. For a full understanding of the process, please check out the code and demo video below. In this section, we will describe all four features of the following projects.

04

1. Make a Call

Project build note

If you want to call someone from your Arduino Phone, you have to press the 'C' button, and then enter their Mobile Number. An alphanumeric keypad is used for entering the number. Again, we need to press 'C' once the number has been entered. As soon as Arduino receives the AT command, it will

05

attempt to make the call to the number entered

Project build note

ATDxxxxxxxxxx; <Enter> where xxxxxxxxx is entered Mobile Number.

06

2. Receive a Call

Project build note

Getting a call is a very straightforward process. In the event that a call is made to your GSM module SIM number, then your system will display an "Incoming... The LCD will display the incoming number of the caller. The only thing we need to do now is press 'A' to attend this call. When we press

'A', Arduino will be programmed to send the following command to GSM

07

module

Project build note

ATA <enter>

08

3. Send SMS

Project build note

Our Arduino based mobile phone allows us to send a SMS by pressing the B key. In order to send an SMS, we must enter the Recipient Number, which is 'to whom' we should send the SMS. The LCD now asks for a message once we have entered the number and pressed 'D'. Once we've typed our message, we need to hit 'D' to send it, like we do on a traditional mobile phone. When we've done that, we should be able to send an SMS. An Arduino sends a

09

SMS by sending the following command

Project build note

AT+CMGF=1 <enter> AT+CMGS=”xxxxxxxxxx” <enter> where: xxxxxxxxxx is entered mobile number And send 26 to GSM to send SMS.

10

4. Receive and Read SMS

Project build note

In addition, this feature is easy to use. SIM cards are used to receive SMS, which are then stored in GSM cards. With Arduino, the UART transmitting SMS information is continuously monitored. If you see the SMS symbol (look at the video at the end) on the LCD, you need to press 'D' to read the SMS. As shown in the example below, the SMS Received indicator shows

11

that

Project build note

+CMTI: “SM” <SMS stored location> +CMTI: “SM”,6. 6 refers to the SIM card location where the message is stored.

Arduino extracts the SMS storing location and sends a command to GSM to read the SMS when it receives this indication that an SMS has been received. Afterward, the LCD will show a 'New Message Symbol'. AT+CMGR=<SMS stored location><enter> AT+CMGR=6 Next, Arduino receives the stored message from GSM and before reading this message it shows it on the LCD, and then after reading the messages it clears the 'New SMS symbol' on the LCD. Note: There is no coding for the microphone and speaker.

12

Circuit Diagram and Explanation

Project build note

Diagram showing how GSM SIM900 and Arduino can be interconnected is shown above. Pin 14 is connected to pins 15, 16, 17, 18, 19 of Arduino, while pins EN, D4, D5 and D6 are connected to pin 16 of the LCD. (Ground of Arduino and GSM are connected.) The RX and TX pins of the GSM module are directly connected to Arduino's pins D3 and D2. Row pins R1, R2, R3, R4 of the 4x4 keypad are directly connected to pins 11, 10, 9, 8 of Arduino, and column pins C1, C2, C3 are directly connected to pins 7, 6, 5,

4 of Arduino. The MIC pins of the GSM Module are directly connected to mic+ and mic-, and the speaker pins are directly connected to pin SP+ and SP- for the GSM Module.

Ready to continue?
PROJECT ACHIEVED

You built Making calls and sending messages with Arduino and GSM modules.

You followed the full workflow from understanding the mission to testing the finished project. That is a real engineering achievement - well done.

Fingerprint Based Biometric Attendance System using Arduino project thumbnail featuring Arduino -1, Finger print module -1, Push Button - 4
NEXT ARDUINO ADVENTURE

Fingerprint Based Biometric Attendance System using Arduino

Ready to reuse what you learned in another project from the same track?

Start this project
Browse all 500 projects