Can't wake up SIM900 from sleep (AT+CSCLK=1)

I bought a SIM900A module, the original firmware was 1137B11SIM900A32_ST_DL and I was able to flash 1137B09SIM900B32_ST through the debug port and now the module can connect to the network.
The I/O on the SIM900 is 2.80V, there is a built-in level shifter on this module but it's only for the TX and RX lines of the main UART port, I did not bridge the HV pull-up solder pad.



The serial communication between the ESP32 and the SIM900 works as expected, I can send AT commands and I get a reply from the modem.

There is solder pad that bridges the PWRKEY (PWK) pin to ground (top right corner in the first photo), I removed the solder bridge so that I can control the power state of the modem from the ESP32.

I used a 2-channel voltage level shifter to connect the PWRKEY pin and the DTR pin to the ESP32, same circuit as in the second photo, except this time I did not wire the pull-ups to neither LV nor HV.
Both pins seem to work as expected, when I pull-down the PWRKEY pin for at least 520ms the modem powers up/down, and when I pull-up the DTR pin while AT+CSCLK=1 the serial port stops responding.

The modem is powered by two 18650 cells in parallel connected directly to the VBAT pin on the modem. The ESP32 (Lolin32 Lite) is powered by the same battery.

I'm having a very hard time trying to understand how to enter and leave sleep mode.

When AT+CSCLK=0 and DTR is pulled-up, the PWRKEY pin behaves as explained in the SIM900 Hardware Design document, if the PWRKEY pin is pulled-down for at least ~520ms (document says 1 second) the modem powers on or off.

When AT+CSCLK=0 and DTR is pulled-down, the PWRKEY pin stops behaving as a toggle. The modem turns on and remains on while the PWRKEY pin is pulled-down, and turns off and remains off while the PWRKEY pin is pulled-up. If the PWRKEY pin is pulled-down for ~520ms the modem turns on and then immediately turns off.

When AT+CSCLK=1 and DTR is pulled-up, the serial port stops responding and I cannot type anything in it, and as soon as the DTR pin is pulled-down again the modem turns off.

When AT+CSCLK=1 and DTR is pulled-down, the serial communication works but the modem never goes into sleep mode. To enter sleep mode (AT+CSCLK=1) the DTR pin must be pulled-up, but that breaks the serial communication and when the DTR pin is pulled-down again the modem turns off.

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