Giter Site home page Giter Site logo

lilygo-t-call-sim800's Introduction

🌟LilyGo T-Call SIM800 Series🌟

Product 📷:

Examples Product Link Schematic Status Recommended level
SIM800L IP5306 20190610 Product link Schematic
SIM800L IP5306 20200811 Product link Schematic ⭐⭐
SIM800L AXP192 20200327 Schematic ⭐⭐⭐
SIM800C AXP192 20200609 Schematic ⭐⭐⭐

Datasheet

FAQ

1. If you are unable to download, please try the following steps, if it still does not work, please contact customer service

  1. Open the serial monitor
  2. Short IO0 to GND
  3. Press the RESET button on the board, if the serial port communication is normal, then you should see
    ets Jun 8 2016 00:22:57
    
    rst:0x1 (POWERON_RESET),boot:0x3 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2))
    waiting for download
    
  4. If you can see the above message, it means that the communication is normal, then all you need is to let it enter the waiting download mode, then you can click upload, usually it can solve the problem of not being able to download automatically

2. About the 5V power pin description on the board:

  1. For IP5306 power supply, the 5V power pin connected to the USB board is the output, and the voltage is boosted by IP5306 power supply chip. According to the manual, its maximum output current is 2.4a. Do not connect USB, can 5V input.

  2. When using AXP192 power supply, the 5V power pin on the board is the input, and it is connected with USB 5V+. There is no other power output on the board except for the 3.3V output.

3. Didn’t connect to the Internet for a long time, or just turned off suddenly?

  1. It may be due to insufficient USB power supply current, please connect a lithium battery to the board, then plug in the USB and test again.

4. Why doesn’t the board turn on when the lithium battery is connected?

  1. If you use the IP5306 version and use a lithium battery to supply power, you must press the reset button to turn on the board.

  2. If you use the AXP192 power management chip, you need to press and hold the PWR button for 2 seconds to turn on the power supply. By default, the AXP192 will be powered on when the battery is inserted.

5. About SIM800X built-in firmware update.

  1. SIM800 built-in firmware update tool Because SIMCOM has not adapted and updated the new system for a long time, it is not necessarily available to upgrade the built-in firmware tool. Most users are stuck waiting for download. Please be informed

  2. How to update firmware

lilygo-t-call-sim800's People

Contributors

alokshaw avatar lewisxhe avatar lilygo avatar sukaibin11 avatar vshymanskyy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lilygo-t-call-sim800's Issues

micropython example still not working

even after the latest fix after issue #16 I dont get it to work. The gsm.atcmd('AT') gives back '\r\nOK\r\n' and the status is 89. It never leaves that.

Im using the exact code that you supplied in the example. When I flash the board with tinygsm I can connect so my apn settings are correct.

How to detect charging complete?

Hello, since there is no charging LED, is it possible to detect when did T-Call stop charging? For example by reading some IC5306 register by I2C? It would be good if T-Call can send a message when its battery has been charged and device can be unplugged.

SPI + SIM800

Hi. How to use SIM800 and SPI at the same time when pins 23 (MOSI) and 5 (SS) are used by SIM800?

Invoking AT+HTTPSSL command fails

Hi there,

similar but different to #43, we are observing the AT+HTTPSSL command would fail completely. We've also reported this to pythings/Drivers#3 and discussing it within [1] ff.

Invoking AT+CGMR yields firmware revision SIM800L16_20141031_1027 for the SIM800 on our T-Call device.

Thanks already for looking into this and with kind regards,
Andreas.

[1] https://community.hiveeyes.org/t/unlocking-and-improving-the-pythings-sim800-gprs-module-for-micropython/2978/8

cc @ClemensGruber, @poesel

AT+HTTPSSL=1 fails while AT+CIPSSL=1 yields OK

Hi,

my SIM800L has following firmware revision 1418B05SIM800L24.
I have been having trouble to do https-requests, I only got response status-code 603 with no content.
If I try to enable https like this:

AT+HTTPSSL=1

the modem response with

AT+HTTPSSL=1
ERROR

