Software & tools

Power your design with a unified PMIC software experience that works across Nordic and non‑Nordic MCUs. From built‑in drivers and a production‑proven fuel‑gauge algorithm to tools for fast evaluation and deployment, everything is designed to help developers move quickly - from first prototype to final product.

Why Nordic’s PMIC software and tools accelerate your product development? 

monitor software Unified software environment

Use the same software development environment as Nordic SoCs and SIPs

Tools Extensive out-of-the-box functionality

Production-ready fuel gauge algorithm including battery health, software drivers and examples

check list Streamlined development process

nPM PowerUP enables easy evaluation and application integration, including automated battery profiling

Introduction

This section provides all information, documentation, downloads, and development resources needed to use Nordic PMICs with bare‑metal drivers. It is intended for applications that does not use Zephyr or nRF Connect SDK, and explains how to integrate PMIC functionality directly into a custom software environment using generic and platform‑independent drivers.  

Software architecture

Application

In a bare metal application, much of the low-level interaction with the PMIC hardware is handled from the application level. The driver is not designed to integrate with any specific SDK or platform, so the application needs to configure the hardware abstractions required by the driver. The application calls the various driver functions to configure PMIC properties, such as charger current or regulator voltages, and make battery measurements as needed. 

In the architecture diagram above, the application uses a Nordic PMIC and the Fuel Gauge algorithm. The MCU can be any Nordic or non-Nordic device with a supported CPU architecture that has sufficient RAM and code space to run the Fuel Gauge algorithm. In this case, both the application-specific battery model and the algorithm resides in the application level. 

Bare metal development

Applications that do not use nRF Connect SDK, Zephyr, or even a Nordic SoC, can utilize the bare metal driver for a given PMIC. 

The drivers do not depend on a specific OS or SDK environment, or any particular SoC. Necessary hardware functions such as TWI and GPIO are exposed via function pointers in the bare metal driver which must be provided by the application developer. 

There is no single bare metal driver collection that supports all Nordic PMICs. Each PMIC has its own specific driver, tailored to fit the hardware features in an efficient and intuitive manner. 

To integrate a bare metal driver in a project, copy the relevant files from the driver into your project and implement the necessary hardware abstraction functions for TWI communication. Follow the readme and porting guide when available and use the samples as a reference. 

Bare metal drivers 

Non-Nordic SoCs and SDK environments other than nRF Connect SDK and Zephyr are supported via bare metal drivers. The table below lists the bare metal driver repository for a given PMIC.  

Fuel Gauge library 

When developing a bare metal application using an MCU with a supported Fuel Gauge architecture, one must manually copy the Fuel Gauge library and add the relevant library file to be linked with the application.

Bare metal samples

Note that the nPM1300/nPM1304 bare metal sample is using the nPM1300/nPM1304 bare metal driver in a Zephyr application. A typical Zephyr or nRF Connect SDK application would normally use the native Zephyr driver instead. This sample is provided as a reference for how to use the bare metal driver functions, and not intended to be Zephyr specific.

nPM1300 & nPM1304 | nPM2100

Development resources

nPM2100 bare metal driver download

nPM1300 and nPM1304 bare metal driver download

nPM2100 bare metal example using nRF5 SDK

Npmx sample applications

Nmpx nPM1300 and nPM1304 porting guide

nRF fuel gauge library