ADI Ultra-Low-Power RTC with Integrated Power Switch

Table of contents

RoadTest: Enroll to Review the ADI Ultra-Low-Power RTC with Integrated Power Switch

Author: amgalbu

Creation date:

Evaluation Type: Evaluation Boards

Did you receive all parts the manufacturer stated would be included in the package?: False

What other parts do you consider comparable to this product?: NXP PCA8506, STMicro M41T62

What were the biggest problems encountered?: Firmware not installed, unable to find the evaluation kit software on the Maxim website

Detailed Review:

In this post, I am roadtesting the MAX31334SHLD, a shield to evaluate the MAX31334 Ultra-low-power RTC chip

The MAX31334 ultra-low-power, real-time clock (RTC) is a time-keeping device that consumes only 70nA timekeeping current. It features an integrated high-side power pass switch that enables ultra-low-power idle modes on duty-cycled applications by disconnecting power to other devices on the system. The power switch on/off durations can be controlled by periodic interrupt sources such as countdown timer (programmable from 100ms to 1hr) and alarms (1s resolution). The power switch can also be controlled by an external interrupt (from a pushbutton, for example) on the DIN pin. This device is accessed through an I2C serial interface. An integrated power-on reset function ensures deterministic default register status upon power-up. The device also features a backup supply pin (VBAT) and automatically switches over to this supply when the main supply (VCC) drops below the programmed threshold voltage. Other features include two time-of-day alarms, interrupt outputs, a programmable square-wave output, event detection input with timestamping (32-byte timestamp registers double as RAM storage), a serial bus timeout mechanism. The digital Schmitt trigger input (DIN) can also be used to record timestamps and/or assert an interrupt on a falling/rising edge of the DIN signal. The clock/calendar provides seconds, minutes, hours, day, date, month, and year information. A 1/128 seconds register is available for a sub-second timestamp resolution. The date at the end of the month is automatically adjusted for months with fewer than 31 days, including corrections for leap year. The clock operates in 24- hour/12-hour format. 

1. Unboxing

Here is a video of the unboxing of the evaluation kit.

According to the roadtest documents, the content of the kit should include a micro-USB cable to connect the MAX32625PICO I2C circuit board to a PC, but in my case this item was not present

The board looks well engineered. It has been designed to host the two different packages of the MAX31334. U1 is for the WLP version (and is mounted on my evkit), whereas U2 is for the 12-FDN version


It features a lot of test points, which is good when you are evaluating the functionalities of a new device. The available test points are

  • TP3: connects to MAX31334's INTA/CLKIN pin
  • TP5: allows you to power the MAX31334 from an external power supply. This is very useful to test how power management works
  • TP1: connects to MAX31334's INTB/CLKOUT pin
  • TP2: allows you to bypass the supercapacitor and simulate battery voltage through an external power supply. Again, this is very useful to test how power management works
  • TP10: connects to MAX31334's PSW pin of U1
  • TP13: connects to MAX31334's PSW pin of U2

2. Getting started

First, I download the userguide from this link and I followed the "Procedure" section in page 1. Let's go through each single step

  1. Place the MAX31334 EV kit on a nonconductive surface to ensure that nothing on the PCB gets shorted to the workspace. Ok, this is easy
  2. Set the jumpers to their default positions as shown in Table 1 to test the WLP package variant (U1) of MAX31334. This was not difficult, but a little bit tedious because there are quite a few jumpers on this evaluation kit and it's not easy to identify each of them (sometimes the silk-screen prints are not perfectly readable and are partially hidden by other components). The high number of jumpers is because the evkit supports two package formats of the MAX31334. In my kit, the WLP version was mounted. There is also the place for the 12-TDFN version 
  3. With the output of the power supply set to +3.0V and disabled, connect the positive terminal of the DC supply to VCC_EXT and the negative terminal to the GND of the EV kit. This is an easy task, but the usefulness of this step is not obvious. I mean, the evaluation kit has a jumper to select the power source (JU4)
    so, why not avoid the tedious task of connecting an external power supply and make the first tests with the "internal" power supply?
  4. Connect the MAX32625PICO I2C circuit board to the EV kit at its location (Figure 1). Another easy task: my evaluation kit was already assembled
  5. Connect the micro-USB cable between the MAX32625PICO board and PC/laptop. An apparently easy task... Actually my MAX32625PICO board was not programmed, so it was not even detect as a Serial port by my Windows PC. I contacted the ADI technical support and, after a few mails, I finally got the correct firmware (kudos to Igor Ono). To flash the firmware, I pressed the reset button on the MAX32625PICO board during the board's power up and copied the bin file to the disk identified as  "MAINTENANCE" by my Windows PC
  6. Enable the +3.0V DC power supply 
  7. Click on the Design and Development tab on the product folder page to download the latest version of the MAX31334 real-time clock EV kit software, then run the control software: another apparently easy task... actually I was not able to find the software mentioned in the userguide, and the link in the userguide itself was not working. Again, kudos to ADI technical support (in particular to Igor Ono)
  8. Open the MAX31334 real-time clock EV kit software; this displays the MAX31334 Real-Time Clock EV Kit Software Monitor page and shows “USB Connected” in the lower right corner. Ok, fine
  9. Verify that the clock has started counting by checking the “Auto Update” box under Real Time Monitoring. Accomplished
  10. Configure the desired date and time in the Date/Time Configuration section and click the SET button to update it in the Real Time Monitoring section. Accomplished

