Skip to content

brabl2/delayIdle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

delayIdle
=============
A low-power delay for Arduino

Using the delayIdle() function most common AVR chips consume approx. 1/2 of the power
when compared to the original Arduino delay() function.
  ATmega328p@8MHz@5V   : delay() =13.5mA   delayIdle() = 8mA
  ATmega328p@[email protected] : delay() = 3.7mA   delayIdle() = 1.4mA
  ATmega328p@[email protected] : delay() = 1.2mA   delayIdle() = 0.5mA
  ATtiny85  @1MHz@5V   : delay() = 3.2mA   delayIdle() = 2.5mA
Putting the CPU to SLEEP_MODE_IDLE causes some inaccuracy in the time when the CPU returns from the delayIdle() function,
however in most cases the small inaccuracy is acceptable.
The inaccuracy depends mostly on TIMER0 overflow, which depends on CPU frequency : 1ms @ 16MHz, 2ms @ 8MHz, 16ms @ 1MHz

About

A low-power delay for Arduino

Resources

License

Stars

Watchers

Forks

Releases

No releases published