Hello All,
I have an interesting problem that I’m trying to fix. Essentially, I’ve created a custom board that uses the RAK4630-R stamp module, and I’m attempting to get it to sleep properly. I have been able to call the sleep all function that drastically reduces the current, but average consumption still sits near 480-650uA.
Trying the same exact code with just the stamp module connected with 3.3V and GND with fly wires has the same exact consumption pattern, with an average current of ~650uA as well. ( I was convinced that there was parasitic current in my custom board, so I removed the stamp module entirely, turns out current is the same)
Trying the same code again with the RAK4631-R + a mini base board, powering with 3.3V via the battery terminal with my PK2 shows a much more reasonable average consumption of 62uA. I have confirmed that the sketch starts up and stabilizes ok by the presence of advertisement spikes at the beginning of each run, that settles out eventually once the sleep function kicks in.
base board current:
The main difference between 650uA avg cases and that of the mini base board is that the base board doesn’t spike up to 3mA periodically like the other cases do. I believe this is the cause of the extra power consumption. My question is: can anyone explain why these spikes are occurring? Am I missing circuitry that is causing this behavior?
Here is the code run on all modules:
Here is a picture of the flywire module:
Flywire startup:
Flywire steady state:
Picture of the custom board, all non-RAK support components have been removed, and is powered directly via 3.3V from my PK2.
Custom board steady state:
Code used for all cases (using the Staging BSP):
void setup() {
}
void loop() {
api.system.sleep.all(10000);
}
Further FYI, the custom board implements the “bare minimum” circuitry as defined here from the getting started guide:
It’s also worth noting that without the stamp module populated, when powering the board’s 3.3V rail the board only consumes 0.15uA, and that was before I depopulated the unnecessary passives.
The flywire setup should mirror this perfectly, minus the RST circuitry, but that is present on the custom board, and the flywire module starts up OK anyway. If this documentation is correct, seems to me that what I am doing should work. For the record processing and RF activities all happen OK, it’s just sleep that I have not been able to nail down.