Jetson Orin Nano RTC Battery Issue: Setup and Troubleshooting
Issue Overview
Users of the Nvidia Jetson Orin Nano development board are experiencing difficulties with the Real-Time Clock (RTC) feature when using a battery connected to the BBAT pin. The specific symptoms include:
- The RTC does not retain the correct time after system reboot
- Running
hwclock -r -f /dev/rtc0
does not return any output hwclock -w -f /dev/rtc1
always reverts to a default time setting (around 1970)- The issue persists despite attempts to modify system configurations
The problem occurs during the setup and operation of the RTC feature, impacting the board’s ability to maintain accurate time when powered off.
Possible Causes
-
Incompatible Battery Configuration: The use of a rechargeable ML1220 battery with an additional charging circuit may be incompatible with the Orin Nano’s BBAT pin design.
-
Incorrect RTC Device Selection: The system may be using the wrong RTC device (/dev/rtc0 or /dev/rtc1) as the default.
-
Kernel Configuration Issues: The kernel’s CONFIG_RTC_HCTOSYS_DEVICE setting may not be correctly configured for the Orin Nano.
-
Udev Rules Misconfiguration: The udev rules may not be properly set to use the correct RTC device.
-
Voltage Level Inconsistency: The BBAT pin voltage may not be maintained within the required range for proper RTC operation.
Troubleshooting Steps, Solutions & Fixes
-
Verify Battery Compatibility
- Remove the charging circuit from the battery setup.
- Test the RTC functionality with a non-rechargeable cell battery.
- Ensure the battery voltage is within the specified range for the BBAT pin.
-
Check BBAT Pin Voltage
- Measure the voltage level at the BBAT pin to confirm it’s within the required range.
- If the voltage is inconsistent or out of range, consider using a different battery or power source.
-
Modify Udev Rules
- Edit the file
/lib/udev/rules.d/50-udev-default.rules
. - Set the default RTC to rtc0.
- Reboot the system and test the RTC functionality.
- Edit the file
-
Kernel Configuration (Advanced)
- Modify the kernel configuration to set CONFIG_RTC_HCTOSYS_DEVICE to rtc0.
- Rebuild the kernel with the new configuration.
- Flash the updated kernel to the Jetson Orin Nano.
-
Test Different RTC Devices
- Try using both
/dev/rtc0
and/dev/rtc1
in your commands:hwclock -r -f /dev/rtc0 hwclock -r -f /dev/rtc1
- Note which device responds correctly, if any.
- Try using both
-
Check System Logs
- Examine system logs for any RTC-related errors:
dmesg | grep rtc journalctl | grep rtc
- Examine system logs for any RTC-related errors:
-
Alternative Solutions
- If the onboard RTC continues to malfunction:
a. Use a non-rechargeable battery and replace it when depleted.
b. Implement an external RTC module compatible with the Jetson Orin Nano.
- If the onboard RTC continues to malfunction:
-
Consult Nvidia Documentation
- Review the latest Jetson Orin Nano documentation for any known issues or updates regarding RTC functionality.
- Check for any available software or firmware updates that might address RTC issues.
-
Community Support
- If the issue persists, consider posting a detailed description of your problem, including all troubleshooting steps taken, on the Nvidia Developer Forums for further assistance.