while

AT+CIPSSL=1

yields

AT+CIPSSL=1
OK

that confuses me a little bit, because a lot of sources say if AT+CIPSSL is okay AT+HTTPSSL should also work. Could there be a problem with the certificates on the modem?

OTA Not completing TTGO-T-Call

I am trying to download firmware from the given OTA example but after 95% it is Giving Error.

GPRS Status:Connected
CCID:
IMEI:857631038855652
Operator:Vodafone
Local IP:100.64.193.20
Signal quality:-110... -54 dBm 17
Battery level:100%
Battery voltage:4.98
76967 - Connecting to s3.ap-south-1.xxxxx.com:443
87642 - Requesting /fw.rtos.paqs/Blink1.ino.bin
89835 - Flashing...

5%
10%
15%
20%
25%
30%
35%
40%
45%
50%
55%
60%
65%
70%
75%
80%
85%
90%
95%
No Error
341570 - FATAL: Write failed. Written 170396 / 174991 bytes
ets Jun 9 2016 00:18:63

What could have caused the error, Please Give Solution as soon as possible.

redefinition error due to utilites.h in examples

I cant compile the examples due to redfinition error in utilites.h
Suggested fix would be:

#ifndef UTILITIES_H_INCLUDED
#define UTILITIES_H_INCLUDED
...
#ENDIF

Error log:
./utilities.h: In function 'bool setPowerBoostKeepOn(int)': ../utilities.h:6:6: error: redefinition of 'bool setPowerBoostKeepOn(int)' bool setPowerBoostKeepOn(int en) ^ In file included from ../sloeber.ino.cpp:25:0: ../utilities.h:6:6: note: 'bool setPowerBoostKeepOn(int)' previously defined here bool setPowerBoostKeepOn(int en)

Arduino_GSM_OTA - Write always fails

I have been trying to update my device with the supplied sample Arduino_GSM_OTA several times, but it always fails at 95%:

--------------------------
Build:    Oct  5 2019 20:14:24
Flash:    8192K
ESP sdk:  v3.2.3
Chip rev: 1
Free mem: 358748
--------------------------
IP5306 KeepOn FAIL
  Firmware A is running
--------------------------
78 - Starting OTA update in 10 seconds...
13082 - Initializing modem...
22463 - Modem: SIM800 R14.18
22463 - Waiting for network...
28591 - Connecting to GPRS
34704 - Connecting to mysite.se:443
37001 - Requesting /files/OTA/pellets_prod_poc/firmware.bin
40781 - Flashing...
 95%
No Error
106487 - FATAL: Write failed. Written 356100 / 357104 bytes

Any suggestions?

Does the board support switching from USB power to battery without reset?

I have a fully charged battery connected to the board and the boost output of the IP5306 is enabled (SYS_CTL0=0x37). Still, whenever I disconnect the USB-C cable the board resets. After the reset it is running fine on battery power though. Is that the normal behavior? I expected that I could just unplug the USB cable and it would seamlessly transition to being powered from battery. Maybe I'm missing a setting for the IP5306?

How to power the board?

Hello,

I cannot find any documentation on how to power the TTGO-T-Call board. Do I connect 4V battery to 5V PIN, or to plastic connector on the board? Is the battery charged when connected to USB?

Thanks for answer, Jan

Which board to select in Arduino IDE?

I am looking to use the TTGO T-Call board, and have written code. However, there does not seem to be any boards available in Arduino IDE.

Is there a board repository for the TTGO T-Call board? If no, then what other Arduino board can I select so that the code can be uploaded to the T-Call board?

GPIO mistake ?

In the pinout 'picture' we have
15, GPIO15-ADC13-TOUCH3 then
2, GPIO2-ADC-12-TOUCH2
0, GPIO0-ADC-11-TOUCH1
4, GPIO13-ADC10-TOUCH5
But also
13, GPIO13-ADC14-TOUCH4
Two GPIO13? should it not be
4, GPIO4-ADC10-TOUCH5 ?

High deep sleep mode current?

