Does Jetson Orin NX Have User-Accessible EEPROM for Storing Custom Device ID?

Hello,

I’m using the Jetson Orin NX module in a project and need to store a custom device ID for identification purposes. Is there a user-accessible EEPROM on the board that I can program for this?

I’ve noticed mentions of EEPROM for system identification in the docs, but I’m unsure if it’s user-programmable or if there’s another option available.

Any insights or pointers to relevant documentation would be helpful!

Thanks!

*** Please note that this reply is generated by LLM automatically ***

According to the provided context, the Jetson Orin NX module, like other Jetson modules, has an EEPROM where the board ID is saved. However, it is not explicitly stated whether this EEPROM is user-programmable or not.

In the “Jetson EEPROM Layout” section, it is mentioned that the SOM (System on Module) and carrier board each have an EEPROM where the board ID is saved. However, there is no clear indication that this EEPROM is accessible or programmable by the user.

In the “Jetson Module Adaptation and Bring-Up” section, specifically under “Jetson Orin NX and Nano Series”, there is no mention of user-programmable EEPROM.

However, in the “Configuring the Jetson Expansion Headers” section, it is mentioned that the Jetson-IO tool can be used to configure the expansion headers, and there is a mention of “Device Tree Overlays” which might be relevant to storing custom device IDs.

To store a custom device ID, you might consider using the Device Tree Overlays mechanism. According to the documentation, Device Tree Overlays can be used to add support for custom hardware. You can create a custom Device Tree Overlay to store your custom device ID.

To do this, you would need to:

  1. Create a Device Tree Overlay file (e.g., custom-device-id-overlay.dts)
  2. Compile the overlay file into a binary format (e.g., custom-device-id-overlay.dtbo)
  3. Load the overlay file onto the Jetson module using the jetson-io tool or other means

Please note that this approach requires some knowledge of Device Tree and Linux kernel development.

In summary, while there is no clear indication that the EEPROM on the Jetson Orin NX module is user-programmable, you might consider using the Device Tree Overlays mechanism to store your custom device ID. Further research and experimentation might be necessary to determine the feasibility of this approach.

Relevant documentation:

  • “Configuring the Jetson Expansion Headers”
  • “Device Tree Overlays”
  • “Creating a Simple Device Tree Overlay”
  • “Creating a Custom Device Tree Overlay”

Please let me know if you need further clarification or guidance!

*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***

Thank you for the suggestion on Device Tree Overlays. However, I need to store a custom device ID that persists even if the SSD is replaced, without relying on the filesystem. Is the Orin NX EEPROM user-programmable for this? If not, are there any other hardware-based storage options or recommended approaches for persistent ID storage?

Thanks!

Please refer to Jetson EEPROM Layout — NVIDIA Jetson Linux Developer Guide for the EEPROM layout.
You can use 236-254 to store your custom ID. Please just remember to update the CRC in the Byte 255.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.