The code seems to be up and running successfully. Tested for several hours with no issues. The up-to-date version and schematics is available in the GitHub repository. Still some TODOs, but the main flow is there.
Next step was to improve the efficiency. Started by removing the power LEDs from both the Arduino and the SIM800C. Current measurements showed the following results after that was done:
- Step down converter - 7mA @ 12V .
- SIM800C in sleep mode - from 0.5mA to 1.2mA @ 12V .
- Arduino - 3.9mA @ 12V .
Pretty disappointing results for the step down module. After quick look at the datasheet for LM2596 I found out that the quiescent current should be between 5mA and 10mA. That explained it all.
I'll try with MP2307 based module. According the datasheet this should reduce the step down converter consumption below 1.5mA. There are even more efficient ICs, but I don't find modules with them, and I don't want to invest much time in creating the step down converter by myself.
The SIM800C current is pretty reasonable. Nothing to change there.
The Arduino current is a bit high, but still is quite acceptable.
Software optimization can reduce it quite a lot, but will complicate the code. There is LowPower library, but from the quick research I did - it stops the millis() timer and the current code relay on it.
The goal is to have the GSM remote running below 10mA. If I manage to achieve that I'll not invest efforts in further improvement related to the efficiency.