When T-Call is in sleep mode (RTC GPIO on in order to receive interrupt)powered by battery connector and SIM800L powered down, it draws about 5.5mA. It seems a lot to me. I checked voltage chips in the schematics. They are drawing about 100uA each, then there is a number of voltage dividers, that draw 20uA each. ESP32 in deep sleep shoud be about 10-150uA. When I sum it up, total draw should be still less than 1mA. But I have over 5, what could be wrong?

EDIT: Since IP5306 basically powers everything, I think the best power solution is to program the IP5306 to power down when there is light load detected (after 32 sec). Then the current is well bellow 1mA. Whole board can be then waken up by low interrupt at reset (EN) pin in duration of >0.05sec and <2sec. Reset (EN) pin is connected to KEY (Power button) of IP5306.

EDIT: That is not working. According to my tests, any hardware setup that involves switching battery connection requires manual reset, otherwise the IP5306 will not turn on. Connecting EN pin to GPIO output (or sensor active low output) to bypass manual reset did not work reliably.

pin header distance

Here is a drawing of the dimensions of the board.

However, I am designing a PCB with this board and there is no information of the distance between these two pin header rows.
O1CN01EDGPdY2D7ReaXCUWe_!!2657898562

Power Using 5V pin

I'm trying to power the board and charge the battery using 5v pin. (without using type-c input) is this possible, do i have to turn off the 5v boost to use this.

HTTPS post fail

Https post call returning 400 response code using TTGO T1 sim800l TinyGsm library

SIM800 Audio

Anyone have reference of connection (SP)eaker and (MIC)rophone directly to board? I want make some intercom: speaker and microphone up to 100 meters.
And more one question: can sim800 encode/decode audio and stream it to serial port?

GPS Connection

Hi All
If I want to connect to this Board a GPS Sensor like NEO-8M, what kind of pins shall I use?

Im not sure what I should use Hardware Serial oder Software Serial?

Markus

Available SPI Pins

Refer to readme.md, these pins are used for SIM800L :

SIM800_TX 26
SIM800_RX 27
SIM800_PWKEY 4
SIM800_RST 5
SIM800_POWER 23

Refer to esp32-wrover_datasheet_en.pdf following are the SPI Pins :

VSPI
VSPID / MOSI : IO23 --> SIM800L Power
VSPIQ / MISO :  IO19
VSPICLK /SCK  :  IO18
VSPICS0 /SS   :  IO5 --> SIM800L RST

HSPI
HSPID / MOSI : IO13 --> Built-in LED
HSPIQ / MISO : IO12
HSPICLK / SCK  : IO14
HSPICS0 / SS   : IO15

FSPI
SPID / MOSI : SD1 
SPIQ / MISO : SD0
SPICLK / SCK  : CLK
SPICS0 / SS   : CMD

Notice:
1. GPIO12 is internally pulled high in the module and is not recommended for use as a touch pin.
2. Pins SCK/CLK, SDO/SD0, SDI/SD1, SHD/SD2, SWP/SD3 and SCS/CMD, namely, GPIO6 to GPIO11 are connected to the SPI flash integrated on the module and are not recommended for other uses.

Having the fact that SIM800L uses 2 VSPI pins, HSPI MOSI also used by built-in LED, and FSPI are not recommended to be used, can someone please advise how can I have additional SPI connection to TTGO TCall Board?

Thanks !

ESP IDF PPPoS Causing Fatal Crash

I've updated the RX and TX pins in the config, and have added code to set up pins 5, 4 and 23. However, a fatal crash still occurs when running the program.

