Installing the Arduino IDE
Download and configure the Arduino IDE with the Touch Board's board definition and libraries.
Why you need the Arduino IDE
The default firmware covers basic touch-to-sound playback. To customise behaviour — different sounds on hold vs tap, MIDI output, serial data to a computer, custom light patterns — you need to write code and upload it to the Touch Board. The Arduino IDE is the tool for this.
Step 1: Download the Arduino IDE
Go to arduino.cc/en/software and download the latest Arduino IDE 2.x for your operating system (Windows, macOS, or Linux).
Install it like any other application.
Step 2: Add the Touch Board board definition
The Touch Board is based on the Arduino Leonardo (ATmega32U4), so it shows up in Arduino’s board manager automatically. However, Bare Conductive provides their own board package with the correct USB VID/PID for the Touch Board.
Option A: Use the Leonardo board (simplest)
- Open Arduino IDE
- Go to Tools → Board → Arduino AVR Boards → Arduino Leonardo
- Under Tools → Port, select the port labelled “Touch Board” or the available USB port
Option B: Install the Bare Conductive board package (more accurate)
- Open File → Preferences (Arduino IDE 2: the gear icon)
- In the Additional Board Manager URLs field, add:
https://raw.githubusercontent.com/BareConductive/arduino-board-index/gh-pages/package_bareconductive_boards_index.json - Open Tools → Board → Board Manager
- Search for “Bare Conductive”
- Install the Bare Conductive Boards package
- Now go to Tools → Board → Bare Conductive Boards → Touch Board
Step 3: Install the Touch Board library
- Open Tools → Manage Libraries (or the Library Manager icon in IDE 2)
- Search for “Bare Conductive Touch”
- Install Bare Conductive Touch Board Firmware or the individual libraries:
MPR121— capacitive touchVS1053— MP3 playbackSD— SD card access
Alternatively, download the complete firmware package from GitHub and install via Sketch → Include Library → Add .ZIP Library.
Step 4: USB drivers
Windows
Windows 10 and 11 usually install the driver automatically. If not:
- Connect the Touch Board
- Open Device Manager
- Look for “Unknown Device” or “Touch Board”
- Right-click → Update Driver → Browse my computer → Let me pick → Ports (COM & LPT) → Arduino Leonardo
macOS
No driver needed — macOS recognises the Touch Board as a serial port automatically.
Linux
Add your user to the dialout group:
sudo usermod -a -G dialout $USER
Log out and back in. The Touch Board should appear as /dev/ttyACM0.
Step 5: Test the connection
- Connect the Touch Board via USB (SD card doesn’t need to be inserted for this test)
- In Arduino IDE, go to Tools → Port and select the Touch Board’s port
- Open File → Examples → Basics → Blink
- Click the Upload button (→ arrow)
The IDE will compile the sketch and upload it. The D13 LED on the Touch Board should start blinking once per second.
If the upload succeeds, your environment is set up correctly.
Step 6: Restore the default firmware
The Blink sketch has replaced the Touch Board’s default touch-to-sound firmware. To restore it:
- Open the Touch Board library examples: File → Examples → Bare Conductive Touch Board → Touch_MP3
- Upload this sketch
Your Touch Board is back to its factory behaviour.
Understanding the Arduino upload process
When you click Upload:
- Arduino IDE compiles your
.inosketch into machine code - The IDE resets the Touch Board into bootloader mode (the LED blinks rapidly)
- The compiled binary is transferred over USB
- The board restarts and runs your new code
The Touch Board stays in bootloader mode for about 8 seconds if a valid upload doesn’t come. After that it reverts to whatever code was last uploaded.
Troubleshooting upload failures
“Port not found” or no port listed:
- Unplug and replug the USB cable
- Try a different USB cable (some cables are charge-only)
- Try a different USB port on your computer
“avrdude: stk500v2_ReceiveMessage(): timeout”:
- The board didn’t enter bootloader mode in time
- Click Upload, then immediately double-tap the reset button on the Touch Board to force bootloader mode
“Board at COM3 is not available”:
- Another application has the serial port open (close Serial Monitor)
- The board is mid-boot — wait 2 seconds after plugging in
Key takeaways
- Arduino IDE 2.x is the standard environment for Touch Board programming
- Install via the Leonardo board definition (quickest) or the Bare Conductive board package (most accurate)
- Install the MPR121 and VS1053 libraries via Library Manager
- Verify setup by uploading the Blink example
- Restore default behaviour with File → Examples → Touch Board → Touch_MP3