Hardware ID

The hardware ID library provides a simple interface to retrieve a unique hardware ID. You can retrieve the hardware ID by calling the hw_id_get() function.

The Hardware ID sample uses this library.


To enable the library, set the CONFIG_HW_ID_LIBRARY Kconfig option to y in the project configuration file prj.conf.

You can configure one of the following Kconfig options to choose the hardware ID:

API documentation

Header file: include/hw_id.h
Source files: lib/hw_id/
group hw_id

Library that provides a unified interface for fetching a unique device ID from hardware.


int hw_id_get(char *buf, size_t buf_len)

Fetch unique device ID.


The buffer should be at least HW_ID_LEN bytes long.

  • buf[out] destination buffer

  • buf_len[in] length of destination buffer


0 If the operation was successful.


-EINVAL If the passed in pointer is NULL or buffer is too small.


-EIO If requesting platform ID failed.