Error Dump:
E (6949) esp-modem: esp_modem_dte_send_cmd(215): process command timeout
E (6949) dce_service: esp_modem_dce_sync(48): send command failed
E (6949) sim800: sim800_init(460): sync failed
Guru Meditation Error: Core 0 panic'ed (LoadProhibited). Exception was unhandled.
Core 0 register dump:
PC : 0x400d43bb PS : 0x00060530 A0 : 0x800d2639 A1 : 0x3ffb62e0
A2 : 0x00000000 A3 : 0x00000001 A4 : 0x3ffb51f0 A5 : 0x00000001
A6 : 0x00060021 A7 : 0x00000000 A8 : 0x800d43b9 A9 : 0x3ffb62b0
A10 : 0x00000000 A11 : 0x3ffbae4c A12 : 0x400d55f8 A13 : 0x3ffb6308
A14 : 0x00000000 A15 : 0x0001c200 SAR : 0x00000004 EXCCAUSE: 0x0000001c
EXCVADDR: 0x0000007c LBEG : 0x400014fd LEND : 0x4000150d LCOUNT : 0xfffffffc

SD card problem

I'm trying to use an sd card module with the TTGO T-call. I can't use the SPI pins because I need to use also the SIM800L module. The SIM800L uses the standard pins 23 (MOSI) and 5 (CS). I tried to remap the SD card pins using this library: https://github.com/nhatuan84/esp32-micro-sdcard.
This library works well in a vanilla ESP32 and I can remap the pins. When I use the library with the T-call it doesn't work. I obtain always the message: Initializing SD card...initialization failed!
Does anyone have experience with an sd card module?

Modbus connect

I am a beginner in ESP32 programming and use the Arduino IDE. I would like to read data from a device via modbus. I have a RS 485 breakout to connect to the modbus device. As a Libary I thought smarmengol /Modbus master-slave for Arduino.
For this I need a serial interface. The first is occupied by the USB port. The 2nd with the SIM800. Is a 3rd possible? And how can I connect and address them?
For help, I would be grateful.

Micropython Example Does Not Work

I am continually getting this error when running the micropython example code:

I (1560329) [PPPOS CLIENT]: AT COMMAND: [ATH..]
E (1563339) [PPPOS CLIENT]: AT: TIMEOUT
I (1563539) [PPPOS CLIENT]: AT COMMAND: [ATH..]
E (1566549) [PPPOS CLIENT]: AT: TIMEOUT
I (1566749) [PPPOS CLIENT]: AT COMMAND: [ATH..]
E (1569759) [PPPOS CLIENT]: AT: TIMEOUT
I (1569759) [PPPOS CLIENT]: STILL CONNECTED.
I (1571959) [PPPOS CLIENT]: AT COMMAND: [ATH..]
E (1574969) [PPPOS CLIENT]: AT: TIMEOUT

I am running the following code taken from the example for MicroPython:

import machine, time, sys
import gsm

# APN credentials
GSM_APN = 'hologram'  # This will most likely change in the future!
GSM_USER = ''  # No username currently required for hologram.io
GSM_PASS = ''  # No password currently required for hologram.io

# Power on the GSM module for TTGO T-TALK
GSM_PWR = machine.Pin(4, machine.Pin.OUT)
GSM_RST = machine.Pin(5, machine.Pin.OUT)
GSM_PWR.value(0)
GSM_RST.value(1)

# Init PPPoS
gsm.debug(True)
# gsm.start(tx=27, rx=26, apn=GSM_APN, user=GSM_USER, password=GSM_PASS)

sys.stdout.write('Waiting for AT command response...')
for retry in range(20):
    if gsm.atcmd('AT'):
        break
    else:
        sys.stdout.write('.')
        time.sleep_ms(5000)
else:
    raise Exception("Modem not responding!")
print()

print("Connecting to GSM...")
gsm.connect()

while gsm.status()[0] != 1:
    pass

print('IP:', gsm.ifconfig()[0])

# GSM connection is complete.
# You can now use modules like urequests, uPing, etc.
# Let's try socket API:

import socket
addr_info = socket.getaddrinfo("towel.blinkenlights.nl", 23)
addr = addr_info[0][-1]
s = socket.socket()
s.connect(addr)

while True:
    data = s.recv(500)
    print(str(data, 'utf8'), end='')

But I know that the card and credentials work, because the following code works from the tinyGSM demos:

#include <Arduino.h>

