The Great Navel Orange Race (GNOR) is an annual competition held at UCF every year for the second intro to engineering course. The project involves students building a boat, submarine, or other watercraft that autonomously carries an orange around the reflection pond. The TI Innovation lab is providing students with TI microcontroller boards (MSP430f5529 LaunchPad, MSP-EXP432P401R LaunchPad) and an IMU (mpu6050) sensor for use in their watercrafts. These components empower students to control servos, provide signals for high power relays and ESCs, measure angle change relative to starting angle, look at accelerometer data, and more. This repository provides everything needed to get started using these components. This includes example code, pinouts, and more. If you have any questions or are having trouble getting started, you can find help at the UCF Innovation Lab in ENGII room 112 9AM-10PM M-F and Saturday 10-5.
This project supports the following three microcontroller boards:
| MSP-EXP430F5529LP | MSP-EXP432P401R | ESP32-CP2102 |
|---|---|---|
![]() |
![]() |
![]() |
| MSP-EXP430F5529LP | MSP-EXP432P401R | ESP32-CP2102 |
This project requires additional board package URLs, standard Arduino libraries, and custom ZIP libraries. Follow the steps below to fully configure Arduino IDE 2.x.
- Open the Arduino IDE.
- On macOS, click Arduino IDE in the top menu bar, then select Settings.
- On Windows or Linux, click File, then select Preferences.
- The Arduino IDE settings window will open.
-
In the settings window, locate the field labeled Additional Boards Manager URLs.
-
Copy and paste the following URLs into that field, with one URL per line:
https://raw.githubusercontent.com/Andy4495/TI_Platform_Cores_For_Arduino/main/json/package_energia_optimized_index.json https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json -
If the field already contains other URLs, do not delete them. Add these new URLs on separate lines below the existing entries.
-
Click OK, or close the settings window to save your changes.
Install only the board package(s) that match the board(s) you are using.
- In the Arduino IDE, click Tools.
- Select Board, then click Boards Manager.
- In the search box, type MSP430.
- Locate the Energia MSP430 boards package by (Andy4495/Energia).
- Click Install and wait for the installation to finish.
- To select this board: Tools → Board → Energia MSP430 Boards → MSP-EXP430F5529LP
- In the Arduino IDE, click Tools.
- Select Board, then click Boards Manager.
- In the search box, type MSP432.
- Locate the TI MSP432P4xx Launchpad board package by (Andy4495/Energia).
- Click Install and wait for the installation to finish.
- To select this board: Tools → Board → Energia MSP432 EMT RED Boards → MSP-EXP432P401R
- In the Arduino IDE, click Tools.
- Select Board, then click Boards Manager.
- In the search box, type esp32.
- Locate esp32 by Espressif Systems.
- Click Install and wait for the installation to finish.
- To select this board: Tools → Board → esp32 → ESP32 Dev Module
- In the Arduino IDE, click Tools.
- Select Manage Libraries...
- In the Library Manager search box, type ESP32Servo.
- Locate ESP32Servo in the results list.
- Click Install and wait for the installation to complete.
- In the search box, type NeoPixelBus.
- Locate NeoPixelBus by Makuna.
- Click Install and wait for the installation to complete.
- Confirm that both libraries are installed before continuing.
This project also requires the following custom libraries:
For each custom library, complete the following steps:
- Open the library’s Releases page in your web browser.
- Download the ZIP file for the latest recommended release.
- Return to the Arduino IDE.
- Click Sketch.
- Select Include Library.
- Click Add .ZIP Library...
- Browse to the ZIP file you downloaded.
- Select the ZIP file.
- Click Open to install the library.
- Repeat this process for each remaining custom library.
Using ZIP files from the Releases page is recommended because they provide a specific tested version of the library rather than the latest development snapshot from the repository.
If you are using the MSP-EXP430F5529LP, you must install the TI Ez-FET Lite USB debugger driver before the board will be recognized by your computer.
- Download the driver installer: ti_msp430driver_setup_1.0.1.1.exe (Click the Download raw button!)
- Run the installer and follow the on-screen prompts.
- Once installation is complete, plug in your MSP-EXP430F5529LP via USB.
- Verify that the board is recognized by your computer before continuing.
Note: This driver is only required for the MSP-EXP430F5529LP. Skip this step if you are using the MSP-EXP432P401R or ESP32.
If you are using the MSP-EXP432P401R, you must install the TI MSP432 FET110 USB debugger driver before the board will be recognized by your computer.
- Download the driver installer: ti_emupack_setup_9.2.0.00002_win_64.exe (Click the Download raw button!)
- Run the installer and follow the on-screen prompts.
- Once installation is complete, plug in your MSP-EXP432P401R via USB.
- Verify that the board is recognized by your computer before continuing.
Note: This driver is only required for the MSP-EXP432P401R. Skip this step if you are using the MSP-EXP430F5529LP or ESP32.
If you are using the ESP32-CP2102, you must install the Silicon Labs CP210x USB-to-UART driver before the board will be recognized by your computer.
- Download the driver ZIP: CP210x_Universal_Windows_Driver.zip
- Extract the ZIP file into a folder of your choice.
- Plug in your ESP32-CP2102 via USB.
- Open Device Manager (right-click the Start button and select Device Manager).
- Locate the ESP32 device in the list — it may appear under Other devices with a warning icon.
- Using Windows File Explorer, locate the driver folder you extracted in step 2.
- Right-click on the silabser.inf file and select Install.
- Follow the on-screen instructions to complete the installation.
- Verify that the device now appears in Device Manager under Ports (COM & LPT) as a Silicon Labs CP210x COM port.
Note: This driver is only required for the ESP32-CP2102. Skip this step if you are using the MSP-EXP430F5529LP or MSP-EXP432P401R.
- Close the Arduino IDE.
- Reopen the Arduino IDE.
- Click Tools → Board and verify that the newly installed board packages are now available.
- Click Sketch → Include Library and verify that the installed libraries appear in the library list.
- Click File → Examples and check whether example sketches are available for the installed libraries.
- Select your target board from the Tools → Board menu.
- Open your project sketch.
- Run a compile test to confirm that the required boards and libraries were installed correctly.
- If the Additional Boards Manager URLs field already contains entries, keep them and add these new URLs on separate lines.
- Do not remove existing URLs unless you are sure they are no longer needed.
- If you previously installed older versions of the custom ZIP libraries manually, remove the older copies first to avoid duplicate library conflicts.
- After installation, example sketches may appear under File → Examples.
Before opening the project in the Arduino IDE, you need to download the GNOR_V4 sketch from GitHub. There are two ways to do this:
GitHub Desktop is a free application that lets you clone and manage repositories with a graphical interface.
Advantages:
- If a bug fix or update is released, you can pull the latest changes with a single click — no need to re-download and re-extract a ZIP file.
- Your local copy stays linked to the repository, making it easy to stay up to date throughout the competition.
Steps:
- Download and install GitHub Desktop if you have not already.
- Open GitHub Desktop.
- Click File → Clone Repository.
- Select the URL tab.
- Enter the repository URL:
http://github.com/ucfinnovationlab/GNOR_V4 - Choose a local folder to save the project.
- Click Clone.
- Once cloned, open the
GNOR_V4.inofile in the Arduino IDE.
To update the project later, open GitHub Desktop and click Fetch origin, then Pull to download any new changes.
Advantages:
- No additional software required — works with just a web browser and file explorer.
- Quick and simple for a one-time download.
Steps:
- Open
http://github.com/ucfinnovationlab/GNOR_V4in your web browser. - Click the green Code button near the top right of the page.
- Select Download ZIP.
- Save the ZIP file to your computer.
- Extract the ZIP file to a folder of your choice. Ensure the folder is named
GNOR_V4. - Open the extracted
GNOR_V4/GNOR_V4.inofile in the Arduino IDE.
Note: if updates or bug fixes are released, you will need to repeat this process and re-download the ZIP to get the latest version.
Connect the rudder servo to the Servo1 connector on the board. Mind the orientation: the black wire must align with the white line on the board.
⚠️ WARNING: Incorrect orientation will damage the board and/or servo. Double-check the wire orientation before applying power.
Connect the ESC signal cable to the ESC connector on the board. Mind the orientation: the black wire must align with the white line on the board.
⚠️ WARNING: Incorrect orientation will damage the board and/or ESC. Double-check the wire orientation before applying power.
Connect the motor switch to the Motor connector on the board.
Connect the left ESC signal cable to the ESC connector on the board. Mind the orientation: the black wire must align with the white line on the board.
⚠️ WARNING: Incorrect orientation will damage the board and/or ESC. Double-check the wire orientation before applying power.
Connect the right ESC signal cable to the Servo2 connector on the board. Please remove the RED power wire from the connector to allow the board to be powered from the Left ESC only. Mind the orientation: the black wire must align with the white line on the board.
⚠️ WARNING: Incorrect orientation will damage the board and/or ESC. Double-check the wire orientation before applying power.
Connect the motor switch to the Motor connector on the board, same as the single rudder configuration above.
NOTE: Try your motor first, if it works then calibration does not need to be done.
ESC calibration teaches the ESC the zero throttle and maximum throttle positions so that it can use the full throttle range. This only needs to be done once, or any time the ESC is replaced.
Steps:
- Ensure the board is powered off.
- Short the two Calibration pins on the green board (e.g. using a jumper or a piece of wire).
- Power up the board.
- Wait until you hear the special calibration beeps from the ESC — this signals that the maximum throttle position has been registered.
- Remove the short from the Calibration pins.
- You should hear another beep from the ESC confirming that calibration is complete and the zero throttle position has been registered.
- The ESC is now calibrated and ready for use.





