# Creating a Configuration

Before we can begin any programming we need to help our Control Hub know what is connected to it and where. Through the configuration process we can tell the Control Hub which port sensors, motors, servos, and any other connected devices can be found.

This is one of the most important steps to always complete **BEFORE** you can start programming!

{% hint style="info" %}
When programming in Blocks, some blocks may be hidden UNTIL the configuration process is completed and activated on the Driver Hub.
{% endhint %}

## Accessing the Configuration Utility

Let's look first where the configuration menu is found on the Driver Hub. Start by selecting the 3 dots menu in the top right corner of the Driver Station App. Then select **Configure Robot**.

<figure><img src="https://3023198990-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnKoHwxC0Q1NBpLowZUmu%2Fuploads%2FYJPW7Wd8xnsmDPVmVVVu%2Fimage.png?alt=media&#x26;token=83046230-657a-434c-9e92-bb0c7d7678c1" alt=""><figcaption></figcaption></figure>

If any configurations have been created, they will be listed here. For a new configuration, select **New**.

<figure><img src="https://3023198990-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnKoHwxC0Q1NBpLowZUmu%2Fuploads%2FYUfWcOhsIKCOV3AuGLlU%2Fimage.png?alt=media&#x26;token=5e7dbaab-b888-4d3a-8a95-7f6a3f2a55df" alt=""><figcaption></figcaption></figure>

In the USB Devices in configuration page select the Control Hub Portal.

{% hint style="info" %}
USB Devices, such as cameras, may be added to the Control Hub, but are not used within the Intro to Robotics curriculum.
{% endhint %}

<figure><img src="https://3023198990-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnKoHwxC0Q1NBpLowZUmu%2Fuploads%2FkWGpyiCXyyVO73QMpQRL%2Fimage.png?alt=media&#x26;token=106a9df1-fec1-4d68-adac-05616d5ad840" alt=""><figcaption></figcaption></figure>

Within the Hub Portal select the device you want to configure. In this use case, select the Control Hub.

<figure><img src="https://3023198990-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnKoHwxC0Q1NBpLowZUmu%2Fuploads%2FXnNZCRhWzhkJUCkTazdQ%2Fimage.png?alt=media&#x26;token=d1c06459-642d-4fe4-8e32-260aefda6b2b" alt=""><figcaption></figcaption></figure>

This will open a list of various device types that can be configured depending on the application! Within each type, there is a list of available ports, except for I2C sensors which are listed as busses in the main menu instead.

<figure><img src="https://3023198990-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnKoHwxC0Q1NBpLowZUmu%2Fuploads%2FcPBsjhTiWZKVGxkEuRN9%2Fimage.png?alt=media&#x26;token=4db40692-5608-424f-99a7-eb29f15a7597" alt=""><figcaption></figcaption></figure>

## Example Configuration

Let's configure a Core Hex Motor, a servo, and a touch sensor for this demonstration.&#x20;

For this example, the devices do not need to be connected to the Control Hub to complete the configuration process.&#x20;

### Core Hex Motor

First, select **Motors**.&#x20;

<figure><img src="https://3023198990-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnKoHwxC0Q1NBpLowZUmu%2Fuploads%2FfYQLk6asEKny2BbUDqGC%2Fimage.png?alt=media&#x26;token=d9bf848e-9a92-4fc0-9543-f619c741c911" alt=""><figcaption></figcaption></figure>

The Motor page will allow you to configure all four motor ports on the Hub. On **Port 0** open the dropdown menu and select **REV Robotics Core Hex Motor.**

<figure><img src="https://3023198990-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnKoHwxC0Q1NBpLowZUmu%2Fuploads%2FUjE8wPcW8cn45ds44CRp%2Fimage.png?alt=media&#x26;token=58573e82-1154-4a79-9872-f2c078c20d50" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3023198990-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnKoHwxC0Q1NBpLowZUmu%2Fuploads%2FrFZFkVdqbnTi2io5Vtlo%2Fimage.png?alt=media&#x26;token=8a94d872-a0c1-486b-bf37-6d03685a5eb8" alt=""><figcaption></figcaption></figure>

With the motor type selected, we can now give it a name. Device names should be easily recognizable! For example, a name like leftMotor is easier to identify in code than motor1.&#x20;

For now, we'll name the motor coreHex.&#x20;

<figure><img src="https://3023198990-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnKoHwxC0Q1NBpLowZUmu%2Fuploads%2F1zbHL4q4Rk56oVc9envz%2FScreenshot_20260319-115756.png?alt=media&#x26;token=63033dee-058b-4451-9995-c801f940013a" alt=""><figcaption></figcaption></figure>

**Note:** Names are case sensitive!

Select **Done** to return to the device menu.

<figure><img src="https://3023198990-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnKoHwxC0Q1NBpLowZUmu%2Fuploads%2FAuw66IUOSbvYNQCXIr3e%2Fimage.png?alt=media&#x26;token=3ed94995-ea56-4461-bba2-927f47d911b0" alt=""><figcaption></figcaption></figure>

### Servo

Configuring servos is similar to a motor. Give it a try before continuing with the directions below!

<details>

<summary>Configuring Servos</summary>

On the main device menu select **Servos**

<figure><img src="https://3023198990-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnKoHwxC0Q1NBpLowZUmu%2Fuploads%2FU7OXNHksw3HiTs0Seolq%2Fimage.png?alt=media&#x26;token=bf43678a-7358-49c5-922c-a68101020cf0" alt=""><figcaption></figcaption></figure>

The Servo page will allow you to configure all six servo ports on the Hub. On Port 0 open the drop down menu and select **Servo.**