// Your GPRS credentials (leave empty, if missing)
const char apn[]      = "hologram"; // Your APN
const char gprsUser[] = ""; // User
const char gprsPass[] = ""; // Password
const char simPIN[]   = ""; // SIM card PIN code, if any

// TTGO T-Call pin definitions
#define MODEM_RST            5
#define MODEM_PWKEY          4
#define MODEM_POWER_ON       23
#define MODEM_TX             27
#define MODEM_RX             26
#define I2C_SDA              21
#define I2C_SCL              22

// Set serial for debug console (to the Serial Monitor, default speed 115200)
#define SerialMon Serial
// Set serial for AT commands (to the module)
#define SerialAT  Serial1

// Configure TinyGSM library
#define TINY_GSM_MODEM_SIM800      // Modem is SIM800
#define TINY_GSM_RX_BUFFER   1024  // Set RX buffer to 1Kb

// Define the serial console for debug prints, if needed
//#define TINY_GSM_DEBUG SerialMon
//#define DUMP_AT_COMMANDS

#include <Wire.h>
#include <TinyGsmClient.h>
#include "utilities.h"

#ifdef DUMP_AT_COMMANDS
  #include <StreamDebugger.h>
  StreamDebugger debugger(SerialAT, SerialMon);
  TinyGsm modem(debugger);
#else
  TinyGsm modem(SerialAT);
#endif
// Server details
const char server[] = "vsh.pp.ua";
const char resource[] = "/TinyGSM/logo.txt";

TinyGsmClient client(modem);
const int  port = 80;

void setup() {
  // Set console baud rate
  SerialMon.begin(9600);
  delay(10);

  // Keep power when running from battery
  Wire.begin(I2C_SDA, I2C_SCL);
  bool   isOk = setPowerBoostKeepOn(1);
  SerialMon.println(String("IP5306 KeepOn ") + (isOk ? "OK" : "FAIL"));

  // Set-up modem reset, enable, power pins
  pinMode(MODEM_PWKEY, OUTPUT);
  pinMode(MODEM_RST, OUTPUT);
  pinMode(MODEM_POWER_ON, OUTPUT);

  digitalWrite(MODEM_PWKEY, LOW);
  digitalWrite(MODEM_RST, HIGH);
  digitalWrite(MODEM_POWER_ON, HIGH);

  // Set GSM module baud rate and UART pins
  SerialAT.begin(115200, SERIAL_8N1, MODEM_RX, MODEM_TX);
  delay(3000);

  // Restart takes quite some time
  // To skip it, call init() instead of restart()
  SerialMon.println("Initializing modem...");
  modem.restart();
  // Or, use modem.init() if you don't need the complete restart

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

  // Unlock your SIM card with a PIN if needed
  if (strlen(simPIN) && modem.getSimStatus() != 3 ) {
    modem.simUnlock(simPIN);
  }
}

void loop() {
  SerialMon.print("Waiting for network...");
  if (!modem.waitForNetwork(240000L)) {
    SerialMon.println(" fail");
    delay(10000);
    return;
  }
  SerialMon.println(" OK");

  if (modem.isNetworkConnected()) {
    SerialMon.println("Network connected");
  }

  SerialMon.print(F("Connecting to APN: "));
  SerialMon.print(apn);
  if (!modem.gprsConnect(apn, gprsUser, gprsPass)) {
    SerialMon.println(" fail");
    delay(10000);
    return;
  }
  SerialMon.println(" OK");

  SerialMon.print("Connecting to ");
  SerialMon.print(server);
  if (!client.connect(server, port)) {
    SerialMon.println(" fail");
    delay(10000);
    return;
  }
  SerialMon.println(" OK");

  // Make a HTTP GET request:
  SerialMon.println("Performing HTTP GET request...");
  client.print(String("GET ") + resource + " HTTP/1.1\r\n");
  client.print(String("Host: ") + server + "\r\n");
  client.print("Connection: close\r\n\r\n");
  client.println();

  unsigned long timeout = millis();
  while (client.connected() && millis() - timeout < 10000L) {
    // Print available data
    while (client.available()) {
      char c = client.read();
      SerialMon.print(c);
      timeout = millis();
    }
  }
  SerialMon.println();

  // Shutdown

  client.stop();
  SerialMon.println(F("Server disconnected"));

  modem.gprsDisconnect();
  SerialMon.println(F("GPRS disconnected"));

  // Do nothing forevermore
  while (true) {
    delay(1000);
  }
}

