Can firmware retrieve a device's "Serial Number"

I have a console that I plan to use to monitor my devices, and I am developing a “Host” class/library that will added to device firmware to generate and publish data to that console.

One key thing I need is a way to identify the device. Each device has multiple identities:

  • Serial Number
  • Device ID
  • Device Name

I would prefer to use the Serial Number because it can not change and it is not “private information”.

Is it possible to obtain the device’s Serial Number (displayed on the Particle Console) via firmware?

It depends on the device. Gen 3 devices (Argon, Boron, and Xenon) can get the serial number from user firmware.

Gen 2 (Electron, Photon, E Series) cannot get the serial number through user firmware.

Usually the device ID is the best unique identifier for a device.