Heat generated by an Teensy 3.6 ?

Status
Not open for further replies.

mcc

Well-known member
Hi,

unfortunately I dont own any surface thermometer or such alike...

When clocking my Teensy 3.6 with 180MHz it gets 'quite warm' (I know,
that's not very scientific, sorry). The MCU is still touchable without
hurting oneself but it is quite noticeable and above body temperature.
Its running the WavePlayerUSB (which does not work for me, but that
is another story)...
The SDcard is ok and the files are readable by the Teensy 3.6.

Is this normal? How much is too much?

Thanks for any help in advance!
Cheers!
Meino
 
I have a Teensy 3.6 running at 240 MHz (overclock) acquiring realtime video from a camera and storing it on a microSD (using the onboard microSD slot).

It never warms up noticeably (maybe 40-45C), and that's powering the Teensy from USB and powering the camera from the Teensy 3.3V pin (thus the onboard regulator is doing some work!).

How are you powering the Teensy? Are you sure it's the chip which is warming up, and not the onboard regulator?

Any chance you have an unwanted high current path going through some pins?
Teensy pins can only source/sink a few milliamps (10, maybe? Can't remember exactly).
 
Normal operating temp is 95°F to maybe 105. If you can comfortably touch it is it under 115°F.

The on chip temp reading will likely indicate higher as it is point source inside - not spread out to PCB and case. But is a way to find out a measured value.
 
Hi Chris,

oh! Didn'T know that... :)
Will try to take measurements that way! Nice! :)

Hi Xfer,

I am running my Teensy standalone...so there are no further connections
than the USB-cable, which powers the board.

I am a little concerned...

Cheers!
Meino
 
Hi WMXZ,

Would add: check also all pin connections for hair bridges

Hrmrmmm.....WHAT? :)

Should I check the ball grid under the MCU or...the rest of the board is unsoldered. No
headers...nothing. I received my board a few dayy ago...still testing and exploring the
thing of wonder... :)

Cheers!
Meino
 
Normal operating temp is 95°F to maybe 105. If you can comfortably touch it is it under 115°F.

The on chip temp reading will likely indicate higher as it is point source inside - not spread out to PCB and case. But is a way to find out a measured value.

Hi defragster,

Thanks a lot - that helps!
For those in Celsius-land :)
95°F => 35°C
105°F => 41°C
115°F=>46°C
(values rounded)

Cheers!
Meino
 
Yes, reasonable values.

Higher temps are suspicious, in your situation (no peripherals, etc.).

Just to be clear, the ARM chip itself can still operate safely at much higher temps (up to 85 C while still maintaining correct behavior and I think up to 105 C before breaking up, but I would be very worried over 70 C!), but in my experience a correctly working Teensy runs quite cool, so a high temp is suspicious.
 
Hi WMXZ,

sorry for that blurb...
It was the result of a non valid mishmash of the "no-native-speaker"- and "no-coffee"- syndrom.

I meant: There are currently no headers soldered to the board. I received the board a few day ago only.
The headers (special low profile ones...3.5mm height) are ordered an will arrive soon hopefully.
Since there is nothing soldered, the chance of a shortcuit introduced while soldering the headers isn't there.

Cheers!
Meino
 
Last edited:
Hi,

I did an experiment:
I changed the clock speed to 24MHz instead of 180MHz.
The idea here was: If it is a shortcircuit of some kind, the heat generation would
be independant of clock speeds and the MCU would still get warm.

But (fortunately) the MCU now works a LOT cooler.
So...would this conclusion be valid:
"The warmth, the MCU creates when running at 180MHz, is a result of the speed
not the result of any current path on the board, which is invalid."

?

What do you think?
Cheers!
Meino
 
At this point, I think a proper temperature measurement with the indicated library is needed, so we can compare our readings in the same conditions.
 
Indeed - getting an external 'non-subjective' reading of the temp - even in Celsius :), or an absolute internal temp reading from the processor temp sensor library would be best.

Given the results at 24 MHz - a good test - the temp observed is most likely just normal heat from running that will be at or above finger equivalent temp.
 
By the way, the library documentation shows that the measured internal temperature of the 3.6 running at 180 MHz is 35 C.
So at the touch should be cool (external package temp should be a few degrees lower than internal chip temperature).

Since you are running an audio player, temp could go up a bit, but I would not expect a hot chip, for sure.
 
I don't have a spare 3.6 at the moment.
My results with Teensy 3.2:

Room temperature: 21 C (70 F)
Teensy connected via USB. Serial monitor active
Temps after 10 minutes of running "SimpleCelsius" example sketch, uncalibrated (+/- 2 C error expected)

Teensy 3.2#1
------------
24 MHz
25.0 C (77.0 F)

