Setting up Arduino/Teensyduino IDE for uploading firmware

This guide is for Ubuntu.

Step 1: Download the latest version of Arduino IDE at Choose Linux 64 bits if you’re running on a regular desktop/laptop. Choose ARM 64 bits if you’re setting it up on Nvidia Jetson platforms or Raspberry Pi. As of 9/11/2022, the link for the latest version for Linux 64 bit is

Step 2: Download the required files for Teensyduino at Teensyduino: Download and Install Teensy support into the Arduino IDE. Choose X86 64 bit for regular desktop/laptop.

Step 3: Unzip the Arduino installer: go to the Downloads folder, right click on the Arduino tar.xz file → Extract Here.

Step 4: Teensyduino installation. Use Ctrl + Alt + T to open terminal and do the following. Note that when you enter password, it will not appear on the screen. Also Ctrl + V does not work in terminal, you need to right click → Paste.

cd Downloads
sudo cp 00-teensy.rules /etc/udev/rules.d/
chmod 755 TeensyduinoInstall.linux64

The Teensyduino Installer will launch. For the Select Arduino Folder step, navigate to the Downloads folder (double click), then the Arduino folder (e.g. arduino-1.8.19-linux64, then the arduino folder within (e.g. arduino-1.8.19), then click Next.

Step 5: Install the Arduino IDE. Right click on the arduino-1.8.19 folder → Open In Terminal.

chmod +x
sudo ./

Step 6: Install required library in the IDE. To open the IDE, click the Activities in the top left corner of the screen to show the search bar, enter Arduino. In the IDE, click Tools → Manage Libraries. Search and install PacketSerial and FastLED.

To upload the firmware, for the main controller, select Teensy 4.1 as the board (Tools → Board → Teensyduino → Teensy 4.1 For the joystick panel, select Teensy LC. If you’re using the 80 mm x 120 mm travel stage, comment #include "def_octopi.h" and uncomment #include "def_octopi_80120.h". Connect the USB and make sure the right port is selected (Tools → Port), then click the Upload button (the button with the right arrow below the menu bar).