Particle.Core running very hot when using wifi for data

Hi,
I have 12 units (Particle.Core) that are sending one MQTT message every 0.5s to my wifi AP.

I do need the logging granularity since this is a “fast” logging in purpose.

my Core are getting super hot … I did put a small heatsink on the C3300 but it does get very hot, to a point where I’m concerned about lifetime of the device.

is this normal? has anyone tested a fast wifi/http/mqtt continuos messaging before?

I cannot use sleep/deep sleep because the measure is done counting interrupts on a pin and sending the count every 0.5s with an MQTT message.

any help is welcome!
:wink:

Do you really need an update at the remote location twice a second, or can you send something like 60 updates as a burst every 30 seconds?

1 Like

unfortunately I do.

I’m updating a user display, I did many tests and even 1 update every second is perceived as “too much delay” by the user.

any way to reduce the output power for wifi?
distance is 40ft max and I’m using external antenna.

I’m not using the power regulator for the attached 7 segment display, I’m using an external 5v regulator (pololu) that is cold as ice … the issue is really the current for wifi when sending data.

if there is an option or a special firmware for 24.7 wifi streaming please let me know … I find disappointing that we cannot sent an MQTT message every 0.5s without overheating, it is really a “normal” update frequency for real world devices…
:frowning:

reading the datasheet of the c3300 I do see that the numbers are coherent with my measures.

the culprit of the overheating is the wifi module for sure.

for MQTT (or similar on/off messaging) on a short distance (40/50ft) 14dB are way too much.

I’m hoping Particle.Core engineering can provide to the community a “special” fw for the wifi module, or an API (advanced mode) to limit MCS rate and TX power so that we can have use cases like mine solved.

Core (and Photon) are a GREAT product … there is a lot we can do with this little gem and we have a powerful MCU … we can;t be limited by the power-hungry wifi module in our applications!!!

Hi @superslot
Even with continuous transmission, the Core temperature should still remain well under the max limit which tops out at 70C. Did you get a chance to measure the temperature?

To better help understand what’s going on, can you shed some light on the following please:

  1. Do all Cores exhibit the same behaviour?
  2. Is the 5V regulator switch mode? and how long are the power cables leading up to the Core?

In the meantime pining @mdma to see if there is an easy way to reduce TX power on the Core.

Regards,
Mohit

yes … all cores have the same issue …

I do use a small switching regulator POLOLU D24V10F5


the input power is 12v … regulated to 5V from the pololu

I use also a smaller version POLOLU D24V5F5,


with the same issue

temperature is VERY high … I did not measure but I would say it is well above 50C

NOTE: I have the same problem even if I use my laptop USB as a power source,
and I’m quite sure that one is a decent power supply … smooth…

just for my understanding: why a switching power regulator is an issue?
you have a linear power supply onboard.

@superslot, are you powering any devices off the Core’s 3V3 or 3V3* pins and if so, which ones?

mmm ... maybe I'm doing something wrong:
I'm not using any 3v3 outlet at all, I simply feed 5v (from the Pololu regulator ) to the Core pin VIN ... that should be correct, isn't it?

@superslot, that is fine. What I was asking is do you have any sensors or other devices you are powering FROM the Core?

Thanks for the info @superslot

What we are trying to identify here is that if the regulator itself is getting too hot or the CC3000 alone. Things that will drive the regulator hot are noisy (unclean) power sources or too much current draw. Its tricky to say anything without looking at the schematic since you mention all the Cores are getting hot, which is a very unexpected behaviour.

1 Like

so I have 12 Cores doing all exaclty the same simple loop:
count the number of interrupts on a pin (isr routine) and send that count with a MQTT message, sleep 0.5s and loop

for dev I use my usb power … but in reality I use the pololu voltage regulator.

nothing is attached to the core, so I’m quite sure the temperature is coming from the C3300, also because the heatsink is right on the top of it…

I did measure the temperature of the heatsink and here are the results:

  • after 10min: 40C
  • after 1h: 46C

so I guess these numbers are somewhat “safe” but believe me the heatsink is VERY HOT at 46C.

is there a chance someone can replicate my trivial test?

loop(){
sleep 0.5s
send MQTT(count_val)
count_val=0
}

isr(){
count_val++
}

forgot to mention:

the current used by the Core is inline with the specs, either with wifi OFF or ON
I did test the same loop without wifi connection (skipping the MQTT send) and I’m sure the temperature is a lot lower.

the source of heat seems to be the C3300 for sure.

since I’m using external antenna (2dB gain) I think it would be good to have a knob to reduce the output power of the C3300 and save heat/battery too.

hope you guys can find some sort of workaround, because 46C is way too hot … you can’t touch it…

thanks!!

@superslot, when you say “sleep” for 0.5s, what do you mean by that?

opps … sorry I should say “delay 0.5s” no sleep … I never sleep because I need wifi on and cpu on (to count interrupts)

@superslot, the questions remains - Is it the CC3000, the STM32 (underneath the board) or the LDO regulator getting that hot? I suspect it’s the CC3000 but it would make sense to be know for sure.

@superslot, found this on a TI forum:

Q: Is it possible to change the Tx power of CC3000 (increasing) thanks to only changing the code ?

A: It is not possible to increase the Tx power of CC3000 programatically. We don't have any APIs in the SDK to perform this.

Maybe this is a really stupid question… Is this in an enclosure? and if so is it vented? I would need to look at my notes, as I have a temperature sensitive application and needed to ventilate and offset my sensor accordingly, but if you don’t get rid of the watts the electrics are putting off as heat (as in a sealed enclosure) it will get hella hot. Even with a passively ventilated enclosure I am still about 13F above ambient, (this is the core not the photon) Seems like the photon will be somewhat better.

1 Like

Hi Jerome,
this is in a custom enclosure … but since I knew the Core was going “warm” I have a heatsink on the C3300 that comes out.

the enclosure is basically cold … even after a 24.7 test.

the heatsink goes between 40C and 46C

So, I repeat: it is not the onboard regulator, it is not from the (5V) pololu step-down, it is not the ST mcu, it is the wifi chip (or at least whatever is under the metal shield). Having the “exposed” heatsink was a good call … because I can’t imagine the temperature of the enclosure if I did not think about it…

I know we cannot increase the tx power … but on ANY wifi fw there is always an attenuation knob … I’m a little disappointed no one is taking this issue seriously…

beside battery powered applications … wifi TX power is needed only if you are far away from the AP, but for 30ft range … and a 2dB external antenna … we can save both power and temperature and have an excellent API for IoT wifi.


@superslot, it’s not that anyone is not taking this seriously. The issue lies with the CC3000 as I pointed out earlier. There is NO WAY to reduce the transmit power on the CC3000.

no way to attenuate power? ok fair.

but this means there is no way to put a core in a closed box (and there are many applications that do require a closed enclosure … think to outdoor). It should be written as a disclamer: Particle.Core uses 260mA and does get very hot, 45C hot if not more.

I’m sure TI has an API to set the power level BELOW the “default” value (i.e. 14dB for 11.g at MCS15) maybe simply does not expose that.

btw: having the core to overheat so much will also affect wifi performance, because the AP must recalibrate all the time/

Sorry peekay123, I’m just “surprised” we call this IoT … 260mA and 44C is not for IoT, unless you send a message every 5min and shut down wifi in the middle.
:smile:

other than that … like I said … I love it … that is why I did use it.

thanks

1 Like