3

While True in main.py

Also good to know how inserting sleeps does or does not affect any clock cycles and if so by how much.

7
  • 2
    Running a busy loop (or two, presuming one occupies each core) may cause the processor to overheat, although I can't say how real this potential problem is -- since I don't have a pico. I think generally microcontrollers on devices like the arduino are much more resistant to the issue than microprocessors in normal computers; you pretty much have to do something physically wrong with a circuit to overheat an Arduino, dependent on environmental factors of course. But since the pico does have a microprocessor, it may be more sensitive.
    – goldilocks
    Aug 5 at 13:45
  • 2
    That's a concern I have. Tempting to assume as much and adopt mitigating steps. Aside from the potential benefits of introducing sleeps, you have to wonder about those of reducing the clock speed; and by how much. Have a feeling that regular sleeps VS random ones probably matter enough, too.
    – Flood
    Aug 5 at 13:58
  • 3
    The easy way to test this would be to just do it and every 10 or 100 thousand iterations have it report the core temp (and stop before 85°, I dunno if it has circuitry to do that).
    – goldilocks
    Aug 5 at 14:47
  • 2
    I considered this. It does have a built-in temperature sensor. Except that for such a test to be conclusive it would have to be conducted over a considerably long time. Although a cap protection based on temperature, as you mention, would be quite advisable regardless. Seems like an experienced based answer or mathematical formulas could help provide a definitive answer. It's not an easy question but it's not an impossible one either.
    – Flood
    Aug 5 at 15:05
  • 3
    "for such a test to be conclusive it would have to be conducted over a considerably long time" -> If 2 or 3 minutes is a long time. It would not take much longer than that if it was going to happen, and will probably take less. A cranked up processor is essentially like the element on an electric stove or heater. Sans some sort of complicated cooling equipment (which might be overwhelmed more slowly), it is going to get as hot as circumstances dictate pretty much as soon as they do.
    – goldilocks
    Aug 5 at 16:19

2 Answers 2

2

It is damaging - in the sense implied by the Arrhenius equation. The Arrhenius equation is an empirical (observed) relationship between the absolute temperature and the chemical reaction rate. A slightly modified version of the equation has been found to be a fairly reliable predictor of semiconductor reliability (mean time-to-failure), and adopted by the US Federal Government (NIST) and JEDEC - an industry standards group. In brief summary: electronic components have been observed to fail more frequently at higher temperatures.

2

Running code will not wear it out. Depending on how much the CPU is doing will cause it to dissipate heat which if not controlled will cause it to fail. It Would be the heat not the code. I would consider looking up the thermal resistance between the die junction and the case TJC then measure the current and voltage you can calculate how hot it will get after you factor in any heat sinking including air flow and the ambient temperature. This is not a simple process. Also looking at the data sheet you can find the maximum temperature it is rated for. Here is a good explanation of what is going on: "https://www.rohm.com/electronics-basics/transistors/calculating-transistor-temperature"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.