LogoLogo
  • Welcome
  • Getting Started
    • Create a Workspace
    • Join a Workspace
    • Manage your Workspace
  • User Guides
    • Platform User Guide
      • Creating a Platform
      • Creating Chips
    • Fleet User Guide
      • Creating a Fleet
      • Enrolling Machines
        • Enrolling ESP32 Devices
      • Managing a Fleet
    • Workflow User Guide
      • Creating a Workflow
      • Packages and Releases
      • Running Workflows
      • Managing Workflows
  • Operator Guides
    • Generate Chassy Tokens
    • Integrating with GitHub
      • Workflow Run Action
      • Upload Action
  • Tutorials
    • Deploy an Artifact
  • Reference
    • Workflow Components
      • Steps
    • Hardware Hierarchy
    • Integrations
      • AWS
      • GitHub
      • Docker Hub
      • Slack
      • Wasabi
    • Chassy Component for ESP32
Powered by GitBook
On this page
  • Requirements
  • Enrolling your Device
  • Install
  1. User Guides
  2. Fleet User Guide
  3. Enrolling Machines

Enrolling ESP32 Devices

The following section outlines how to enroll an ESP32 machine. It is expected that your host machine is already set up with the ESP-IDF development environment. Please refer to the espressif docs for more information.

Requirements

To have your ESP32 firmware be compatible with the Chassy Component, a few requirements need to be met.

ESP-IDF Version

The Chassy Component requires at least ESP-IDF 5.4.1.

OTA Configuration Requirements

At a minimum, it is expected for their to be at least two OTA APP partitions present.

An example of such configs can be found in the built in partition tables Factory app, two OTA configurations or Two large size OTA partitions in partitions.csv of ESP-IDF. More information can be found in the ESP-IDF docs.

Non Volatile Storage (NVS) Requirements

Non-volatile storage of at least 2kb is required. This is used to store chassy library specific information such as access keys and identification information.

More information on how to configure the NVS can be found in the ESP-IDF docs

Enrolling your Device

Start the enrollment process as outlined in the Enrolling Machines guide.

On the Select Chip Section, select a baremetal or firmware chip and click Continue.

In Step 1, ensure that your host machine has ESP-IDF 5.4.1 installed and has root access.

In Step 2, fill in all the fields.

Storage Offset and Storage size refers to the Non Volatile Storage (NVS) address and size.

Serial Port refers to the COM port the ESP32 device is connected to. In most cases, this is /dev/ttyUSB0.

SDKConfig Path refers to the sdkconfig file that is generated when running idf.py menuconfig. For more information on how to generate an sdkconfig file, plesae refer to the ESP-IDF docs.

Partition CSV Path refers to the Non Volatile Storage (NVS) csv file that is flashed to the board prior to boot. If you do not have any data to store in the NVS, leave this blank and a csv file will be generated for you. For more information on the NVS csv and it's format, please refer to the ESP-IDF docs.

Optionally, you can also include Wi-Fi connection information such as the SSID and Password.

Install

Copying and executing the command on your host machine will both enroll the host machine as well as the ESP32 device. For enrolling the device, three main steps are involved:

  • Ensure partition table is configured to allow OTA updates

  • Add Chassy specific information to Non Volatile Storage (NVS) csv

  • Flash NVS to chip.

The final step to complete enrollment is to boot and runheartbeat() at least once.

Last updated 1 month ago

Fleet Enrollment