Problems with Sim800C


I am currently working on a project with the SIM800C connected to An Arduino Uno. I have successfully connected the SIM800C and I can send and Received and SMS message when uploading a sketch on the Arduino Uno. After that, I tried to run the Blynk SIM800 Example and the module was successful in connecting to the GPRS. The Blynk app shows that the Module is connected but when I place a button on the Blynk Dashboard and set the Button pin to D13 I can not control the Led. I also tried different GPIOs but it still does not work. I also tried to check the Signal Quality using
AT+CSQ I get +CSQ: 22,0 so I do not think that signal quality is the problem. I also noticed the 400ms ping time on connection so that could be a problem maybe? I might have gotten it to work but after repeatedly pressing the button on the app and only one time. What could be the problem here?


This is the code I am using. The only thing I changed was the Auth Code and the APN

 * For this example, you need to install Blynk library:
 * TinyGSM Getting Started guide:
 * Blynk is a platform with iOS and Android apps to control
 * Arduino, Raspberry Pi and the likes over the Internet.
 * You can easily build graphic interfaces for all your
 * projects by simply dragging and dropping widgets.
 * Blynk supports many development boards with WiFi, Ethernet,
 * GSM, Bluetooth, BLE, USB/Serial connection methods.
 * See more in Blynk library examples and community forum.
 * Change GPRS apm, user, pass, and Blynk auth token to run :)

#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space

// Default heartbeat interval for GSM is 60
// If you want override this value, uncomment and set this option:
//#define BLYNK_HEARTBEAT 30

// Select your modem:
// #define TINY_GSM_MODEM_SIM900
// #define TINY_GSM_MODEM_SIM808
// #define TINY_GSM_MODEM_SIM868
// #define TINY_GSM_MODEM_SIM7000
// #define TINY_GSM_MODEM_M95
// #define TINY_GSM_MODEM_BG96
// #define TINY_GSM_MODEM_A6
// #define TINY_GSM_MODEM_A7
// #define TINY_GSM_MODEM_M590
// #define TINY_GSM_MODEM_MC60
// #define TINY_GSM_MODEM_MC60E
// #define TINY_GSM_MODEM_ESP8266

#include <TinyGsmClient.h>
#include <BlynkSimpleSIM800.h>

// Set serial for debug console (to the Serial Monitor, default speed 115200)
#define SerialMon Serial

// Hardware Serial on Mega, Leonardo, Micro
#define SerialAT Serial1

// or Software Serial on Uno, Nano
#include <SoftwareSerial.h>
SoftwareSerial SerialAT(2, 3); // RX, TX

// Your GPRS credentials
// Leave empty, if missing user or pass
const char apn[]  = "RTGsurfing";
const char user[] = "";
const char pass[] = "";

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
const char auth[] = "VxxxxxxxxxxxxxxxxxxxPcIKwP";

TinyGsm modem(SerialAT);

void setup()
  pinMode(6, OUTPUT);
   digitalWrite(6, 1);
   digitalWrite(6, 0);
   digitalWrite(6, 1);
  // Set console baud rate

  // Set GSM module baud rate

  // Restart takes quite some time
  // To skip it, call init() instead of restart()
  SerialMon.println("Initializing modem...");

  String modemInfo = modem.getModemInfo();
  SerialMon.print("Modem: ");

  // Unlock your SIM card with a PIN

  Blynk.begin(auth, modem, apn, user, pass);

BLYNK_WRITE(V20) // At global scope (not inside of the function)
  if ( param.asInt() == 1 )
    digitalWrite(6, HIGH);

    digitalWrite(6, LOW);

void loop()

This is the only response I get on the Serial Monitor

Well, the code expects a button widget attached to Virtual pin 20, and an LED connected to Pin 6 on the Arduino (and the other side of the LED connected to GND).

The above line should be commented out, if you are using an UNO.

This is rather a high baud rate to be using with SoftwareSerial. Most people say that 9600 is the highest you should use. Of course, you have to set your SIM800 to the same baud rate as well.


Ok thanks I fixed it I would have never thought that my code was the problem. Thanks Again

1 Like