** I can't come to any conclusions, any help you can give would be much appreciated. Thank you.**

TinyGSM example wont start from battery

If I power the module from battery nothing happens. If I start with power from usb and then unplug usb it will continue to run from battery power.
maybe something with Serial or power?

My battery had 4.1V when doing the test.

TTGO-T-Call - What is the best Power supply with a Battery?

Dear ALL,

I want to use this board for an IoT Use Case. Do you have suggestion how to supply the Board best with power? I can operate the board over the USB Board to connect GPRS Network.
The use case consider a GPS Sensor, OLED 0.96 Display and Temperature sensor. Each of them need 5 Volt Power.
In manual is written that it's possible to use the battery plug on the Board to supply the board with power or to use the 5 Volt Pin, but I have my concerns that it would be enough to supply the sensor as well. I suppose that the board will consume like other GSM board some peak currents (1-2 A) to start up GSM and I suppose that LIPO which is direct connected to the Board will not supply the Sensor enough with power.
Do you have any suggestion or circuit schema example how the power supply should be built up?
Thanks your your advice in advance,

Markus

When battery powered, will not start if battery bellow ~4V

When T-Call is powered by battery if battery voltage drops bellow ~4V I get brownout errors.
(observing serial connected via TX/RX UART not USB)

I am powering the device with multiple 18650 in parallel, so there are enough Amps.

If I start the device with USB or a BAT 4v+, then activate BatteryBoost and then drop bellow 4v it will work without problem. (e.g 3.7V and do GPRS transfers)

However, upon hard reset BattteryBoost goes OFF again. So if I reset with battery bellow 4v ESP32 gets stuck in boot loop with brownout detection error.

Is there a way to store batteryboost enabled permanently on IP5306 ?

Number of hardware UART ports?

Hello, I can't see how many hardware uart ports are available from the pinout. The ESP32 has 3, so one of them taken for the sim800 module tx/rx, means that there should be two, but I'm seeing only one on the pinout?

OTA_Fatal_Error

Hi everyone , am also facing same issue, that after 95% its giving Fatal error.

GPRS Status:Connected
CCID:
IMEI:862631038855747
Signal quality:-110... -54 dBm 17
Battery level:100%
Battery voltage:4.98
76967 - Connecting to s3.ap-south-1.amazonaws.com:443
87642 - Requesting /fw.rtos.paqs/Blink1.ino.bin
89835 - Flashing...

5%
10%
15%
20%
25%
30%
35%
40%
45%
50%
55%
60%
65%
70%
75%
80%
85%
90%
95%
No Error
341570 - FATAL: Write failed. Written 170596 / 174992 bytes
ets Jun 8 2016 00:22:57

please suggest how to overcome from this issue

OTA fatal Error after 95%

I am using your library and trying to interface but its throwing error. Please help.

Here is the output:

GPRS Status:Connected
CCID:
IMEI:862631038855364
Operator:Airtel
Local IP:100.64.193.20
Signal quality:-110... -54 dBm 17
Battery level:100%
Battery voltage:4.98
76967 - Connecting to s3.ap-south-1.amazonaws.com:443
87642 - Requesting /fw.rtos.paqs/Blink1.ino.bin
89835 - Flashing...

5%
10%
15%
20%
25%
30%
35%
40%
45%
50%
55%
60%
65%
70%
75%
80%
85%
90%
95%
No Error
341570 - FATAL: Write failed. Written 170596 / 174992 bytes
ets oct 8 2019 00:22:57

SIM card no inserted problem