After the initial issues related to firmware and PC application, the experience was absolutely smooth: the GUI is clean and easy to use. Configuration parameters are grouped logically and are easy to find 

3. Test procedure

After becoming familiar with the GUI, I went through some functional tests

3.1 Setting the clock

To set the clock, you need to enter proper values in the "Date/Time configuration" section and click "Set"


You can now enable "Autoupdate" to see the RTC's date&time in realtime


The problem is that date&time is lost when you disconnect the evkit from USB... which is something you do not expect from an RTC. The problem is the supercapacitor is not charged and the charger is disabled! Trickle charger has a maximum charging current of


If VBAT=0 and VD=0, the maximum current is 3V / 3 kOhm = 1 mA. To charge the 0.33F supercapacitor mounted on the evkit, it will 0.33F * 3V / 0.001 A = 990 s, which means about 16 minutes. I enabled the trickle charger in the "Power management" tab and waited about half an hour before proceeding.

3.2 Clock output measurement

I enabled CLKOUT bit to measure the accuracy of the clock at different frequencies


The oscilloscope probe has been connected to TP1.


The accuracy was quite good out-of-the-box (datasheet states that MAX31334 is factory trimmed to a precision of 10 ppm). If you can eventually compensate for crystal inaccuracy by writing two specific registers (OFFSET_HIGH and OFFSET_LOW)

image image

image  image

3.3 Alarm interrupt

MAX31334 has plenty of options for generating timed interrupts. I tested the "Match second" option, where an interrupt is risen when the current time's seconds match a programmed value. The INTB/ output goes low when interrupt occurs and goes back to high when the interrupt is reset. Interrupt may be reset by reading the status register or automatically after a certain programmable time. INTB/ status can be monitored by connecting a probe to TP1

3.4 Timer interrupt

An interrupt can also be generated after a certain amount of time elapses. Timer can be auto-reloaded to generate recurring events at a fixed frequency. INTA/ status can be monitored by connecting a probe to TP3

NOTE: you need to move jumper JU6 to position 1-4. By default, this jumper is in the position 1-3 


3.5 Timestamps

On the "TimeStamp" tab in the TimeStamp Configuration section, click on the "TimeStamp Enable" toggle button to enable the TimeStamp Mode. Any of the three TimeStamp event log conditions can be configured by toggling the respective event enable toggle buttons in the Record TimeStamp on section. The TimeStamps sub tab displays the exact time of four consecutive event logs with appropriate event flag. The TimeStamp Overwrite toggle button can be used to log the first four events or the last four events. Using the RESET button clears all the four TimeStamp Registers. 

I tested timestamps with the "DIN transition". According to the datasheet, this option should "Record Timestamp on DIN transition. Polarity controlled by DIP bitfield in RTC_Config1 register". So I would expect that a new timestamp is recorded every time I press the SW1 button. Actually, a new timestamp is recorder every two presses!

NOTE: you need to move jumper J11 to position 1-3. By default, this jumper is in the position 1-2. This jumper is not documented in the getting started guide, so I had to refer to the schematics!


3.6 Power switch

MAX3133's has a PSW that can switch on an external load. External load can absorb up to 500 mA. This is an interesting feature because you can easily create low-power devices


MAX3133's devices power management is quite complex. Here is the state machine that controls  the PSW pin


3.7 Power management

I tested the power management by connecting an external power supply to the VCC_EXT test point and diminished the voltage to check when the MAX31334 switches to battery. 

BTW, the datasheet talks about a bit (D_VBAT_SEL) should enable a sort of battery test mode, but I can't find this bit nowhere


4 Conclusions

Except for the initial issues (which may be limited to the sample that was shipped to me), the overall experience is quite good. The GUI is extremely easy to use and let you experiment with all the available options with no effort. I would like to suggest just some possible improvements/caveats.

  • It would be very nice to have, for each option in the GUI, a tooltip that displays the corresponding register and bit that option refers to. When you change an option, you can see a line in the log in the bottom pane that shows the value and a mnemonic of the register that is going to be written, but you need to refer to the datasheet to go back from the value to the meaning of each bit
  • it would also be nice to have a function that export the list of registers and the corresponding values to set to get the configuration you created in the GUI
  • I found a bit in the GUI that is not documented in the datasheet. The "Data retention" option writes bit 2 of CONFIG1 register, as you can deduce from the logimage
    ... but, according to datasheet, bit 2 is not used
    BTW, this option stops the clock (OSF is the Oscillator Stop Flag)