> ## Documentation Index
> Fetch the complete documentation index at: https://docs.embedder.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Add a Peripheral

> Select peripherals from the catalog or upload your own datasheets so Embedder can ground its answers and code generation in your hardware.

Peripherals are the external components your project talks to — sensors, displays, flash chips, transceivers, and more. Adding them lets Embedder reference the right datasheets when answering questions and generating drivers.

You'll see the peripheral picker during initial project setup, right after you pick a platform. You can reopen it anytime with the `/peripheral` command.

```txt embedder theme={"system"}
/peripheral
```

The interface differs slightly between the terminal and the VS Code extension. Pick the one you're using:

<Tabs>
  <Tab title="VS Code">
    ## Select peripherals from the catalog

    In the chat panel, click the **Peripherals: None** button (or **Peripherals: \<list>** if you've already added some) to open the picker.

    <Frame caption="Click the Peripherals button in the chat panel to open the picker">
      <img src="https://mintcdn.com/embedder/54-CiNdf3sa7Qy1p/images/vscode-gif-to-search.gif?s=8ebf22eb85fe46fa774279616dbfdfa0" alt="Animated demo of clicking the Peripherals: None button in the VS Code chat panel and the picker opening" width="800" height="500" data-path="images/vscode-gif-to-search.gif" />
    </Frame>

    The picker appears as a card titled **Add peripherals**, and any peripherals you've added before are listed under `Existing:` at the top.

    <Steps>
      <Step title="Search for a part">
        Type a part number or name in the **Search peripherals…** input. The list filters as you type and shows the manufacturer alongside each result.

        <Frame caption="Searching the catalog by typing a part number">
          <img src="https://mintcdn.com/embedder/54-CiNdf3sa7Qy1p/images/vscode-peripheral-searching.gif?s=8f95793b47a5ecafc73b1b382370b203" alt="Animated demo of typing esp32 into the search box and selecting the matching catalog entry" width="800" height="497" data-path="images/vscode-peripheral-searching.gif" />
        </Frame>
      </Step>

      <Step title="Toggle your selections">
        Click a row to toggle the checkbox (☐ → ☑). Or use the keyboard: arrow keys to navigate, **Space** to toggle, **Esc** to cancel. You can select as many as you need.

        <Tip>
          The hint bar at the bottom of the card shows: `↑↓ navigate · Space toggle · Enter confirm · Esc cancel`.
        </Tip>
      </Step>

      <Step title="Confirm">
        Click the **Add** button (it shows the count, for example `Add (3 selected)`), or press **Enter**. The card closes and the peripherals are attached to your project.

        <Frame caption="Click the Add button to attach your selections to the project">
          <img src="https://mintcdn.com/embedder/54-CiNdf3sa7Qy1p/images/vscode-select-p.gif?s=9372bb6eb057f0b0c9dac67f3bd88bd0" alt="Animated demo of clicking the Add button on the peripheral picker card to confirm selections" width="800" height="504" data-path="images/vscode-select-p.gif" />
        </Frame>
      </Step>
    </Steps>

    ## Add a custom peripheral

    If your part isn't in the catalog, upload its datasheet. Embedder indexes the document so the agent can cite it directly when you ask hardware questions.

    <Steps>
      <Step title="Open the custom peripheral form">
        At the top of the picker list, click **+ Add peripheral**. The card switches to **Add custom peripheral**.

        <Frame caption="Click + Add peripheral at the top of the picker to open the custom form">
          <img src="https://mintcdn.com/embedder/54-CiNdf3sa7Qy1p/images/vscode-custom-peripheral-select.gif?s=6a77f38d04b62bdaaef090b0d28ddc11" alt="Animated demo of clicking the + Add peripheral row at the top of the picker, switching the card to the Add custom peripheral form" width="800" height="590" data-path="images/vscode-custom-peripheral-select.gif" />
        </Frame>
      </Step>

      <Step title="Name the peripheral">
        Type a name into the input — typically the part number, for example `BME280` or `W25Q128`.
      </Step>

      <Step title="Attach datasheets and schematics">
        Click **+ Browse PDF files** and select one or more PDFs from your computer (datasheet, errata, application notes, schematic exports). Each file appears as a row with a `Click to remove` action if you change your mind.

        <Tip>
          Upload everything you have. More documentation gives Embedder more grounded references when answering questions about that part.
        </Tip>
      </Step>

      <Step title="Create">
        Click **Create** (or press <kbd>⌘</kbd>+<kbd>Enter</kbd> / <kbd>Ctrl</kbd>+<kbd>Enter</kbd>). The card shows **Creating peripheral · Uploading documents, please wait…** while files upload, then closes once the peripheral is added.

        Click **Back** at any point to return to the picker without saving.

        <Frame caption="Naming the peripheral, attaching a datasheet, and creating it">
          <img src="https://mintcdn.com/embedder/54-CiNdf3sa7Qy1p/images/vscode-custom-peripheral-choosing.gif?s=db6be574b888731308e2a07aa05aa77f" alt="Animated demo of typing a peripheral name, browsing for a PDF datasheet, and clicking Create to add the custom peripheral" width="800" height="586" data-path="images/vscode-custom-peripheral-choosing.gif" />
        </Frame>
      </Step>
    </Steps>
  </Tab>

  <Tab title="CLI / Terminal">
    ## Select peripherals from the catalog

    <Frame caption="Peripheral selection interface with components from various manufacturers">
      <img src="https://mintcdn.com/embedder/ujO4-sDifSwa2qo6/images/select-peripherals.png?fit=max&auto=format&n=ujO4-sDifSwa2qo6&q=85&s=5bf9421145a180e0648c9072b476478c" alt="SELECT PERIPHERALS dialog with search box showing components from Analog Devices, Nexperia, and Allegro MicroSystems" width="1990" height="1646" data-path="images/select-peripherals.png" />
    </Frame>

    <Steps>
      <Step title="Search for a part">
        Type a part number or name in the search box (for example, `BME280`, `W25Q128`, `SSD1306`). The list filters as you type, with the manufacturer shown alongside each result.
      </Step>

      <Step title="Toggle your selections">
        Use the arrow keys to navigate and press **Space** to toggle a peripheral on or off. You can select as many as you need in one pass.

        <Tip>
          The footer shows the active key hints: `Space to toggle · Enter to confirm · Esc to cancel`.
        </Tip>
      </Step>

      <Step title="Confirm">
        Press **Enter** to add your selections to the project. You'll see a confirmation toast like `Added 3 peripheral(s)`. Anything you'd already added is skipped with an `Already added:` notice.
      </Step>
    </Steps>

    ## Add a custom peripheral

    If your part isn't in the catalog, you can add it yourself by uploading its datasheet. Embedder indexes the document so the agent can cite it directly when you ask hardware questions.

    <Steps>
      <Step title="Open the custom peripheral form">
        From the peripheral selector, navigate to the **Add a peripheral** action (shown as `Create a custom peripheral with documentation`) and press **Enter**. The **Add Custom Peripheral** screen opens.
      </Step>

      <Step title="Name the peripheral">
        Enter a name in the **Peripheral Name** field — typically the part number (for example, `BME280`, `W25Q128`). Press **Enter** to advance to the file step, or **Tab** to switch fields manually.
      </Step>

      <Step title="Attach datasheets and schematics">
        With the **Documentation & Schematics** field focused, press **Space** or **Enter** to open the file picker. Select one or more PDFs (datasheet, errata, application notes, schematic exports).

        Selected files appear in a numbered list. Press the corresponding number key (`1`–`9`) to remove a file you didn't mean to include, or press **Space** again to add more.

        <Tip>
          Upload everything you have. More documentation gives Embedder more grounded references when answering questions about that part.
        </Tip>
      </Step>

      <Step title="Upload">
        When the footer reads `Press Enter to upload and add peripheral →`, press **Enter**. You'll see an upload progress indicator while files are processed. The custom peripheral is added to your project as soon as the upload completes.
      </Step>
    </Steps>
  </Tab>
</Tabs>

<Note>
  Custom peripheral support is available on Enterprise plans. If your account doesn't have access, the **Add a peripheral** / **+ Add peripheral** action will surface contact information instead of opening the upload form. Reach out to [sales@embedder.com](mailto:sales@embedder.com) for access.
</Note>

## Update your peripherals later

Reopen the picker any time to add or change components. Already-selected peripherals are filtered out of the catalog list so you only see what you can still add.

Run the `/peripheral` command from either the CLI or the VS Code chat input:

```txt embedder theme={"system"}
/peripheral
```

In VS Code, you can also click the **Peripherals: \<list>** button in the chat panel — it fires the same command.

## Related

* [Quickstart](/quickstart) — full first-session walkthrough
* [Common workflows](/core-concepts/common-workflows) — broader project setup and hardware flows
* [Slash commands reference](/core-concepts/slash-commands-reference) — every command, including `/peripheral` aliases
