Make Voice Call using Arduino

This sketch connects a voice call from your GSM shield and Arduino to a remote phone number entered through the serial monitor. You’ll need to attach a speaker and microphone to hear the connected phone and send your voice.

Make Voice Call using Arduino


First, import the GSM library

#include <GSM.h>

SIM cards may have a PIN number that unlocks their functionality. Define the PIN for your SIM. If your SIM has no PIN, you can leave it blank :

#define PINNUMBER ""

Initialize instances of the classes you’re going to use. You’re going to need both the GSM and GSMVoiceCall class.


GSM gsmAccess;
GSMVoiceCall vcs;

Create some variables to store the phone number you want to call :


String remoteNumber = “”;
char charbuffer[20];

In setup, open a serial connection to the computer. You’ll use this to send a phone number to the Arduino. After opening the connection, send a message to the Serial Monitor indicating the sketch has started.


void setup(){

Serial.println(“Make Voice Call”);

Create a local variable to track the connection status. You’ll use this to keep the sketch from starting until the SIM is connected to the network :


boolean notConnected = true;

Connect to the network by calling gsmAccess.begin(). It takes the SIM card’s PIN as an argument. By placing this inside a while() loop, you can continually check the status of the connection. When the modem does connect, gsmAccess() will return GSM_READY. Use this as a flag to set the notConnected variable to true or false. Once connected, the remainder of setup will run.



Make Voice Call using Arduino Circuita

image of the Arduino GSM Shield on top of an Arduino Uno

notConnected = false;
Serial.println(“Not connected”);


[box color=”#985D00″ bg=”#FFF8CB” font=”verdana” fontsize=”14 ” radius=”20 ” border=”#985D12″ float=”right” head=”Major Components in Project” headbg=”#FFEB70″ headcolor=”#985D00″]

Hardware Required


For more detail: Make Voice Call using Arduino

About The Author

Scroll to Top