#include <SoftwareSerial.h>
#define RXD2 16
#define TXD2 17
#define MODEM_RST            5
#define MODEM_PWKEY          4
#define MODEM_POWER_ON       23
#define MODEM_TX             27
#define MODEM_RX             26
#define I2C_SDA              21
#define I2C_SCL              22
//SoftwareSerial mySerial(MODEM_RX, MODEM_TX); // RX, TX
#define SerialAT Serial1

void setup()
{
  Serial.begin(115200);
  //Serial2.begin(9600, SERIAL_8N1, RXD2, TXD2);
  SerialAT.begin(115200, SERIAL_8N1, MODEM_RX, MODEM_TX);
 //mySerial.begin(9600);
  pinMode(MODEM_PWKEY, OUTPUT);
  pinMode(MODEM_RST, OUTPUT);
  pinMode(MODEM_POWER_ON, OUTPUT);

  digitalWrite(MODEM_PWKEY, LOW);
  digitalWrite(MODEM_RST, HIGH);a
  digitalWrite(MODEM_POWER_ON, HIGH);
}

void loop()
{
  if (SerialAT.available())
    Serial.write(SerialAT.read());
  if (Serial.available())
    SerialAT.write(Serial.read());
}

Result :

AT

OK
AT+CPIN?

ERROR
AT+CMEE=1

OK
AT+CMEE=2

OK
AT+CPIN?

+CME ERROR: SIM not inserted

Suggestion for next revision

Dear TTGO team,
Here is a summary of my bugs and enhancements list:

  • In PCB v1.3 since you have spare pins, re-purpose one for VBAT so we can connect the battery directly on a pin. The battery plug you are using is too small for SIM800 power requirements and the cable is too thin. (note, in pinout image you have a mistake, 5V is not BAT.)

  • Consider replacing your battery plug with standard "JST PH 2-Pin" that everybody are using.

  • As @toomasz suggested, connect DTR to a spare GPIO to enable SIM8000 wake/sleep functionality for potential power saving.

  • Change IP5306 "KEY"circuit so that it auto-starts upon VBAT input. If voltage goes very low IP5306 will shutdown and it then needs a reset button press to wake up. This is not good for unattended deployments with solar charging batteries.

  • Add more/larger capacitors in the 5V or 4V4 bus to improve stability when SY8089 is turned on. (note that 5V line is actually 4.5V when powered via USB cable)

  • Directly connect SIM800 to the battery and maybe use a jumper switch to enable/disable SY8089 if you can not detect USB. This will increase power efficiency and battery life and also we can use the SIM800 build in voltage monitor (instead of the ESP32 ADC which is inaccurate)

  • Add a 5V solar power charger / manager so we can charge the battery from a 5V 1W solar panel.

Once your apply the above, you have created a great product and I will be your best customer :-)

Cannot flash

When trying to flash with platformIO i'm getting this error:

Connecting......................................_____

A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header

On some other boards i would have kept BOOT button pressed but T-call doesn't have one.
Any hints?

Incomplete file download and CRC check Error

When downloading file from server, upto 98.2% file is getting downloading after that giving error says CRC doesn't match and the bytes downloaded is not equal to the contentlength.

Please reply ASAP

pin number for built in led

What is the pin number for onboard LED just below ESP32

i've tried 13 and 16 in Arduino and i can't get it to work

Micropython example still does not work yet

Hi! I come from the issue number #21

The example code does not work. The debug screen shows this:

