I have an Imp004m and have my BT service working fairly robustly on line power. Now I’m trying to minimize power consumption for a battery powered version. The use case is to have one version with line power supporting features that require an always-on WiFi connection (e.g. Alexa integration) and another battery-powered version accessed primarily via mobile app and BT.
So I’m wondering what the best power conservation strategy might be in my case. My code right now deep sleeps the Imp for 5 seconds and wakes it to scan for active mobile clients. If it finds one, it fires up the GATT server and stays awake for awhile.
I believe I have all the right stuff in place to avoid firing up WiFi when I come out of deep sleep and am not seeing connections to the agent when the Imp comes out of deep sleep. When it does come out of deep sleep it draws ~35mA for maybe a half second, then spikes to ~60-70mA for a beat, then goes back to deep sleep. In the code, I activate BT and start a passive scan, filtered to see only the BT central with a specific advert data (I’m trying to keep BT in receive-only mode unless it spots a relevant nearby central that’s actively advertising).
Does that sound about right for current consumption? Do you have any other suggestions for how to get BT-only power down to the bare minimum?