I`m working with SIM800C modem and STM32 MCU. But the question about the modem itself.
In general my program works fine, but my modem can suddenly restart in random moment - 5 minutes or 10 hours.
I powered it with MP1584EN chip with 4v, added ceramic 1uF, tantalum 100uF and electrolytic 470uF caps, so I guess the power is okay
I checked rx and tx of the modem with logic analyzer and saw that MCU tried to send data but modem ignored it. After 5-7 seconds "Call Ready" message appears.
Also sometimes modem fails to send a message with MQTT - just getting an ERROR response.
Im using this schematic to power up the modem. Im using resistor divider to get 4.0V on the output. Also added 3 more capacitors as wrote in first message
Some of these Sim800C modules have 2 diodes in series on the VCC line to drop 5V to 4V and use a MAX232 level shifter IC somewhere on the PCB to make the whole module 5V compliant.
If you feed it with 4V, then the 2 diodes will make 3 volt out of it, which may just be below the brown out voltage if some load is required.
I created my custom board, so there are no diodes. Tx and Rx data lines are connected to the STM32 with BSS138 mosfets to shift 1.8 to 3.3 volts logic levels.
I had an idea that maybe the problem that is MCU suddenly triggers the power key pin and this causes the reboot. But it is okay, there is 0v on it while it`s working even in the moment of reboot
Here is the screenshot from logic analyzer. White graph is power key - its on Low logic level all the time. First two data packets are okay, modem has echo on. But on third packet it didnt echoed data back, so i think it rebooted in that moment