48 MHz
27.9 C (82.2 F)

72 MHz
29.2 C (84.6 F)

120 MHz
32.2 C (90.0 F)


Teensy 3.2#2
------------
24 MHz
26.4 C (79.5 F)

48 MHz
29.3 C (84.7 F)

72 MHz
30.6 C (87.1 F)

120 MHz
33.8 C (92.8 F)


At 33.8 C, the second Teensy at 120 MHz feels just barely warm to the touch
 
At this point, I think a proper temperature measurement with the indicated library is needed, so we can compare our readings in the same conditions.

...if I only would get this InternalTemperature-library to compile...
It says:
/home/user/Arduino/libraries/InternalTemperature/InternalTemperature.cpp:26:21: fatal error: arduino.h: No such file or directory
compilation terminated.
Error compiling for board Teensy 3.6.
It seems to be compatible to an older version of the IDE...

Cheers!
Meino
 
Hi,

ok...stupid me. I edited the source and changed "arduino.h" to "Arduino.h" in the source of the library.

I noticed, that the internal temperature depends on the orientation of the board.
Mine stays on the longer rim/edge of the board. The normal on the surface of the MCU is in parallel to the surface of my desk.
The ambient temperature is about 24°C (guessed, no thermometer available).
The uncalibrated library prints
At 72MHz:
32.8°C(91.04°F)
At 120MHz:
35.6°C (96°F)
At 180MHz:
41.0°C(105°F)
Optimization was set to "Fast".

Cheers!
Meino
 
I compiled it without issues, but I did not upgrade to 1.8.9/1.46; still running Arduino IDE 1.8.8 + Teensyduino 1.45
 
Hi,

no, sorry...I first posted a switched parameter/value pair ;)
I corrected that (may in the moment you read the first version of my post).
Compilation is also fixed.
 
I cant seem to get this library to compile :S

Archiving built core (caching) in: C:\Users\DynoDev\AppData\Local\Temp\arduino_cache_34673\core\core_teensy_avr_teensy31_usb_serial,speed_96,opt_o2std,keys_en-us_67b8d88b88d5329636ed50d11facd619.a
C:\Users\AppData\Local\Temp\arduino_build_88153\sketch\TempRead2.ino.cpp.o: In function `setup':

C:\Users\Documents\Arduino\TempRead2/TempRead2.ino:11: undefined reference to `InternalTemperature::begin(int)'

C:\Users\AppData\Local\Temp\arduino_build_88153\sketch\TempRead2.ino.cpp.o: In function `loop':

C:\Users\Documents\Arduino\TempRead2/TempRead2.ino:20: undefined reference to `InternalTemperature::readTemperatureC()'

C:\Users\AppData\Local\Temp\arduino_build_88153\sketch\TempRead2.ino.cpp.o: In function `_GLOBAL__sub_I_Temperature':

C:\Users\DynoDev\Documents\Arduino\TempRead2/TempRead2.ino:7: undefined reference to `InternalTemperature::InternalTemperature()'

collect2.exe: error: ld returned 1 exit status

Error compiling for board Teensy 3.2 / 3.1.
 
Hi Gadget999,

it may depend on the version of the Arduino IDE you use. I am using Arduino 1.8.9. the newest version.

What I did to let it compile without problems was (using Linux - the paths may be different on Windows)

1.) Create directory $HOME/Arduino/libraries/InternalTemperature/
the "$HOME/Arduino/libraries/" should already exist.
2.) Into that directory put the files:
InternalTemperature.cpp
InternalTemperature.h
InternalTemperature.odt
InternalTemperature.pdf
README.md
3.) Also put the directory "examples" from the zip into that directory
4.) Load the file "simpleCelsius.ino" into the IDE change something uniportant
and the save the sketch at the place you would normally save your patches.
6) Compile... :)

Fingers crossed ! Good luck !
Cheers!
Meino
 
Hi Gadget999,

it may depend on the version of the Arduino IDE you use. I am using Arduino 1.8.9. the newest version.

What I did to let it compile without problems was (using Linux - the paths may be different on Windows)

1.) Create directory $HOME/Arduino/libraries/InternalTemperature/
the "$HOME/Arduino/libraries/" should already exist.
2.) Into that directory put the files:
InternalTemperature.cpp
InternalTemperature.h
InternalTemperature.odt
InternalTemperature.pdf
README.md
3.) Also put the directory "examples" from the zip into that directory
4.) Load the file "simpleCelsius.ino" into the IDE change something uniportant
and the save the sketch at the place you would normally save your patches.
6) Compile... :)

Fingers crossed ! Good luck !
Cheers!
Meino

the files got corrupted with xml information when i downloaded them !

all sorted
 
Status
Not open for further replies.
Back
Top