We have build a GPRS weather station using arduino pro mini 3.3v powerd by 3.7 li-ion battery on RAW pin. We are using 1000uF cap and two smaller ceramic ones.
From time to time it happen that arduino reset itself (tested on multiple boards, so not the error on the specific board). I believe this was caused by specific function that would get GPS coordinates. I stopped using this function but I am still curious about this issue.
If arduino reset few times it then happen to temporarily not function properly - sort of brick. This means that the data was not being send and the power LED on arduino was blinking non stop (short intervals probably 50Hz). After this happens arduino was not function properly untill power was cut off and put back on - just reseting the board didn't help. Im must mention that when this happens the program is also bricked and I have to reupload it to function. But after I uplaoded program directly to arduino (without bootloader) there was still necessary to manualy plug out power but there was no need to reprogram it.
My question is what is causing this problem to keep arduino in sort of eternal "brick loop" that require manual intervention? Is it possible that is voltage regulator and to solve it I should put 3.7V battery directly to VCC pin. From what i read it should work up to 5.5V. Any ideas?
3.7V is likely too low to reliable power the 3.3V regulator via the RAW pin. If your sensors, GPS etc can stand being run off 3.7V then you'd be much better just connecting the 3.7V battery to the VCC pin on the Pro Mini.
The bootloader of the Pro Mini has a bug that causes it to go into an endless reset loop after a reset caused by the watchdog timer. My hypothesis is that this was your problem. The fact that the need to reprogram went away after you did an Upload Using Programmer (and thus erased the bootloader) gives further evidence to back my hypothesis.
Well it went to the same loop even without bootloader. I had to unplug the battery and connect it again to make it work. Just reseting the arduino didn't work
When you reset the Arduino, it only restarts the Arduino. When you cut the power, it also restarts your other hardware attached to the Arduino. I suspect that's the reason why one works and the other doesn't.
This might be it. Thou i had only SIM800L attached at the time. You think it might still be sending data to arduino and therefore causing interruption. It this is the case i should probably set a command to restart the sim800l module at restart.
That way in case of some malfunction that would cause arduino to restart GPRS module would also restart and station would continue to operate (in theory) right ?
I used test code from this site link and even thou I upload the sketch using a programmer (without bootloader) the bug is still persistant. No problems on arduino mega.
At least now i know how to simulate the problem, still searching for solution thou...