I have been testing running Spark Cores on battery power to get a feel for its real-world, 100% untethered potential.
The test battery is a 3.7V 600mAh LiPo battery. I have actually been running a few Cores simultaneously on their own batteries, so each battery may not be exactly 600 mAh, but I think they’re all reasonably close. Testing is still on-going, but I think I have enough results for people to take interest. All Cores are u.Fl antenna unless otherwise noted. There are no additional peripherals attached.
The test code uses TCPClient to make an HTTP request to my server. The server then records the timestamp of when each test connects. I have put a sample of the Spark firmware in this gist. Note in the firmware that I have put a delay(5000);
before the TCPClient HTTP request. It seems like much less of a delay causes the client to just hang and never make a server connection. I did not have this problem in the Cores that did not go into deep sleep mode.
I will update this post as I get more results.
Test 1: No sleep. 60-second update interval.
Average real interval: 63 seconds
Total approximate uptime: 2 hours, 33 minutes, 28 seconds
Test 2: No sleep. RGB LED disabled. 60-second update interval.
Average real interval: 63 seconds
Total approximate uptime: 2 hours, 24 minutes, 52 seconds
Test 3: Deep sleep. 60-second update interval.
Average real interval: 81 seconds
Total approximate uptime: 10 hours, 50 minutes, 40 seconds
Test 4: Deep sleep. 60-second update interval. Chip antenna
Average real interval: 78 seconds
Total approximate uptime: 11 hours, 52 minutes, 59 seconds
Test 5: Deep sleep. 120-second (2 minutes) update interval.
Average real interval: 141 seconds
Total approximate uptime: 19 hours, 48 minutes, 4 seconds
Test 6: Deep sleep. 300-second (5 minutes) update interval.
Average real interval: 320 seconds
Total approximate uptime: 1 day, 22 hours, 17 minutes, 51 seconds
Test 7: Deep sleep. 600-second (10 minutes) update interval.
Average real interval: 698 seconds
Total approximate uptime: 4 days, 1 hour, 20 minutes, 37 seconds
Test 8: Deep sleep. 900-second (15 minutes) update interval.
Average real interval: 922 seconds
Total approximate uptime: 1 week, 1 day, 7 hours, 1 minute, 42 seconds
Test 9: Deep sleep. 1800-second (30 minutes) update interval.
Average real interval: 1827 seconds
Total approximate uptime: 1 week, 3 days, 15 hours, 44 minutes, 36 seconds
Test 10: Deep sleep. 3600-second (1 hour) update interval.
To be determined.
A total approximate uptime followed by a + means the test is still ongoing.
As you can see, I have not started the final test yet. I may go beyond 10 tests, but I will not commit nearly as many resources to them. I’d like to use these Cores for other projects!
To view a full breakdown of the current statistics with pretty graphs, check out http://spark.wgb.me/battery-stats. The statistics on that page generate the data from the live log files, so the data is real-time. Thanks goes to @poiju for doing the standard deviation stuffs!