Waiting for AT command response....I (1748) [PPPOS CLIENT]: AT COMMAND: [AT..]
I (1772) [PPPOS CLIENT]: AT RESPONSE: [..OK..]
I (1872) [PPPOS CLIENT]: AT COMMAND: [AT+CFUN=4..]
I (1943) [PPPOS CLIENT]: AT RESPONSE: [..OK..]
I (1943) [PPPOS CLIENT]: GSM initialization start
I (2543) [PPPOS CLIENT]: AT COMMAND: [AT..]
I (2565) [PPPOS CLIENT]: AT RESPONSE: [..OK..]
I (2665) [PPPOS CLIENT]: AT COMMAND: [ATZ..]
I (2688) [PPPOS CLIENT]: AT RESPONSE: [..OK..]
I (2788) [PPPOS CLIENT]: AT COMMAND: [ATE0..]
I (2811) [PPPOS CLIENT]: AT RESPONSE: [ATE0...OK..]
I (2911) [PPPOS CLIENT]: AT COMMAND: [AT+CFUN=1..]
I (2937) [PPPOS CLIENT]: AT RESPONSE: [..OK..]
I (4037) [PPPOS CLIENT]: AT COMMAND: [AT+CPIN?..]
I (4062) [PPPOS CLIENT]: AT RESPONSE: [..+CPIN: READY....OK..]
I (4162) [PPPOS CLIENT]: AT COMMAND: [AT+CREG?..]
I (4186) [PPPOS CLIENT]: AT BAD RESPONSE: [..+CREG: 0,2....OK..]
W (4186) [PPPOS CLIENT]: Wrong response, restarting...

(very much logs)

.I (66811) [PPPOS CLIENT]: Skip command: [AT..]
I (66811) [PPPOS CLIENT]: Skip command: []     
I (66811) [PPPOS CLIENT]: Skip command: []     
I (66814) [PPPOS CLIENT]: Skip command: []     
I (66819) [PPPOS CLIENT]: Skip command: []     
I (66924) [PPPOS CLIENT]: AT COMMAND: [AT+CREG?..]
I (66948) [PPPOS CLIENT]: AT BAD RESPONSE: [..+CREG: 0,0....OK..]
W (66948) [PPPOS CLIENT]: Wrong response, restarting...
E (66949) [PPPOS CLIENT]: PPPoS TASK TERMINATED
......Traceback (most recent call last):
  File "main.py", line 50, in <module>  
Exception: Modem not responding!

Does anyone have any solution? Thanks!.

Arduino ESP32 model, crash

After compiling my program ( Arduino V1.8.5, ESP32 V1.0.2) the T-Call module crashes (LoadProhibited) in the boot process. I suggest that the reason is the not properly chosen ESP32 module from the Arduino possibilities. I tried with "ESP32 Dev module".

Which module should I select?

Thank you.

The result:

ets Jun 8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1100
load:0x40078000,len:9232
load:0x40080400,len:6400
entry 0x400806a8
write config...
Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.
Core 1 register dump:
PC : 0x4000c2e0 PS : 0x00060d30 A0 : 0x800d3075 A1 : 0x3ffb1e20
A2 : 0x3ffc1398 A3 : 0x00000000 A4 : 0x000000e0 A5 : 0x3ffc1398
A6 : 0xffffffff A7 : 0x0000000e A8 : 0x00000000 A9 : 0x3ffb1e00
A10 : 0x00000002 A11 : 0x3f4041ce A12 : 0x0000000f A13 : 0x0000ff00
A14 : 0x00ff0000 A15 : 0xff000000 SAR : 0x0000001a EXCCAUSE: 0x0000001c
EXCVADDR: 0x00000000 LBEG : 0x4000c2e0 LEND : 0x4000c2f6 LCOUNT : 0x0000000d

Backtrace: 0x4000c2e0:0x3ffb1e20 0x400d3072:0x3ffb1e30 0x400d5477:0x3ffb1e60 0x400ea087:0x3ffb1fb0 0x40088f1d:0x3ffb1fd0

How to connect external antenna on ESP32 module?

Hi
I saw that the EPS32 module has to solder contact, near the internal antenna, is possible to disable the internal ant and replaced for external?s
My idea is to put the boar into a box and connect an external antenna outside the box.
Thanks

Arduino_GSM_OTA - TinyGsmClientSecure() doesn't work with SIM5360

Hi,
I understand that your module is HW specific, but I am trying to modify the Arduino_GSM_OTA.ino to be compatible with the SimCom SIM5360. Thus we are are trying to fix the TinyGSM relevant library header dependence on TinyGsmClientSIM5360.h. In doing some experiments it seem that the function TinyGsmClientSecure() doesn't work.

Any idea what could be the problem?

If you are interested in extending compatibility, please follow our discussion HERE.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.