Problem sending sms with sim800l module

Hello
I want to send sms with sim800l module, my circuit is like the following circuit, with the difference that instead of arduino uno, I used a nodemcu, and I also used a 2 amp adapter for electricity. I put a capacitor (1000uf 50 volts) in its path. The voltage that reaches the module is about 4.2 volts. The module turns on and the module light flashes. I also put the nodemcu program below. The module sets the setting time for error text mode.
Thank you for your help.

Arduinosim800l1

#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
#include <SoftwareSerial.h>


#define rxPin D6
#define txPin D5
SoftwareSerial mySerial(rxPin,txPin);


//// UDP
//WiFiUDP UDP;
//IPAddress local_IP(192,168,4,1);
//IPAddress gateway(192,168,4,1);
//IPAddress subnet(255,255,255,0);
//#define UDP_PORT 4210
//
//// UDP Buffer
//char packet[255];
//char reply[] = "Packet received!";

void setup()
{
  Serial.begin(9600);
  

  mySerial.begin(9600);

  Serial.println("Initializing...");
  delay(1000);

  mySerial.println("AT");
  updateSerial();
  mySerial.println("AT+CSQ");
  updateSerial();
   mySerial.println("AT+CSCS?"); 
  updateSerial();
  mySerial.println("AT+CREG?"); 
  updateSerial();
  mySerial.println("AT+CMGF=1"); 
  updateSerial();
  mySerial.println("AT+CMGF?"); 
  updateSerial();
  mySerial.println("AT+CMGS=\"+xxxxxxxxxxxx\"");
  updateSerial();
  mySerial.print("Last Minute Engineers | lastminuteengineers.com");
  updateSerial();
  mySerial.write(26);
}

void loop()
{
//   // If packet received...
//  int packetSize = UDP.parsePacket();
//  if (packetSize) {
////  Serial.print("Received packet! Size: "); Serial.println(packetSize);
//    int len = UDP.read(packet, 255);
//    if (len > 0) {
//      packet[len] = '\0';
//    }
////  Serial.print("Packet received: ");
//    Serial.println(packet);
// 
//    // Send return packet
//    UDP.beginPacket(UDP.remoteIP(), UDP.remotePort());
//    UDP.write(reply);
//    UDP.endPacket();
//  }

  
  updateSerial();
}

void updateSerial()
{
  delay(500);
  while (Serial.available()) 
  {
    mySerial.write(Serial.read());
  }
  while(mySerial.available()) 
  {
    Serial.write(mySerial.read());
  }
}

And this is the output:

Your arduino might not be able to provide enough amps with the circuit you show, get a dedicated power supply for your gprs module. Usually they require 2Amps, join GND

image

?

In nodemcu, I connected to d6 and d5 pins.

I connected a 3 amp power supply to the sim800 and changed the capacitor to 2200uf, but the result is still the same.

The SIM modules usually need 5V, 2A to run. At voltage and current lower than these, the module may turn on but may not register to the network. Is the network LED blinking after every 3 seconds?

Did you connect the GND?
How was this wired?
What are the exact specs of your module?

I connected the module directly to a variable power supply from 0 to 30 volts 5 amps and changed the voltage from 3.3 to 4.8. The module is still blinking consecutively and the bit intervals are not more than three seconds. There does not seem to be a problem with voltage or current. There is no problem with the SIM card in the mobile phone. Could the problem be of the SIM card type?

I connected the module directly to the 5 amp variable power supply. This is a picture of my module:

A possibility would be that you don't have a GPRS network within reach (whilst when you put the SIM card in a phone it would find a 3G or 4G network for example)

The module problem was solved by changing the SIM card. Thanks for your help.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.