Skip to content

A library to drive the RV8803 extremely precise, extremely low power, real-time clock from new ATTINY series that run on MegaTinyCore.

License

Notifications You must be signed in to change notification settings

dattasaurabh82/RV8803Tiny

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RV8803Tiny

A RV8803 RTC i2c based interafcing library for the new 0-series and 1-series ATtiny and ATmega based uCs.

Note: Method implementations are very specific to my use-case for a project. Thus lot of capabilities of the RTC is not implemented as I didn't need them.

Inspiration:

Tested in ATTINY1607 running on megaTinyCore compiled in Arduino IDE 1.8.13. A lot of inspiration and methods were borrowed from Sparkfun's RV8803 Libray.

Background:

I was working on a project where I needed to use a RTC. I needed to use very low power uC (So I stumbled upon the new ATTINY series uCs) in a very small physical footprint. Usual RTC clocks are rather big for my purpose and current consumption metrices, so I stumbled upon RV-8803 RTC, from microcrystal. Upon looking further on the internet, above mentioned, sparkfun library came up in focus. But the library uses wire library under-neath for it's i2C communication for reading and writing, to & from the RTC. The library is okay to be used in typical arduino projects but it is very memory heavy, bulky and not so efficient for my purpos.

So I set to rewrite some of the useful methods from the sparkfun library, replacing wire library parts with custom, more efficient for new ATTINY's I2C needs, the TinyMegaI2C.

NOTE:

  1. I have not implemented all the methods as I do not need them and they will save me memory and thus current. But feel free to extend on it. I will definitely extend the funstions as per needed, in next releases. 🤗
  2. I have tested this library for ATTINY1607, compiled using Arduino IDE 1.8.3. But should work for others in the same series. 😕
  3. Do not forget the PULLUP Resistors on the I2C Bus. They are there for a reason 🤓

Installation:

Prerequisite: TinyMegaI2C

Then it is Standard Arduino Library Installation method:

From Library Manager:

From arduino-cli:

Take a look in the examples to get the ideas about the methods implemented.

HW Connection:

ToDo:

  • Print Date
  • Set Hundredths
  • Timestamp
  • Alarm interrupts
  • Countdown interrupts
  • Periodic Interrupt
  • Fine Tuning RTC.

License:

MIT Licence.md

About

A library to drive the RV8803 extremely precise, extremely low power, real-time clock from new ATTINY series that run on MegaTinyCore.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages