Does Blink Without Delay Eat Electricity

'tis a wee bit more complex...

  • ESP32 has 2 cores, core_0 and core_1
  • core_0 handles all the RF protocols and services
  • core_1 handles the Arduino user and IDF wrappers for Arduino core.
  • FreeRTOS as a binary file is linked into all Arduino ESP32 projects

So, if you yield() the Arduino core_1, FreeRTOS will service core_0 threads. It is the RF side of things that eat current during transmit; thus stalling core_1 will save on Arduino processing but do nothing for the RF WiFi/BT side of stuff.