MKR GSM 1400 Will Not Send SMS

I can get my MKR GSM 1400 to do everything except send an SMS and I'm looking for some guidance. I'm using the sketch below (unmodified example sketch). I'm using a Li-Po battery in addition to any power provided by the USB port. I input the mobile number in +15551212121 format and the program returns "COMPLETE!" but I never receive the message on my phone.

I've tried everything I've read about but I still can't get it to work. Does anyone have a hardware configuration for the MKR GSM 1400 they'd be willing to share that will get this function to work?

Thanks in advance!

SMS sender

This sketch, for the MKR GSM 1400 board,sends an SMS message
you enter in the serial monitor. Connect your Arduino with the
GSM shield and SIM card, open the serial monitor, and wait for
the "READY" message to appear in the monitor. Next, type a
message to send and press "return". Make sure the serial
monitor is set to send a newline when you press return.


  • MKR GSM 1400 board
  • Antenna
  • SIM card that can send SMS

created 25 Feb 2012
by Tom Igoe

// Include the GSM library
#include <MKRGSM.h>

#include "arduino_secrets.h"
// Please enter your sensitive data in the Secret tab or arduino_secrets.h
// PIN Number

// initialize the library instance
GSM gsmAccess;
GSM_SMS sms;

void setup() {
// initialize serial communications and wait for port to open:
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only

Serial.println("SMS Messages Sender");

// connection state
bool connected = false;

// Start GSM shield
// If your SIM has PIN, pass it as a parameter of begin() in quotes
while (!connected) {
if (gsmAccess.begin(PINNUMBER) == GSM_READY) {
connected = true;
} else {
Serial.println("Not connected");

Serial.println("GSM initialized");

void loop() {

Serial.print("Enter a mobile number: ");
char remoteNum[20]; // telephone number to send sms

// sms text
Serial.print("Now, enter SMS content: ");
char txtMsg[200];

// send the message

Read input serial
int readSerial(char result) {
int i = 0;
while (1) {
while (Serial.available() > 0) {
char inChar =;
if (inChar == '\n') {
result[i] = '\0';
return 0;
if (inChar != '\r') {
result[i] = inChar;

Your post was MOVED to its current location as it is more suitable.

Could you also take a few moments to Learn How To Use The Forum.

Other general help and troubleshooting advice can be found here.
It will help you get the best out of the forum in the future.

Try to downgrade the board core to 1.8.9 (Tools->Board->Boardmanager)
With GSM gsmAccess(true); you can see the AT console communication in the serial monitor to debug.

@clearwater1 Try connecting a 5V5A external supply to VIN/GND and try sending SMS again.