CaptainHooyah
Member
What are the expected deep sleep and hibernate currents of the 3.6 using the Snooze library?
Last edited:
Update:
During my first couple hours with the Teensy 3.6 I stumbled across Duff's Snooze library (Thanks Duff).
While using Version 6 of the Snooze library, USB unplugged, powered by 5VDC:
Compiled with the CPU speed @ 180 MHz in the Arduino IDE Tools Menu = Around 25mA (Aprox. I didn't write it down... I just knew it was too high)
Compiled with the CPU speed @ 24 MHz in the Arduino IDE Tools Menu = Around 100uA
Compiled with the CPU speed @ 96 MHz in the Arduino IDE Tools Menu = Around 100uA
This is without even diving into the code and the Kinetis Low Power modes! SLEEP_MODE is set at LLS, the little reading that I have done on the Kinetis suggests that I can down much lower... but even if I can't, I'm very excited to get my hands dirty with the 3.6!
Admin - If this is all obvious information and documented somewhere else, feel free to delete the post.
These seem high but I haven't done any formal tests to see what they are. I hope in the coming month I can get my office back into order so I can get all my equipment out! Moving 4 times in 3 years really takes it out of you.
There could be something external to the k66 chip that is consuming power on the Teensy, maybe?I also measured about 55 uA. First I tought this 55 uA is the quiescent current of the voltage regulator. But when I power the teensy directy through an 3.3V pin I still have around 45 uA. Any ideas why the power consumption is still so high?
Yes, the default is LLS but you can pass "Snooze.hibernate(config, VLLS1-3)" also but the VLLSx's will wake with a reset. See https://github.com/duff2013/Snooze/blob/master/SnoozeBlock.h#L69, don't use anything above "LLS" as parameter though, they won't work since they are not proper configs for sleeping and also "VLLS0" is not implemented either.I finally have some time this week to compare the kinetis documentation to Duff's code to see if I can understand what's going on. If you chase down the hibernate function you can find an enumerator of sleep types. He currently passes it LLS, there are lower level sleep modes you can pass the function, but I can't verify that the snooze code handles them. The lower you go, I assume the less things there are to wake it up, and more things you need to reconfigure after waking up.
What do you mean? I my case nothing external is connected to the board.There could be something external to the k66 chip that is consuming power on the Teensy, maybe?
I mean some component on the Teensy 3.6 itself could be leaking current, I'm looking at the onboard sd card socket to see if one the pins has some leakage current.What do you mean? I my case nothing external is connected to the board.
MCU / FRDM
(RUN) 35.5mA / 115mA
(WAIT) 23.2mA / 100mA
(STOP) 524uA / 79mA
(VLPR) 1660uA / 80mA
(VLPW) 1250uA / 79mA
(VLPS) 110uA / 79mA
(LLS) 6uA / 79mA
(VLLS0) 2uA / 79mA
(VLLS1) 2uA / 79mA
(VLLS2) 4uA / 79mA
(VLLS3) 6uA / 79mA
I mean some component on the Teensy 3.6 itself could be leaking current, I'm looking at the onboard sd card socket to see if one the pins has some leakage current.
I took a quick look at the schematic and here are some things that looked like it could be using some power at all times.
https://www.pjrc.com/teensy/schematic.html
-MKL02z32vfg4 chip is tied to 3.3 VDC, I'm not sure which sleep mode that thing typically lives at, but I assume it uses a few uA.
-There are a few resistors capacitors and inductors hooked up to 3.3vdc, I assume those use some power.
Not sure if those are the culprits, but they are external to the K66, and contributing to the sleep currents.
Yes, I need to work on that plus much more documentation on all the different low power modes you can do.FWIW, the mbed k64f (think T3.5) has a jumper (J20) where you can splice in meter and measure just the power to the MCU. Here are some low-power numbers (@120MHz) from https://developer.mbed.org/forum/platform-38-FRDM-K64F-community/topic/17184/
Code:MCU / FRDM (RUN) 35.5mA / 115mA (WAIT) 23.2mA / 100mA (STOP) 524uA / 79mA (VLPR) 1660uA / 80mA (VLPW) 1250uA / 79mA (VLPS)110uA / 79mA (LLS) 6uA / 79mA (VLLS0) 2uA / 79mA (VLLS1) 2uA / 79mA (VLLS2) 4uA / 79mA (VLLS3) 6uA / 79mA
@duff it would be nice if your snooze github page had a table of power numbers for the T3* based on your experiments.
Thats right I'm not sure what is consuming the extra current, the bootloader pins are the same so the only thing I can see from the schematic is the current limit switch for USB host mode might be an issue but everything I tried had no effect or made it worse (enabling it).What currents do you measure on T3.2? it has same LDO and same bootloader chip as T3.6. Earlier thread
https://forum.pjrc.com/threads/28700-Duff-s-Snooze-Library-Setup-Questions
reported 46ua in hibernate on T3.2
So I have been doing some extensive low power testing on the Teensy 3.6 and cannot find anymore power savings. In my tests the Teensy 3.6 hibernates at about 85uA with nothing attached. The LP38691 Low Dropout voltage regulator "Iq" contributes around 55uA at normal temps so thats part of the what we are seeing. I see that the USB Host has a TPD3S014 Current Limit Switch that could cause some leakage but nothing I did seemed to matter, when I enabled it about 100uA more of current showed up. The only change I could add to Snooze is putting it into LLS2 sleep mode instead of LLS3 which will power off some of the RAM but not sure what that will break. LLS2 saved about 5uA.