Skip to main content

Why does user-node association from ESP RainMaker keep failing?

If you see failures for "Confirming Node Association" or "Configuring Node Association" on the phone app and no errors on the device serial terminal, it most likely means the app and node are connected to different backends (e.g., different regions or public vs private RainMaker). The device MQTT credentials in the fctry partition determine which cloud endpoint the node connects to.

Ensure backend alignment:

  • Private deployments: Use the RainMaker Admin CLI to generate credentials and flash the fctry partition binary. Claiming is not available in private RainMaker. See Admin CLI User Guide and Firmware Custom Documentation.

  • Public Global or China deployments: If the fctry partition contains stale or incorrect credentials, erase it and claim again:

    • Option 1 – Serial console: If the Serial Console is enabled, run clear-claim-data to erase the fctry NVS partition and reboot, then claim via esp-rainmaker-cli: esp-rainmaker-cli claim $ESPPORT --addr <fctry_partition_address>
    • Option 2 – esptool: If the console is not enabled, erase the fctry partition from the host:
      esptool.py --port $ESPPORT erase_region <fctry_address> <fctry_size>
      Verify the fctry partition address and size in your project's partition table (e.g., 0x3FA000 and 0x6000 in common layouts).

Ensure the RainMaker phone app is using the correct region (Global vs China) and that you are logged into the same account used for claiming. See Claiming for the claiming workflow.