How to add a correct battery for RTC on Jetson Nano

Hi,

we would like to add a backup battery for the RTC clock for the Jetson Nano Devkit. According to

http://www.realtimes.cn/?m=common&a=down&id=13

the J45 mark can be used for that purpose. However, on page 12 it states

An optional back up battery can be attached to the PMIC_BBAT module input. It is used to maintain the RTC voltage when VDD_IN is not present. This pin is connected directly to the onboard PMIC. When a backup cell is connected to the PMIC, the RTC will retain its contents and can be configured to charge the backup cell. The following backup cells may be attached to the PMIC_BBAT pin:

· Super Capacitor (gold cap, double layer electrolytic)

· Standard capacitors (tantalum)

· Rechargeable Lithium Manganese cells
The backup cells MUST provide a voltage in the range 2.5V to 3.5V. These will be charged with a constant current (CC), constant voltage (CV) charger that can be configured between 2.5V and 3.5V CV output and 50uA to 800uA CC.

We have the following questions:

  1.   Can we use a non-rechargeable CR1225/BR1225 cell battery like https://www.amazon.de/dp/B0042KHKCA ? So far we were unable to find a rechargeable CR1225/BR1225 cell battery.
    
  2.   Can we use power sources that supply 3.6 volts?
    
  3.   What are actual products that satisfies these properties? We would like to buy such.
    
  4.   What does "can be configured" in "charger that can be configured between 2.5V and 3.5V CV output and 50uA to 800uA CC" exactly mean? Is this done in software?
    

Best regards from Berlin!

Gfast2

Hi, as you said the options of backup cells are listed as below, please follow that, we don’t recommend other type cell/supply even though you are free to try.

The charging setting can be configured by sw.

· Super Capacitor (gold cap, double layer electrolytic)

· Standard capacitors (tantalum)

· Rechargeable Lithium Manganese cells
The backup cells MUST provide a voltage in the range 2.5V to 3.5V. These will be charged with a constant current (CC), constant voltage (CV) charger that can be configured between 2.5V and 3.5V CV output and 50uA to 800uA CC.

Is there a concrete recommendation for this port?

(We only find a battery holder for BR1225/CR1225 Cell Battery for the solderpad on nano)

@Trumany:

Can you please help and provide more details:

Q1)Provide a link/information regarding the J45 / RTC Battery

Q2)How to configure the RTC battery charging options. Please post the script command or link.

Q3)By the default is the charging active ?

Q4)Is it safe to connect a non rechargeable battery to the 2 pins in the Nano or requires additional configuration Q3 ?

No.

Here’s an example of a small supercap (you’d have to finnagle the pins to the footprint): https://www.digikey.com/product-detail/en/kemet/FYL0H473ZF/399-10792-ND/4290858

Here’s a 1220 sized rechargeable cell that doesn’t exceed the voltage:
https://amzn.to/2N6JGPQ
(Note that this size is called ML1220 instead of CR1220 when it’s rechargeable)

Also, 1220 batteries fit in 1225 holders, but not vice versa.

@Snarky,

Thanks for the information. That helps!

Regarding the software configuration settings do you any idea where to look ?

Can someone guide in the right direction, about connecting the cell holder on the board? Would really appreciate.

+1 for understanding the software side as well, please guide @nvidia

If you need guidance for doing this, it’s not a thing you should do.

Also, if you can’t afford to lose a board if you do it wrong, it’s not something you should do.

If your device can’t be connected to a network and use NTP, and if you need a real-time clock, then you should get an I2C real-time clock module with battery backup, and configure the systemd time sync/hwclock scripts to use that on boot. Hook it up to the I2C bus on the 40-pin GPIO connector.

I remember going through this on the Raspberry Pi, and it required some tracking down of which configuration files configured what parts of the process – given that nobody has written this down for Nano, you’d need to do some investigation youself here, too. If you’re not familiar with Linux system administration, it may require a fair amount of effort to learn about systemd boot, boot scripts, real-time clock kernel modules, and the hwclock infrastructure to get where you want to go.

So in one word:
It’s not easy to do the configuration, and it’s even not easy to describe how to tweak the configuration, right?

Thanks for the response, @snarky.

I’m more on the software side, and decent with Linux administration. I’ve setup NTP and that is working fine. The problem is, in some situations our device and application needs to work without internet. Obviously the timing is all wrong at that point without the RTC, and messes up few things.

My question was about actually installing the battery holder on to the board - I couldn’t find any guidance on what each point in the J45 section stands for (+,-,gnd?). Maybe this is pretty obvious to a hardware person. I obviously don’t want to fry the box, so please advise if it’s wise to try connecting the battery holder using wires to the correct points on the board (which hopefully someone can point out), and later get the battery holder soldered to the board?

See the other thread. Assuming you can load the right module, “systemctl enable hwclock.service” should be sufficient.
By default, it’s masked on the Nano install.

I’m sorry, which other thread are you referring to? Can you share the link here?
(I could find only battery product-links in this thread)

I have the same question, to which pins should i connect the battery?

Pin 1 & 3 of J45 for + pole of backup battery, pin 2 for - pole.

Hello everyone,
I have written a little tutorial on how to activate the Real Time Clock which is built directly into the Jetson Nano.

You can find the manual here on my blog:
NVIDIA Jetson Nano Real Time Clock (RTC) – Part 1
NVIDIA Jetson Nano Real Time Clock (RTC) – Part 2

Hello everyone.

I am trying to setup the RTC with a CR1225 battery, following Ingmar tutorials but the RTC resets every time I power off the board.

I checked the voltage between the (+) in the battery and GND in the board and it is 3.3V, so I assume the battery holder is correctly soldered to the board and the battery should provide the necessary voltage.

After updating the clock with the Internet connection I get the following output from timedatectl:
Local time: mar 2020-06-23 15:52:55 CEST
Universal time: mar 2020-06-23 13:52:55 UTC
RTC time: mar 2020-06-23 13:52:55
Time zone: Europe/Madrid (CEST, +0200)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no

I think it is OK, but when I shutdown the system, wait for 5 minutes (current time is 15:58:00) and boot without Internet connection, I get the following output from timedatectl:
Local time: mar 2020-06-23 15:54:07 CEST
Universal time: mar 2020-06-23 13:54:07 UTC
RTC time: sáb 2000-01-01 01:01:19
Time zone: Europe/Madrid (CEST, +0200)
System clock synchronized: no
systemd-timesyncd.service active: yes
RTC in local TZ: no

As you can realize, RTC time resets to year 2000.

Do you have any idea on what am I doing wrong? Thanks in advance

System description:
Jetson Nano Developer Kit 945-13450-0000-100
L4T 32.3.1. Ubuntu 18.04