Nordic nPM1300 EK Power Management IC - RoadTest Review

Table of contents

RoadTest: Enroll to Review the Nordic nPM1300 Power Management IC Eval Kit

Author: parthsanepara

Creation date:

Evaluation Type: Development Boards & Tools

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

What other parts do you consider comparable to this product?: In market Several silicon vendors provide PMICs, such as Microchip, TI, STM, Analog Devices, NXP, etc.,

What were the biggest problems encountered?: The first problem was finding the right battery connector; fortunately, I found it in the local market. Second, I noticed that the PMIC configuration tools had a variety of battery profiles built in. But I do not have the correct part of the battery. For other markets, available batteries must be profiled in the tool. This requires a nPM-FG board. That is not included with the road test kit. I contacted the regional sales team, who provided me with nPM - FG board for this test (in India, the Nordic Semiconductor FAE team is extremely helpful and supportive).

Detailed Review:

Unboxing

I received a courier on January 17, 2024. I'm quite excited to open the box for my first road test review. Packaging is normal, with a large hardcover box inside a Nordic standard box. The packaged nPM 1300 EK board was kept inside an anti-static bag.
After opening all of the boxes and safety bags, I saw the PCB Board as shown below.

image

It appears to be around half the size of similar Nordic development kits.

nPM1300 EK board catalog - Link. Received EK board PCB V – 0.9.1 (2023.39).

Getting Started

The first step is to go through working with PMICs document links. After this, you will be able to understand how PMICs work with the nRF connect SDK and how to set up nPM IC with nRF MCU projects.

