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

# Phone and Web Apps

> Two ways to control MARS: the Innate Controller App and the browser web app

Both apps talk to the same robot. Use the **phone app** for setup and quick control, and the **web app** on a laptop for data collection, training, settings, and logs.

|                                     | Phone app | Web app                        |
| ----------------------------------- | --------- | ------------------------------ |
| First-time setup (Bluetooth, Wi-Fi) | Yes       | No                             |
| Drive, head, speech, leader arm     | Yes       | Yes (arm needs Chrome or Edge) |
| Run agents and skills               | Yes       | Yes                            |
| Record, train, deploy skills        | Yes       | Yes                            |
| Settings, logs, Brain view          | No        | Yes                            |

<Warning>
  The robot has one camera stream. If both apps show video at the same time, they keep stealing it from each other. Close one first.
</Warning>

## Phone app

<CardGroup cols={2}>
  <Card title="Android APK (1.4.0)" icon="android" href="https://cdn.innate.bot/innate-app-latest-1.4.0.apk">
    Direct APK download.
  </Card>

  <Card title="iOS TestFlight" icon="apple" href="https://testflight.apple.com/join/YeChe4A7">
    Join the iOS beta on TestFlight.
  </Card>
</CardGroup>

### Connect the phone app

<Steps>
  <Step title="Find the robot">
    Open the app. Tap your robot when it appears over Bluetooth.

    <Frame>
      <img src="https://mintcdn.com/innateinc/hx7RaA7br-n-YY5y/images/main/robots/innate-controller-app/connect-step-1.png?fit=max&auto=format&n=hx7RaA7br-n-YY5y&q=85&s=ae1b4925fb9e31c660977eb8714a49db" width="300" data-path="images/main/robots/innate-controller-app/connect-step-1.png" />
    </Frame>
  </Step>

  <Step title="Connect or change Wi-Fi">
    If the robot is on the same network as your phone, tap **Connect**. Otherwise tap **Change Robot WiFi** and pick a network. A phone hotspot works.

    <Frame>
      <img src="https://mintcdn.com/innateinc/hx7RaA7br-n-YY5y/images/main/robots/innate-controller-app/connect-step-3.png?fit=max&auto=format&n=hx7RaA7br-n-YY5y&q=85&s=5c2c27c67b2eb842bd91f802fe3d8d56" width="300" data-path="images/main/robots/innate-controller-app/connect-step-3.png" />
    </Frame>
  </Step>
</Steps>

Once connected, **Configuration → WiFi** shows the robot's IP address and hostname. You need them for [SSH](/robots/mars/connecting-via-ssh) and the web app.

<Warning>
  **Using an iPhone?** The leader arm connects over USB-C and doesn't work with iOS devices yet. Ping us on [Discord](https://discord.com/invite/KtkyT97kc7) and we'll get you a free Android phone for leader arm teleoperation.
</Warning>

## Web app

Open the robot's IP address in a browser, for example `https://192.168.1.42`. Accept the self-signed certificate once per machine. The `.local` hostname also works but is slower to resolve.

<img src="https://mintcdn.com/innateinc/-3Cr_HpcyCCYRg3_/images/web-app.png?fit=max&auto=format&n=-3Cr_HpcyCCYRg3_&q=85&s=b7fb972e4f2cb491bffff9525355b08b" alt="The MARS web app" width="2400" height="1500" data-path="images/web-app.png" />

| Page                       | Use it to                                                                                            |
| -------------------------- | ---------------------------------------------------------------------------------------------------- |
| **Teleop**                 | Drive, move the arm and head, speak, and [run skills](/software/skills#run-a-skill-manually)         |
| **Agent**                  | Start an agent and chat with it                                                                      |
| **Brain**                  | Watch each turn of the agent loop. See [How the agent decides](/software/agent-loop#watch-it-think). |
| **Collect** / **Datasets** | [Record](/training/data-collection) and replay demonstrations                                        |
| **Training**               | [Launch and monitor](/training/train-act-policy) training runs                                       |
| **Nav**                    | Browse maps and [spatial memory](/software/skills/code-defined-skills/spatial-memory)                |
| **Settings**               | Edit [configuration](/software/configuration) as a form                                              |
| **Logging**                | Read every log on the robot, without SSH                                                             |

### Logging

The **Logging** page streams the robot's full console, including output that never reaches `/rosout`. Pick a source on the right (launch file, process, or node) to filter. Sources with errors are tinted, so problems stand out.

<img src="https://mintcdn.com/innateinc/-3Cr_HpcyCCYRg3_/images/main/robots/web-app/logging.png?fit=max&auto=format&n=-3Cr_HpcyCCYRg3_&q=85&s=480fc303dffc1b18eb87766009052e46" alt="The web app's Logging page" width="2400" height="1500" data-path="images/main/robots/web-app/logging.png" />
