Why is current specification in IMP003 datasheet removed?

I find IMP003 datasheet unclear regarding the current. Previously the datasheet specified: Normal operation, WiFi power-save mode enabled typ 8mA, max 250mA. In the latest datasheet that current is no longer specified. Why?

Can you share the expected current of IMP in these states?

  1. IMP is sleeping
  2. IMP is awake but not active and not connected to wifi
  3. IMP is awake, super active, but not connected to wifi
  4. IMP is connecting to wifi
  5. IMP is connected to wifi and power save enabled
  6. IMP is connected to wifi and power save disabled

We measure most of those numbers on an automated test rig for every software build (and several times each night, now over 10,000 runs total). For imp003 the answers are:

  1. in deep sleep, too low to easily measure but chip vendor quotes 4uA
    2a. with blink-up off, about 4.5mA but with a surprising amount of temperature variance (+/-1mA between summer and winter) which may or may not be an artifact of our test rig
    2b. with blink-up on, about 25mA
  2. about 50mA
  3. (we don’t directly measure this, but during active transmit you can average 80mA with spikes even higher)
  4. about 10mA average but with regular spikes above that
  5. about 65mA


Note on 2: Peter’s numbers are for completely idle Squirrel with no peripherals configured. Once you configure UART, Sampler, FFD or PWMs then impOS can’t drop the clocks. I’m not 100% on SPI and I2C but they may also affect power.

Note on 5 and 6: There is also a significant amount of variance based on how much broadcast traffic is on the network since the imp has to process each of these to see if it is important. I would expect Peter’s numbers are near-best-case and that chatty networks would be higher power.

Well that’s right, it’s best to view those figures as lower bounds – there could be many reasons for not quite getting that low. For the record on clock-locking, currently the clocks are locked high during the following times:

  1. when a UART is configured for receive (i.e. not NO_RX)
  2. when a NO_RX UART is actively transmitting
  3. when a SPI or I2C is actively reading or writing
  4. when the sampler or FFD is running
  5. when a PWM is configured
  6. when Squirrel code is executing
  7. when blink-up is enabled
That last one means that much of the 20mA difference between my quoted 2a and 2b numbers is due to the clock-locking -- it's not all drawn by the LEDs.


Thanks for your comments. It is very useful input. I learned that current is a bit more complicated and that modeling the battery lifetime of our product must be based on actually measured currents.