<figure><img src="https://3023198990-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnKoHwxC0Q1NBpLowZUmu%2Fuploads%2FjwcxUlwPsf3cgpfwwjTo%2Fimage.png?alt=media&#x26;token=51eb005f-ffa3-460d-b000-868485e17225" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3023198990-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnKoHwxC0Q1NBpLowZUmu%2Fuploads%2FDgV55Iq65cf5k1AqXPy9%2Fimage.png?alt=media&#x26;token=377ae453-ee55-4a37-b993-f2562f023c3a" alt=""><figcaption></figcaption></figure>

For this example, name the servo servo then confirm.&#x20;

Select **Done** to return to the main device list.

<figure><img src="https://3023198990-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnKoHwxC0Q1NBpLowZUmu%2Fuploads%2F140EUf2z4beNbY6r7DS6%2FScreenshot_20260319-115822.png?alt=media&#x26;token=c5b291dc-cf86-49c9-bb51-d7be8efec726" alt=""><figcaption></figcaption></figure>

</details>

### Touch Sensor

The touch sensor is a [digital sensor](#user-content-fn-1)[^1]. When looking at the Control Hub, you can see the digital sensor ports are labeled as a pair of numbers: 0-1, 2-3, 4-5, 6-7. Different sensors require being configured different ways based on their electronics.&#x20;

For the REV Touch Sensor found in EDU Kit V2 it must **always** be configured to an **odd number port**.

First, select **Digital Devices** from the menu list.&#x20;

<figure><img src="https://3023198990-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnKoHwxC0Q1NBpLowZUmu%2Fuploads%2FnLejxTELoiYEeLsxX3Yr%2Fimage.png?alt=media&#x26;token=7ba17223-3874-4343-bc89-0d4f99bfbedf" alt=""><figcaption></figcaption></figure>

The Digital Devices page will allow you to configure all eight digital ports on the Hub. On **Port 1** open the dropdown menu and select **REV Touch Sensor**.

<figure><img src="https://3023198990-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnKoHwxC0Q1NBpLowZUmu%2Fuploads%2FmX6lOHOJGYhoK0uOEosP%2Fimage.png?alt=media&#x26;token=d6f74662-5e22-4c2e-bdba-9d4818c0d498" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3023198990-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnKoHwxC0Q1NBpLowZUmu%2Fuploads%2FTdm7uChon2JkFjtdeOaw%2Fimage.png?alt=media&#x26;token=1e941b9e-5661-4bf1-8425-a0c2e4ede344" alt=""><figcaption></figcaption></figure>

For this example, name the sensor touchSensor then confirm. Tap **Done** to return to the main device menu.

<figure><img src="https://3023198990-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnKoHwxC0Q1NBpLowZUmu%2Fuploads%2FcMlLcZU1cUf7dLj9ocua%2FScreenshot_20260319-115857.png?alt=media&#x26;token=7596eb2c-ccc4-4ed0-8c84-06f91adbe35e" alt=""><figcaption></figcaption></figure>

## Saving the Configuration File

From the main device menu, select done twice. You'll return first to the Control Hub Portal then the USB menu.

<figure><img src="https://3023198990-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnKoHwxC0Q1NBpLowZUmu%2Fuploads%2F6EBF6BhSLugCesLv5rw4%2Fimage.png?alt=media&#x26;token=68e70f5e-ae51-463d-8dab-bb63dba48463" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3023198990-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnKoHwxC0Q1NBpLowZUmu%2Fuploads%2FtCcLHqFWaK6XGtUJt0Cx%2Fimage.png?alt=media&#x26;token=42cbdae8-bd10-46f0-95b2-85a9aff01a10" alt=""><figcaption></figcaption></figure>

From here select **Save**

<figure><img src="https://3023198990-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnKoHwxC0Q1NBpLowZUmu%2Fuploads%2FCPmp5pa4HWUeYbxYjgXQ%2Fimage.png?alt=media&#x26;token=d94f2a1b-aa9a-4cc3-9d1f-d5567970e337" alt=""><figcaption></figcaption></figure>

Select a name for the configuration file. Similar to device names, this should be easily recognizable. For this example, we'll name it demoConfig. Select Ok after creating the name.

<figure><img src="https://3023198990-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnKoHwxC0Q1NBpLowZUmu%2Fuploads%2FJ7Qd9aL0gRKmDJEKPjaH%2FScreenshot_20260319-124444.png?alt=media&#x26;token=7e49b64e-f910-4180-925d-3cb7b4a03cd7" alt=""><figcaption></figcaption></figure>

Press back to activate the saved configuration. The Control Hub will restart once you activate a new configuration.

<figure><img src="https://3023198990-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnKoHwxC0Q1NBpLowZUmu%2Fuploads%2FrY1AdeCtLnE6wDXCGcbq%2FScreenshot_20260319-120004.png?alt=media&#x26;token=59b43dec-0d12-4f20-9551-291f3000cc67" alt=""><figcaption></figcaption></figure>

Your first configuration is done! The currently activated configuration will appear on the home screen of the Driver Station Application.

<figure><img src="https://3023198990-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnKoHwxC0Q1NBpLowZUmu%2Fuploads%2Fi2q39JBpZ06MKHt6y46D%2FScreenshot_20260319-120019.png?alt=media&#x26;token=56e86b69-ff03-4b00-94ed-4959dfbd78f2" alt=""><figcaption></figcaption></figure>

[^1]: Digital sensors have two states, known as binary states. Binary states can be thought of as an “either/or”, like how a light switch can either be in the “on” position or “off”.
