RTC DS3231 not showing correct date and time with arduino pro mini 3v3

//Code I am using
#include "RTClib.h"

RTC_DS3231 rtc;

char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};

void setup () {
Serial.begin(57600);

#ifndef ESP8266
while (!Serial); // wait for serial port to connect. Needed for native USB
#endif

if (! rtc.begin()) {
Serial.println("Couldn't find RTC");
Serial.flush();
while (1) delay(10);
}

if (rtc.lostPower()) {
Serial.println("RTC lost power, let's set the time!");
// When time needs to be set on a new device, or after a power loss, the
// following line sets the RTC to the date & time this sketch was compiled
rtc.adjust(DateTime(F(DATE), F(TIME)));
// This line sets the RTC with an explicit date & time, for example to set
// January 21, 2014 at 3am you would call:
// rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
}

// When time needs to be re-set on a previously configured device, the
// following line sets the RTC to the date & time this sketch was compiled
// rtc.adjust(DateTime(F(DATE), F(TIME)));
// This line sets the RTC with an explicit date & time, for example to set
// January 21, 2014 at 3am you would call:
// rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
}

void loop () {
DateTime now = rtc.now();

Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(" (");
Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
Serial.print(") ");
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();

Serial.print(" since midnight 1/1/1970 = ");
Serial.print(now.unixtime());
Serial.print("s = ");
Serial.print(now.unixtime() / 86400L);
Serial.println("d");

// calculate a date which is 7 days, 12 hours, 30 minutes, 6 seconds into the future
DateTime future (now + TimeSpan(7,12,30,6));

Serial.print(" now + 7d + 12h + 30m + 6s: ");
Serial.print(future.year(), DEC);
Serial.print('/');
Serial.print(future.month(), DEC);
Serial.print('/');
Serial.print(future.day(), DEC);
Serial.print(' ');
Serial.print(future.hour(), DEC);
Serial.print(':');
Serial.print(future.minute(), DEC);
Serial.print(':');
Serial.print(future.second(), DEC);
Serial.println();

Serial.print("Temperature: ");
Serial.print(rtc.getTemperature());
Serial.println(" C");

Serial.println();
delay(3000);

}

Have you checked the coin cell battery? Is it giving 3V perfectly?

No its giving around 2.6V.. Does it matter while its connected to arduino??

It matters how it's connected. Please post a diagram. To answer your question, the DS3231 will work from Vcc just fine without a battery. It just won't retain the time when power is removed.

I connected in Arduino uno and it was working fine but showing random time in pro mini regardless of library

That's too bad. You have my sympathy. Did you want some help with that?

1 Like

yes please

Then post a diagram.

1 Like

well design is on PCB but VCC, ground, scl to a5 and sda to a4

Best diagram ever. Not.

my bad

If it's on a PCB you may have a PCB routing or wiring error. What PCB troubleshooting have you done? You said Pro Mini - is this PCB a piggyback board (Arduino plugs into it)?

You really need to read the forum instructions about how to post enough information to solve a problem...

Already, I can see that we should have a complete view of your hardware, each time I ask you post a few sentences instead. That will not get you anywhere.

its showing correct day month but year is stuck at 2020 and for time its giving wrong time and second transits bron 1 to 5 randomly with same hour and minute\

...with what code? You see, we need all the details.

You posted code without code tags. Go back and you will see that the forum software can't display properly without that.

Try uploading an RTC library sketch instead of your own.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.