It would be possible to do so, you would need to enable Caller ID Display (CLIP) with the AT command:
AT+CLIP=1
Once that is activated, when you receive a call you should get a response with the following format
RING
+CLIP: "<phonenumber>",<type>,<subaddr>,<satype>
From there you will be able to hang up the call with the AT command
ATH
To separate the number out you would need to put together some code to remove the other stuff from the response that was given by the first AT command.
Thanks Dan. I’m very new to this - I’m not sure how I would write code to wait for and receive a call.
I assume where you have written “RING”, that is when an incoming call is being made?
What is the “+CLIP:” bit, is that an AT command?
Hi all,
Want to prefece this with the fact that I am a total NOOB with all kinds of coding and electronics.
I was able to follow the tutorial as best I could, besides some hiccups to do with permission. However, when trialing the hat using the Python codes I ran to greater issues. PhoneCall.py worked, however, GPS.py resulted:
AT+CGPSINFO
+CGPSINFO: , , , , , , , ,
Not sure if this is a problem to do with the Pi, GPS or location I am testing it in. Further, I was unable to send a text using SMS.py and waspromptedd with the following:
ERROR
Back:
+CMS ERROR: Unknown error
error
Received Short Message Test:
Please send message to phone *04XXXXXX
Setting SMS mode…
AT+CMGF=1
OK
and this is then followed by the activation date of my sim card. (Optus pre-paid)
I am just wondering if this a purely sim related issue as I was able to make that phone call using it. Any suggestions and comments would be greatly appreciated.
You’re definitely not alone with these early roadblocks. The fact that PhoneCall.py worked means your HAT, SIM, and AT-command interface are basically healthy, great start.
GPS Issue (+CGPSINFO: , , , , , , , ,)
This response just means the GPS hasn’t acquired a satellite fix yet. Common causes:
You’re indoors or under cover — GPS needs a clear view of the sky. Try placing the GPS receiver’s sticker side face down and outside
It’s a cold start — first-time or long-unpowered modules can take 5–15 minutes to download satellite data.
Suggestions:
Move the Pi + HAT outdoors with a clear view of the sky.
Before running GPS.py, try sending these manually:
AT+CGPS=1,1 // Enables GPS engine with NMEA output to UART
AT+CGPSINFO // Poll for current GPS fix
Wait 5–10 minutes, then run AT+CGPSINFO again. Once it gets a fix, it’ll return something like:
Even if calling works, SMS can be tripped up by SIM or network quirks:
SIM activation – Some Optus prepaid SIMs allow calls but block SMS until activated via the Optus app or website.
Balance/profile – Ensure the SIM has credit and isn’t data-only.
Text mode – Confirm the modem is in text mode:
AT+CMGF=1
PIN status – Check that the SIM isn’t PIN-locked:
AT+CPIN?
Debug steps:
Insert the SIM into a phone and confirm you can send/receive SMS.
On the Pi, check:
AT+CSQ // Signal strength
AT+CREG? // Network registration status
AT+COPS? // Current operator
If Optus still doesn’t behave, try a Telstra or Vodafone SIM to compare.
Post back the results of those commands or any new errors, and we’ll help you dig in further. Once GPS has a lock and SMS is sorted, you’ll be all set!
Sorry this may be dumb, but where am i imputting these commands? Also thank you so much for the response Ryan, sorry for my delay lifes caught up to me recently.
Additionally, I have been able to replace the SIM card with my personal one. In doing so, I have changed the error code from the previous to
"`AT+CMGR=1 ERROR
AT+CMGR=1 back: AT+CMGR=1
OK
You can input AT commands using a serial terminal program on your Raspberry Pi that connects to the modem’s serial port. Common tools for this are:
minicom
screen
picocom
Theres plenty of online tutorials that can help you learn how to use any one of these.
This error usually means the modem tried to read SMS message number 1, but there’s no message stored there. That’s totally normal if your SMS inbox is empty.
You can check which messages are stored (if any) by running:
AT+CPMS?
(to check message storage status) and
AT+CMGL="ALL"
(to list all messages).
Next steps to confirm SMS and SIM status
Please try these commands (after connecting to the modem via serial terminal):
AT
AT+CPIN?
AT+CSQ
AT+CREG?
AT+COPS?
AT+CMGF=1
They will tell us if:
The modem is responding
The SIM card is ready (not PIN locked)
Signal strength is good
Network registration is successful
SMS text mode is enabled
Once you share the responses from these commands, I can help you troubleshoot further.