Configuring a FirstTouch I/O Module for FRC

This document covers the configuration of the Cypress FirstTouch module for use with the FRC Control System. Before using your Cypress FirstTouch I/O module, you must first program firmware into the USB chip on the board. Remember that you only need to do this step once per board. Make sure that you have the most recent version of the Driver Station software before proceeding.

Hardware Setup

If using the Classmate, log in to the developer account. Plug the USB cable provided in the FirstTouch starter kit into the I/O module and the Classmate. Allow the computer time to find and connect to the new hardware.

Open PSOC Programmer

Next, open the Cypress PSoC Programmer. If you are using LabVIEW on the same computer, you can find the PSoC Programmer in the Utilities tab of the Getting Started Window. Otherwise, click on Start > All Programs > Cypress > PSoC Programmer. If you get an Update Reminder, cancel it. Updating the PSoC Programmer will make the Driver Station unable to see the First Touch module

Load Image

In the top left of the tool bar, you’ll see a blue folder icon. Click the folder, browse to Shared or Public Documents/FRC, and select the FRC_IO.v3.hex or FRC_IO.v3.2010.hex (or latest version) file. You must select the correct firmware for the version of the module that you have. The location on the Classmate is Computer»Windows (C:) »Users»Public»Documents»FRC. If you are a rookie, you have a 2012 module. If you are a veteran teams and got your First Touch module in the 2010 or 2011 kit, use that firmware. Selecting the wrong firmware image will result in an error message and will not damage your First Touch module.

Select Port

Directly below the tool bar, on the left, there is a Port Selection window with the device listed in it. Select the FirstTouch device.

Programming Suceeded

Click the program button on the tool bar, and wait for the programming operation to complete. You will see Programming Succeeded in the Results window.


Unplug and replug the USB cable and your I/O module will be ready to use. You can check to make sure the process was successful by opening the Driver Station software and confirming that the device is being recognized. With the I/O module plugged in, your I/O tab will indicate that the Hardware I/O is selected with a green indicator. Without the I/O module plugged in, it will default to the Virtual I/O.


  • If you are unable to find the firmware file, make sure that you have installed the Driver Station update.
  • If the PSoC Programmer errors with “The hex file does not match with the acquired device, please check the device”, make sure you selected the correct firmware file for the version of the First Touch module you are using.
  • If the Driver Station is unable to detect the First Touch I/O module…
    • Check the version of the PSoC Programmer that you have installed
      • You should have version if you look in Help >> About in PSoC Programmer
    • Check for the module in Device Manager under Universal Serial Bus controllers
    • If the device is listed as “FTK3 (unconfigured)” (USB PID=F119), the CyMiniProg3Service may not be running
      • Check for the service in Control Panel >> Administrative Tools >> Services
      • Check if it is started. If not, start it and configure it to start automatically.
    • If the device is listed as “FTK3 (version)” (USB PID=F11A), and version does not equal, you may have installed a newer version of the PSoC Programmer
      • Uninstall the Driver Station Update and the PSoC Programmer update in Control Panel >> Add / Remove Programs
      • Reinstall the Driver Station Update
    • If the device is listed as “FTK3 (”
      • Make sure that the bootstrap firmware that is installed matches what the Driver Station needs. The file Program Files\Cypress\Programmer\3.12\Service\ftk_3_simfw.hex should be 29,663 bytes.
      • Make sure that C:\Windows\system32\nicyapi.dll is installed and is version
    • The Driver Station still won’t see the First Touch I/O Module
      • Try restarting the Driver Station after you’ve gotten everything else correct and the device is plugged in.

For further help, look for a similar problem on the Cypress forums at (be sure to select the “FIRST Robotics Competition” forum).