Introduction: VEX Tournament Manager Raspberry Pi 3B+ 5GHz WiFi Setup

Wifi support has been semi-officially added! See the below link:

https://www.roboticseducation.org/event-partner-training-topics-raspberry-pi/

Overview:

VEX support of using the Raspberry Pi single board computer (SBC) has made VEX tournament setup much easier; however, because old models used 2.4GHz WiFi that could interfere with controllers, wireless setup was not supported. With the release of the Raspberry Pi 3 B+, which includes 5GHz WiFi, it's possible to go wireless without interfering with the match. RECF still doesn't support this, but it is allowed for competition setups and works quite well.

This guide uses Windows OS & software. Similar software exists for Apple computers and the process will be similar.

Please Note:

This guide is provided as such and no warranty or support of any kind is offered or implied.

This guide assumes that the user has an intermediate or better level of computer software and hardware knowledge, and that you are able to fumble your way through Linux (like I do). For instance, I'm not going to cover how to install Linux on a computer or a VM.

This guide does NOT cover setting up networking and monitors for a VEX tournament. If you're using this instructable, you should already have the other stuff down.

Required materials:

  • Raspberry Pi Model 3 B+ with power. AS OF THIS WRITING, ONLY THE 3 B+ SUPPORTS 5GHz WIFI - YOU MUST USE THIS SPECIFIC MODEL!
  • VEX Tournament Manager for Raspberry Pi (https://vextm.dwabtech.com/)
  • Blank MicroSD card (8GB currently recommended as it's in the price/capacity "sweet spot")
  • MicroSD -> SD adapter (card type or USB)
  • Flashing software such as Etcher (https://www.balena.io/etcher/)
  • Computer running Linux (or a Windows PC running a Linux file system driver such as https://www.howtogeek.com/112888/3-ways-to-access-your-linux-partitions-from-windows/)
    • If using Windows, you will also need a text editor that understands Linux plain text formats; Notepad++ is a good choice.
    • This Instructable will be using Linux (which I am NOT a wizard at)
  • Monitor with HDMI input, and an HDMI cable
  • The SSID and password for the 5GHz WiFi network that you will be connecting to.
    • Having your router available and turned on to test the new configuration is extremely helpful
    • Your router should be set to assign IP addresses via DHCP

Acknowledgement:

This guide is based upon the work done by others. I do not know their names, so I cannot give them proper credit. All I'm doing here is putting that knowledge into a more user-friendly format.

Step 1: Prepare Your MicroSD Card With VEX TM

  1. Download VEX Tournament Manager for Raspberry Pi and save the file to your computer. Get the latest image file here: https://vextm.dwabtech.com/
  2. Double-click the downloaded file to open the archive.
  3. Drag the image file to a folder on your computer
  4. Insert the MicroSD card into your computer using a USB reader or MicroSD -> SD adapter.
  5. Open Etcher (or whatever image flashing software that you use).
  6. Click "Select Image" and browse to the image file that you moved from the downloaded archive to a folder on your computer.
  7. Your MicroSD card should show in the "Select Drive" control. If it doesn't, select it.
  8. Click on "Flash".
  9. Once the flash is complete, remove the MicroSD card from your computer.
    1. Windows Explorer will probably spawn new windows as drives are created with the flash.

Step 2: Prepare the Rasberry Pi Operating System

Now it's time to unpack the image.

  1. Insert the MicroSD card with the VEX TM for Raspberry Pi image on it into the Raspberry Pi 3B+ MicroSD card slot.
  2. Connect RasPi to monitor with an HDMI cable
  3. Connect power to the RasPi.

The Raspberry Pi will power up and set up the OS automatically. You will see a grey square and then a full color spectrum square on the screen as it does its work, and then you will see the VEX TM Overlay with at the bottom. It should assign itself an IP address (even though it's not connected to a network).

Unplug the Raspberry Pi and remove the MicroSD card.

Step 3: Time to Hack...

What we are going to do is enable the 5GHz WiFi interface to allow it to connect to your wireless network. To do this, you will be editing text files on a Linux partition on the MicroSD card that you just created and set up by powering up the RasPi. The most straightforward way to make these changes is on a computer running Linux (I used Linux Mint running on an old laptop). Using a Virtual Machine may work, but I haven't tested it. Using various drivers and tools in Windows may work, but I haven't tested it. In other words, if you decide to take an alternate route, you're on your own.

  1. Insert the MicroSD card into your Linux computer. You will most likely need to use an adapter of some sort.
  2. Once inserted, the partitions on the MicroSD card will show up on your Linux desktop.
  3. Open the ~700MB partition and browse to /etc/network folder.
  4. You need elevated permissions (sudo) to edit the "interfaces" file, so you will need to open a terminal window (command prompt) at this location. Right click in the folder and select "Open in Terminal"
  5. In the terminal window, type "sudo pico interfaces" Pico is a simple *nix text editor. If you're more comfortable with vi or vim, you can use that...but for beginners, I recommend using pico. We'll be editing the "interfaces" file in /etc/network/
  6. You will need to type in the superuser password for the computer that you are using to open the "interfaces" file
  7. See below for the "before" and the "after" text that will be contained in the "interfaces" file. Edit the interfaces file so that it looks like the "after". Type this information rather than using copy & paste.
    1. If you have a large number of cards to prepare, I suggest saving a copy of the editid interfaces file to your desktop so that you can copy-paste the second and subsequent time you do this.
    2. I recommend double and triple checking your SSID and password as you type in the information...
    3. You will be replacing the text that says "TYPE IN VALUE" in the sample code with YOUR network values.
  8. Once you have made these changes, save the file (Ctrl-S) and exit (Ctrl-X) from the pico window.
  9. Unmount the SD card and remove it from the computer.

Before:

auto lo
iface lo inet loopback

allow-hotplug eth0

iface eth0 inet dhcp

metric 10

source /etc/network/interfaces.d/*

After:

auto lo
iface lo inet loopback

allow-hotplug eth0

iface eth0 inet dhcp

allow-hotplug wlan0

auto wlan0

iface wlan0 inet dhcp

wpa-ssid "TYPE IN VALUE"

wpa-psk "TYPE IN VALUE"

Step 4: Check to See That It Works...

  1. This assumes that you are within range of the wireless router that you will be using for your tournaments.
  2. Making sure that the Pi is unplugged from power but connected to a display via HDMI cable, insert your newly modified MicroSD card into your Raspberry pi.
  3. Power on the Raspberry Pi
  4. After the Pi boots, wait a few seconds and you should see the "VEX Robotics" logo.
    1. You will first see "unassigned" below the logo as no IP address has been assigned.
    2. Once the Pi gets an IP Address from your router via DHCP, it should show below the logo.