Vail Adapter Firmware Update

⚠ïļ Important: Vail Adapter Button Hat Hardware Modification Required

If you have a Vail Adapter with Basic PCB V2 or Advanced PCB with Button Hat purchased in 2025, firmware dated November 11, 2025 or later requires a simple hardware modification to continue working.

This one-time modification involves adding a jumper wire from pin A3 to A8 and cutting the A3 header pin.

📋 View Modification Guide

Note: This applies to Vail Adapter only (not Summit) and only button hats purchased in 2025. Button hats from 2026 onward will use updated PCBs and will not require this modification. If you don't have a button hat, you can ignore this warning and proceed with the update.

â–ķ Last Update: November 18, 2025 — Click to see what's new
1
Model
2
Board
3
Update

Which Vail device do you have?

Choose your device type.

ðŸ“Ą

Vail Adapter

USB adapter that connects paddles to your computer for web-based CW

⛰ïļ

Vail Summit

Standalone morse code trainer with built-in screen and keyboard

What model of Vail Adapter do you have?

Choose the PCB version that matches your adapter.

🎛ïļ

Basic PCB

Standard Vail Adapter PCB with paddle inputs and sidetone

⚡

Advanced PCB

Includes radio output port and built-in capacitive touch points

ðŸŠķ

Vail Lite

USB stick form factor with buzzer sidetone only - no buttons, capacitive touch, headphone jack, or radio output

🔧

DIY No PCB

Hand-wired or breadboard build following GitHub specs

Which Arduino board are you using?

Select the microcontroller on your adapter.

🔷

Adafruit QT Py SAMD21

Look for "QT Py" labeling on the board

ðŸ’Ą Most purchased Adapters will likely be a QT Py when in doubt
ðŸ”ķ

Seeeduino XIAO SAMD21

Look for "XIAO" labeling on the board

Flash Your Firmware

You've selected:

1

Plug In Your Adapter

Use a USB-C cable (must support data transfer) and connect your Vail Adapter to your computer.

2

Enter Boot Mode

Choose one of these methods to put your adapter into bootloader mode:

Method 1: WebSerial (Recommended)

Click the button below to automatically trigger boot mode. Works in Chrome, Edge, and Opera browsers.

Activity Log:


                    

Method 2: Manual Reset (Double-tap)

Quickly double-tap the reset button on your adapter. The board should appear as a USB storage device (e.g., "QTPYBOOT" or "XIAOBOOT").

3

Download Firmware

Download the firmware file for your configuration:

⮇ïļ Download UF2 File
4

Copy Firmware to Device

  1. Open your file explorer (Finder on Mac, File Explorer on Windows)
  2. Find your Downloads folder and locate the downloaded .uf2 file
  3. Look for the adapter drive (named "QTPYBOOT", "XIAOBOOT", "ADAPTERBOOT", or similar)
  4. Drag and drop the .uf2 file onto the adapter drive
  5. Wait for the LED to stop flashing - the drive will automatically disconnect when complete
5

Finalize Setup

  1. Wait 10 seconds after the firmware copies
  2. Unplug and reconnect your Vail Adapter
  3. Important: Visit vailmorse.com (the official Vail web repeater) to configure your keyer type, speed, and tone settings
  4. Your settings will be saved to the device and can be used with any compatible CW application
✅ You're all set! Your Vail Adapter is now running the latest firmware.

❓ Troubleshooting

Device doesn't appear as storage drive

Try these steps:

  • Try the double-tap reset method instead of WebSerial
  • Use a different USB-C cable (some cables are charge-only)
  • Try a different USB port on your computer
  • Wait 5 seconds between taps when double-tapping the reset button
WebSerial button doesn't work

WebSerial requires Chrome, Edge, or Opera browser. If you're using Firefox or Safari, please switch browsers or use the manual reset method.

Linux: Permission denied

Add your user to the dialout group: sudo usermod -a -G dialout $USER then log out and back in.

Flash Vail Summit Firmware

Web-based ESP32 flasher for the Vail Summit

1

Connect Your Device

Make sure your Vail Summit is plugged in via USB.

Note: The flasher will automatically reset your device into bootloader mode (similar to Arduino IDE). If automatic bootloader entry fails, you can manually enter bootloader mode by holding BOOT and pressing RESET.
2

Flash Firmware

Click the buttons below in order. The process will automatically detect and reset your device into bootloader mode.

Flash Log:


                
3

Complete!

Once flashing is complete, your device will automatically restart with the new firmware. If it doesn't restart automatically:

  1. Unplug your Vail Summit from USB
  2. Wait 2 seconds
  3. Plug it back in to power it on
  4. Follow the on-screen setup wizard to configure WiFi and preferences
✅ You're all set! Your Vail Summit is ready for morse code training.

❓ Troubleshooting

Browser doesn't support Web Serial

Web Serial API is required for ESP32 flashing. Please use Chrome, Edge, or Opera browser. Firefox and Safari are not currently supported.

Device not detected

Try these steps:

  • Make sure you're using a data-capable USB cable (not charge-only)
  • Try a different USB port on your computer
  • Check that the ESP32-S3 drivers are installed on your system
  • Try holding the BOOT button while plugging in the device
Flashing failed or stuck

If flashing fails:

  • Click "Erase Flash" and try again
  • Unplug the device, wait 5 seconds, and reconnect
  • Try holding the BOOT button during connection