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

# Connect over Bluetooth

> Pair your drone with echo.pitsco.com over Bluetooth so your code can fly it.

## Get connected

Before you can run a single program, you need to connect your drone to echo.pitsco.com over Bluetooth. Once it's linked, everything you build runs on the real drone.

<Frame caption="The whole connection in five steps: open the site, power on, CONNECT, pair, code">
  <img src="https://mintcdn.com/intellectualpoint/eW7U9shBQKKM3XX9/images/drones/echo-connect-flow.png?fit=max&auto=format&n=eW7U9shBQKKM3XX9&q=85&s=80f7202bddbaf13c3cee50d5c4b4027b" alt="Step-by-step flow diagram for connecting the drone to echo.pitsco.com over Bluetooth" width="1536" height="1024" data-path="images/drones/echo-connect-flow.png" />
</Frame>

## What you need

<CardGroup cols={3}>
  <Card title="A charged drone" icon="battery-full">
    Powered on, with a charged battery and propellers on.
  </Card>

  <Card title="Chrome or Edge" icon="globe">
    Bluetooth coding works in Google Chrome or Microsoft Edge - not Safari.
  </Card>

  <Card title="Bluetooth on" icon="bluetooth">
    Make sure Bluetooth is turned on for your computer.
  </Card>
</CardGroup>

## Connect step by step

<Steps>
  <Step title="Open the site" icon="globe">
    In Chrome or Edge, go to [echo.pitsco.com](https://echo.pitsco.com/).
  </Step>

  <Step title="Turn on your drone" icon="power">
    Switch the drone on and set it on a flat surface. Do **not** pair it to the handheld controller - the app and controller can't both connect.
  </Step>

  <Step title="Click CONNECT" icon="link">
    Click the green **CONNECT** button in the toolbar.

    <Frame caption="Click CONNECT to start pairing">
      <img src="https://mintcdn.com/intellectualpoint/eW7U9shBQKKM3XX9/images/drones/echo-connect.png?fit=max&auto=format&n=eW7U9shBQKKM3XX9&q=85&s=bd3a87a395150a3498e137b445df0479" alt="echo.pitsco.com toolbar with the green CONNECT button" width="1024" height="623" data-path="images/drones/echo-connect.png" />
    </Frame>
  </Step>

  <Step title="Pick your drone and Pair" icon="check">
    A browser pop-up appears listing nearby Bluetooth devices. Your drone shows up with a name like **APEX\_UART\_xxxxxx**. Select it and click **Pair**. If your browser asks for Bluetooth permission, allow it.

    <Frame caption="Select your drone (APEX_UART_...) and click Pair">
      <img src="https://mintcdn.com/intellectualpoint/eW7U9shBQKKM3XX9/images/drones/echo-pairing.png?fit=max&auto=format&n=eW7U9shBQKKM3XX9&q=85&s=2acb1bda73e1e9d6b2da2cb0c9956054" alt="Browser Bluetooth pairing dialog showing the APEX_UART drone" width="1024" height="623" data-path="images/drones/echo-pairing.png" />
    </Frame>
  </Step>

  <Step title="You're connected" icon="wifi">
    The button changes to a red **DISCONNECT**, and **START PROGRAM** and **LAND NOW** become available. You're ready to code.
  </Step>
</Steps>

<Info>
  **Save your work with a code.** At the top of the screen is a short code (like `FZD6O4`) under "Write down this code to continue later!" Jot it down - you can reopen your program anytime by clicking **I have a code**. No account needed.
</Info>

## Controller or code - one at a time

Your drone has one radio "ear." At any moment it listens to **either** the handheld controller **or** your code over Bluetooth - never both. When you click CONNECT, the drone starts listening to echo.pitsco.com and stops listening to the controller.

<Frame caption="The drone listens to one boss at a time - the controller or your code">
  <img src="https://mintcdn.com/intellectualpoint/eW7U9shBQKKM3XX9/images/drones/code-vs-controller.png?fit=max&auto=format&n=eW7U9shBQKKM3XX9&q=85&s=efbfc13f56410edfb5edee0ab023fdc5" alt="Diagram showing the drone can listen to the controller or to code, but not both at once" width="1536" height="1024" data-path="images/drones/code-vs-controller.png" />
</Frame>

<Info>
  Want the controller back? Click **DISCONNECT** in echo.pitsco.com, then power-cycle the drone and re-pair the controller as you did on Day 1.
</Info>

## Troubleshooting the connection

<AccordionGroup>
  <Accordion title="No drone in the pop-up" icon="triangle-alert">
    Confirm the drone is on, Bluetooth is enabled on your computer, and you're using Chrome or Edge. Refresh the page and click CONNECT again.
  </Accordion>

  <Accordion title="It connects then drops" icon="unlink">
    Recharge the drone battery and stay close to the computer. Weak battery or distance can drop the link.
  </Accordion>

  <Accordion title="The controller isn't working now" icon="gamepad-2">
    That's expected - once connected to code, the drone ignores the controller. Click DISCONNECT to use the controller again.
  </Accordion>
</AccordionGroup>

<Check>
  Your drone is connected to echo.pitsco.com (the button now says DISCONNECT), and you've written down your save code. Time to write your first program.
</Check>
