Paul, I love your products and would appreciate a technical explanation of the following disappointing phenomenon.
Long story short: Despite supposing to have WAY BETTER mhz/ma power consumption ratio than Teensy 3.x, my Teensy 4.0 at 24mhz is using almost TWICE THE POWER my Teensy 3.x is running the same code at 24mhz.
I got super excited for Teensy 4.0 because the 600mhz-at-100ma promise means, for my application and for many practical applications, I can get 24mhz at 4ma assuming linear scaling.
According to the NXP datasheet for the worse-1050 (Page 13 here), there should be no more than 7ma usage at 24mhz.
According to this NXP datasheet for the 1060 (Page 26 here), there should be no more than 12ma consumption at 24mhz.
After implementing defragster's kind instructions in this thread on how to set Teensy 4.0 clock speed, I am observing 36ma power consumption at 24mhz (LED on, 33ma without).
In fact, I tested and got the following clock speed / power consumption results:
16mhz/36ma
24mhz/36ma
48mhz/41ma
72mhz/44ma
96mhz/53ma
120mhz/53ma
200mhz/54ma
300mhz/63ma
400mhz/65ma
500mhz/68ma
600mhz/83ma
(NOTE: I was running defragster's code here. Bare empty loop results in slightly higher consumption especially at higher mhz, e.g., 100ma at 600mhz)
What is wrong? This result is incredibly disappointing. Virtually nobody needs 600mhz (just buy an extremely cheap Raspberry Pi Zero if you do), but I have found Teensy 3.5/6 to be THE ULTIMATE best choice for any sort of battery powered real-time constant-on logging/monitoring application. I got my hopes up Teensy 4.0 would advance the bar even further with optimized power consumption, but the results are far worse - not better - than Teensy 3.x
See the graph manitou posted in 2016 here: https://forum.pjrc.com/threads/36241-NXPK66-vs-STM32L4?p=127260&viewfull=1#post127260
I can confirm those results. I have a Teensy 3.2 laying around here currently pulling 20ma at 24mhz running same code that the Teensy 4.0 took a whopping 36ma to run.
I am disappointed and I really want to stick with Teensy because I love Paul's products and, especially, the FreqMeasureMulti library. I guess worst case I will be stuck with T3.5/6, but I was hoping Paul would push the bar for low-power MCU applications with Teensy 4.0.
Is there something we can do to fix this and get the 12ma @ 24mhz power consumption which is indicated in the user manual?
If not, the competition is finally ahead of Teensy. I can report that my Sparkfun Artemis Nano is pulling only 4ma to 5ma when plugged into USB. I assume the sample blink sketch it comes shipped with is the regular 48mhz at which it is advertised. 4.5ma at 48mhz! This blows Teensy 3.5 out of the water, which uses just less than 30ma at 48mhz.
But I don't want to use Sparkfun Artemis Nano with zero libraries or documentation, I want to support Paul and use a Teensy product which is compatible with the FreqMeasureMulti library.
How is the Sparkfun Artemis Nano able to pull 5ma at 48mhz whereas Teensy 4.0 is using 36ma to run a basic sketch at 24mhz?
How can we fix this?
Is there a software solution, or is there some physical component on the Teensy 4.0 which is draining much more current than the processor itself needs or uses?
Long story short: Despite supposing to have WAY BETTER mhz/ma power consumption ratio than Teensy 3.x, my Teensy 4.0 at 24mhz is using almost TWICE THE POWER my Teensy 3.x is running the same code at 24mhz.
I got super excited for Teensy 4.0 because the 600mhz-at-100ma promise means, for my application and for many practical applications, I can get 24mhz at 4ma assuming linear scaling.
According to the NXP datasheet for the worse-1050 (Page 13 here), there should be no more than 7ma usage at 24mhz.
According to this NXP datasheet for the 1060 (Page 26 here), there should be no more than 12ma consumption at 24mhz.
After implementing defragster's kind instructions in this thread on how to set Teensy 4.0 clock speed, I am observing 36ma power consumption at 24mhz (LED on, 33ma without).
In fact, I tested and got the following clock speed / power consumption results:
16mhz/36ma
24mhz/36ma
48mhz/41ma
72mhz/44ma
96mhz/53ma
120mhz/53ma
200mhz/54ma
300mhz/63ma
400mhz/65ma
500mhz/68ma
600mhz/83ma
(NOTE: I was running defragster's code here. Bare empty loop results in slightly higher consumption especially at higher mhz, e.g., 100ma at 600mhz)
What is wrong? This result is incredibly disappointing. Virtually nobody needs 600mhz (just buy an extremely cheap Raspberry Pi Zero if you do), but I have found Teensy 3.5/6 to be THE ULTIMATE best choice for any sort of battery powered real-time constant-on logging/monitoring application. I got my hopes up Teensy 4.0 would advance the bar even further with optimized power consumption, but the results are far worse - not better - than Teensy 3.x
See the graph manitou posted in 2016 here: https://forum.pjrc.com/threads/36241-NXPK66-vs-STM32L4?p=127260&viewfull=1#post127260
I can confirm those results. I have a Teensy 3.2 laying around here currently pulling 20ma at 24mhz running same code that the Teensy 4.0 took a whopping 36ma to run.
I am disappointed and I really want to stick with Teensy because I love Paul's products and, especially, the FreqMeasureMulti library. I guess worst case I will be stuck with T3.5/6, but I was hoping Paul would push the bar for low-power MCU applications with Teensy 4.0.
Is there something we can do to fix this and get the 12ma @ 24mhz power consumption which is indicated in the user manual?
If not, the competition is finally ahead of Teensy. I can report that my Sparkfun Artemis Nano is pulling only 4ma to 5ma when plugged into USB. I assume the sample blink sketch it comes shipped with is the regular 48mhz at which it is advertised. 4.5ma at 48mhz! This blows Teensy 3.5 out of the water, which uses just less than 30ma at 48mhz.
But I don't want to use Sparkfun Artemis Nano with zero libraries or documentation, I want to support Paul and use a Teensy product which is compatible with the FreqMeasureMulti library.
How is the Sparkfun Artemis Nano able to pull 5ma at 48mhz whereas Teensy 4.0 is using 36ma to run a basic sketch at 24mhz?
How can we fix this?
Is there a software solution, or is there some physical component on the Teensy 4.0 which is draining much more current than the processor itself needs or uses?