So i got a bunch of these RTC module for cheap from china. Ive used sparkfun modules before without issue, but ive been having some inconsistencies using these cheap modules.
I could upload a time to the DS1307 and connect via I2C to the module (using RTClib library); however, the module would either not report back a time or it would report back the same time from the last power down. My first though was that the battery was dead, but no its fine. After figuratively banging my head against the wall for a few hours, I realized that the oscillator crystal was loose from its solder pad.
Upon grounding the case of the oscillator with a jumper wire,
time was stored and progressed as would be expected of an RTC. Im no electronics expert, but I thought that grounding the case of an oscillator was not required. I thought it was just a good idea? Why would this cause the RTC to not march forward in time when 5v power is lost?