RobotathonESP32

This is the repository that utilizes the ESP32 to control robots for the Robtathon competition. It uses the following components:

Getting Started

1. VSCode

This project was built and tested using VSCode. Although any IDE should work in theory, you will not get the features provided by the ESP-IDF extension and will likely need to work through the command line. As such, using VSCode is highly recommended.

VSCode can be installed from here.

2. Using this Template

This repo is a template repository, meaning you can use it in your own team's repository.

To use this template, go to the main page of our repo and press Use this Template and then Create a new repository. Enter in the repository name and press Create Repository.

Once your repository is created add your teammates by going to Settings->Collaborators->Manage Access then put in their github usernames.

3. Forking the Repo

Clone this repo to a location using the method of your choice. I prefer to use the command line, although any method will do. If you do not have a terminal environment set up then I recommend Git Bash

git clone https://github.com/ut-ras/RobotathonESP32.git

4. Install the ESP-IDF Extension

The ESP-IDF is a developement framework that is used to build and flash for the ESP32. While it can be installed manually, we highly recommend that you install it using the VSCode extension.

To install the ESP-IDF Extension, simply go click on the Extension icon in the right taskbar in VSCode and search for "Espressif IDF". Click install.

Full installation and setup instructions be found here.

5. Setting up ESP-IDF

Once in the extensions section, press the settings wheel (the one in the side menu), select Install Another Version and pick 1.6.1 .

After installation, a setup wizard will appear. It can also be opened by searching for ESP-IDF: Configure ESP-IDF extension in the Command Palette (accessible through the top search bar).

Choose the "Express" option. When prompted to do so, select ESP-IDF version v4.4. You can leave everything else default. Wait until the setup wizard displays a message stating that settings have been configured.

6. Using the repo

The Arduino Core means that code can be written for the ESP32 just like you would for any Arduino board. To do this, use the setup() and loop() methods found in arduino_main.cpp.

To build for the ESP32, click the "Build Project" button (cylinder) in the bottom taskbar.

To flash onto an ESP32, click the "Flash Project" button (lightning bolt) in the bottom taskbar.

To read serial output coming from the ESP32, click the "Monitor Device" button (monitor) in the bottom taskbar.

7. What to do if your stuff don't work

  • Make sure your extension is on version Version 1.6.1
  • Go to esp/esp-idf location (in windows terminal), run
.\install.bat

after that run

.\export.bat

You may be required to install Python make sure you click add to path or Git

  • If your extension installed but doesn't build due to a linker issue, Go to .espressif\python_env\idf4.4_py3.8_env\Scripts and run
pip uninstall pyparsing
pip uninstall pyparsing
pip install pyparsing==2.2.0