Whatever happened to the Sunrise library?


The SunRise library was very basic, with just a couple of functions. Soon after its release, email began to arrive requesting additional features.

In response, the TimeLord library was developed and released in 2009. TimeLord included all the features of SunRise (and more), so we deprecated SunRise and encouraged new code to use TimeLord instead, warning that development of Sunrise had ceased, and it would eventually pass on to that great bit-bucket in the sky.

Whatever happened to the TimeLord library?


During development of TimeLord, as well as many other projects, we were hampered by the lack of C standard time functions in AVR-Libc. We had looked around and found several partial implementations, but nobody had a full, standards conforming, avr compatible time library. So... we came to the realization we would need to roll our own.

The result was Time32. Time32 had all the functionality of TimeLord, and more. We therefore deprecated TimeLord, warning that development of TimeLord had ceased, and it would eventually pass on to that great bit-bucket in the sky.

Whatever happened to Time32?


Time32 was developed as a supplement to AVR-Libc. It was not an official part of avr-libc, it was designed as an 'add on'. After its release, we were asked about porting Time32 to be an official component of AVR-Libc.

In August of 2014, AVR-Libc version 1.8.1 was released. It incorporates all the functionality of Time32. We therefore deprecated Time32, warning that development of Time32 had ceased, and it would eventually pass on to that great bit-bucket in the sky.

AVR-Libc 'ephemeral' functions
In addition to all the C standard <time.h> functions, AVR-Libc provides the following functions related to the Sun and Moon...

Using these basis functions it is possible to derive almost any Solar, Lunar, or Stellar information. Check out Check out 'Stupid Time Tricks' for tutorials on how to derive the position of the sun and stars and moon, among others applications of AVR-Libc.

But Arduino doesn't use version 1.8.1 of AVR-Libc!


The current version of Arduino ( as of this writing ) uses a version of AVR-Libc older than 1.8.1. While it is possible to upgrade yourself, the procedure is rather involved. Therefore, we provide upgraded Arduino Installations. If you want to know how to do the upgrade yourself, just send an email to the address listed at the bottom of the page.

Is there an easy way to convert code from TimeLord?


Yes. Their usage is similar.

With TimeLord, you passed a timestamp to a function.
Now, you pass a timestamp to a function.

The functions are similarly named and have a similar purpose.

The most often made mistakes have to do with struct tm...



Questions and comments can be sent to