Hardware Requirement 

  • One of the following development kits:

    • nRF52 DK

    • nRF52840 DK

    • nRF5340 DK

    • nRF9120 DK (using this Board)

  • nPM1300 EK

  • A suitable battery (I'm using LP803448(1350mAh), KP403048 (800mAh))

  • Micro-USB 2.0 cable

  • USB-C charger

  • Jumper wires

  • Multimeter

  • nPM - FG Board (Optional)

 

nRF Connect SDK – nPM PowerUP Setup

First need to set nRF Connect For Desktop installed on PC. I have Installed v4.4.0 on my Windows 10 PC.

image

  • Install Toolchain Manager - Manage nRF Connect SDK and toolchain versions on Windows, Mac, and Linux.

I had Installed nRF Connect SDK v2.5.0 (support vscode IDE for project development). for more details follow Get Started with nRF_Connect_SDK Documents.

image

Need to be installed vscode and nRF Connect for VS Code Extension Pack.

  • Install nPM Power UP - The nPM PowerUP app connects your PC with an nPM1300 EK and allows for code-free evaluation and development with the nPM1300 PMIC. I'm Using V1.1.1

The tool's dashboard looks like the picture shown below. This tool includes all of the PMIC's configurable parameters. has a fuel gauge window, charger settings, regulators, GPIOs, system features, profiles, and a visual graph of the battery voltage, current, battery temperature, and state of charge.

image

nPM1300 EK Testing with nPM PowerUP Tool

The nPM1300 EK board has a built-in nRF5340 MCU for controlling the nPM1300 PMIC. So here I'm connecting a USB C cable to the nPM1300 EK Controller Port and another to the PMIC Input to charge the battery.

I'm using the LP503448 (1350 mAh) battery. Connected using a three-wire battery connector with an NTC. The hardware connection looks like the picture below.

image 

After completing the hardware setup, navigate to the nPM PowerUP tool configuration. Go to Select Device Dropdown and select nPM1300 Evaluation Kit.

{gallery}nPM PowerUP Tool Setup / Configuration

image

IMAGE TITLE: Dash Board 

image

IMAGE TITLE: Charger Settings

image

IMAGE TITLE: Regulator Settings

image

IMAGE TITLE: GPIO and LED Setup

image

IMAGE TITLE: Graphs Tab

image

IMAGE TITLE:  Buck 1 Output (1.8 V)

image

IMAGE TITLE: Buck 2 Output (3 V)

  • In-Dash Board, I selected the LP803448 battery part from the active battery Model Dropdown. There are a few part numbers of battery profiles available for fuel gauge battery profiles. If we don't have this battery or another custom battery, we'll need to create a battery profile based on the battery specifications. Next, I'm creating one battery profile for battery part number KP403048 (800mAh), which is not available in the tool.
    In the Dashboard, we can see all parameters such as the Fuel Gauge, Battery Status, Charger Setup, BUCK-1 and BUCK-2 on/off control and Vset, Load Switch LDOs enable/disable, and set Vout for both LDOs.
  • Charger Settings - In this window, we can set the charger enable/disable, NTC settings, charging current and voltage settings, and other parameters.
  • Regulator Settings - In this window, we can set the BUCK 1/2 and LDO 1/2 output voltages, as well as configure other parameters.
  • GPIO and LED Setup - In this window, you can configure LED Indication, Charging, Charge Error, and Host LED as needed. Users can configure up to 5 GPIOs.
  • Graphs - In this window, we can see a live or specific time frame-based monitor of the battery voltage, current, temperature, and battery fuel gauge in percentage.
  • BUCK 1 (1.8V) - In this picture, BUCK 1 is set to 1.8V in the tool, and when I measure voltage across BUCK 1, I get a reading of 1.8V, which is more accurate than what I set.
  • BUCK 2 (3V) - Similar to BUCK 1, I have set 3V for BUCK-2 and am getting a more accurate 3V across BUCK 2 output.

nPM1300 EK + nRF9160 DK board testing

In this section, I intend to create an ncs project for the nRF9160 DK board with nPM1300 EK configuration. How can we generate a nPM1300 configuration file and use it in our project?

First, configure all parameters as shown in the previous topic's picture. I'm setting BUCK 1 Vout - 1.8 V, BUCK 2 Vout - 3V, as well as charging voltage current and fuel gauge enablement, as well as LED indicators for battery charging, charging error, and host LEDs. All parameters are set to the previous topic's pictures. You can refer to the settings parameter and export the config.overlay file.

nPM1300 Fuel Gaudge Project Created in VSCode Follow these steps:

Step 1 - Launch vscode and open the nRF Connect extension.

Step 2 - Create a new application -> Copy a sample code -> Search for nPM1300 fuel gauge. -> Generate projects in any folder location.

Step 3 - now A project has been created for the nPM1300 Fuel Gauge. Next, we'll import overlay files and create a project for the nRF9160 DK board.

Step 4 - In the project files explorer, open the file nrf9160dk_nrf9160.overlay and paste the code generated by config.overlay.

Step 5 - add Build configuration as below Picture -> Select nrf9160dk_nrf9160 board -> Select nrf9160dk_nrf9160.overlay file in Devicetree overlays

image 

Step 6 - Build project for target and flash code to nRF9160 DK board.

Step 7 - Hardware connection as below connect nRF9160 DK board I2c Pins to nPM1300EK board (all nRF target board default pin config table given below).

image       image

After completing all steps for the Firmware Project build and hardware setup, the output voltage across BUCK 1 was 1.8 v, and BUCK 2 output was 3 V, as configured in the Project. Similarly, I have observed accurate battery percentage, battery charging indicator, and temperature.

00> V: 4.101, I: -0.406, T: 30.89, SoC: 87.68, TTE: nan, TTF: 2292
00> V: 4.101, I: -0.407, T: 30.78, SoC: 87.74, TTE: nan, TTF: 2296
00> V: 4.086, I: -0.412, T: 30.78, SoC: 87.79, TTE: nan, TTF: 2309
00> V: 4.096, I: -0.406, T: 30.78, SoC: 87.85, TTE: nan, TTF: 2293

This log was captured from the nRF9160 DK board. All terms listed below.

   Symbol  Description                 Units
 
   V            Battery voltage          Volts
   I             Current                      Amps (negative for charge, positive for discharge)
   T            Temperature              Degrees C
   SoC       State of Charge         Percent
   TTE       Time to Empty           Seconds (may be NaN)
   TTF       Time to Full                Seconds (may be NaN)
As can be seen from the output, the battery charging percentage gradually increases, and both BUCK1 and 2 produce the expected voltage output.
Custom Battery Profile creation with nPM – FG Board

In this section, I will create a fuel gauge profile file for any type of battery part. I'm trying to make a profile for the KP403048 (800mAh) Li-Po battery type.

To create a battery profile, an external nPM-FG Board was required. This board is not included with this road test hardware kit. I received this module as a request from the regional sales and support Nordic team. I'd like to say thanks to Indian Region Nordic team for providing the nPM-FG board.

nPM-FG Board looks like this Below are pictures.

image                   image

I'm currently creating a battery profile for the KP403048 (800 mAh) battery part using the nPM1300 EK board and the nPM FG - Board. Connect the FG board to the nPM1300 EK board, then connect the battery as shown in the image below. This battery part does not have NTP. So I am connecting with a two-wire battery connector.

image

Follow the steps for creating a battery profile with this setup. For more information, see Using the nPM1300 Fuel Gauge Application Note.

Step 1: Set up the hardware as shown in the image above and connect both USB C ports to the PC.

Step 2: Launch the nPM PowerUP Tool, then select Board and connect the nPM1300 Evaluation Kit.

Step 3 - According to the battery data sheet, the parameters listed below are for profiling. Select Profile Battery ->Fill out the form below and select a folder to save the profile file.

 image

Step 4 - A new window appears, and battery profiling begins; wait for the process to complete.

image

After approximately 32 minutes of waiting, please see the image below for the next steps. To continue the process, disconnect the USB PMIC.


image

Step 5 - After disconnecting the USB PMIC Connector, continue the process. Estimated 15-minute wait time for the next step to complete.

After the 15-minute step is completed, the next steps are shown below. It will take up to 1day, 16 hours, and 25 minutes. Its took a long duration of keeping power on during the entire setup is too difficult.

image

If it is possible to complete this lengthy process and successfully create a profile file for the KP403048 Battery part, we will share it next time.

Conclusion

As an embedded product developer, I have used a variety of power management ICs and circuits in wearable products. In comparison to other ICs, the nPM1300 is very small in size and requires little space for the power circuit. The small-footprint IC includes a built-in charging mechanism, two software configurable LDOs, an accurate fuel gauge, and a variety of other useful features(Like LED Indication, User GPIOs,etc.. As a firmware developer, you can easily configure all parameters with tools, generate overlay files for any kind of battery profiles, and integrate them into an NCS project. I genuinely like the nPM1300 PMIC.

References

Anonymous
  • I'm on it! I will be sure to share the battery profile as soon as it's complete. It should take about a day or so to finish the analysis. I think The 800mAh battery capacity might extend the analysis time. To expedite things, I can try using a smaller battery and see if I can get a quicker result.

  • It's great to see that you got the nPM Fuel Gauge board for battery profiling. I've enquired via their support contact form, but got no reply from Nordic yet.

    I can see that it takes some time to profile. I assume this involves a few charge / discharge cycles, perhaps at different rates. It would be good to see the results once you have them..