β οΈ 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.
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.
βΆVail Updates:Loading...β Click to see what's new
π§ͺ Test channel: you're about to download a pre-release build. Click "Switch back to stable" at the top of the page to exit.
4
Copy Firmware to Device
Open your file explorer (Finder on Mac, File Explorer on Windows)
Find your Downloads folder and locate the downloaded .uf2 file
Look for the adapter drive (named "QTPYBOOT", "XIAOBOOT", "ADAPTERBOOT", or similar)
Drag and drop the .uf2 file onto the adapter drive
Wait for the LED to stop flashing - the drive will automatically disconnect when complete
5
Finalize Setup
Wait 10 seconds after the firmware copies
Unplug and reconnect your Vail Adapter
Important: Visit vailmorse.com (the official Vail web repeater) to configure your keyer type, speed, and tone settings
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 Your Arduino Micro
You've selected:
β οΈ Experimental board
No capacitive touch, no button menu, no LED status indicators
CW memory slots reduced to 3 Γ ~12 seconds (vs. 25 seconds on SAMD21)
Requires Chrome, Edge, or Opera β the flasher uses WebSerial
Radio output on A2/A3 is 5V logic β check radio tolerance before wiring
1
Plug In Your Arduino Micro
Connect the Micro to your computer using a micro-USB data cable. Wait a few seconds for your OS to recognize it as a serial device.
2
Enter Bootloader Mode
Click the button below, then select your Arduino Micro in the browser's serial port picker. The browser will briefly open the port at 1200 baud and close it β this signals the Caterina bootloader to take over for ~8 seconds.
Activity Log:
Alternative: press the reset button on the Micro twice quickly to force bootloader mode manually.
3
Flash Firmware
Once the Micro is in bootloader mode (a new serial port will appear for ~8 seconds), click the button below and select that new bootloader port. The firmware will be written directly over the serial connection.
π§ͺ Test channel: this will flash a pre-release build.
Preparingβ¦
0%
Flash Log:
4
Finalize Setup
Wait for the bootloader to exit and the Micro to re-enumerate as your running application
Unplug and reconnect if needed
Visit vailmorse.com to configure keyer type, speed, and tone via MIDI
β You're set! Your Arduino Micro is now running the Vail Adapter firmware.
β Troubleshooting
No new port appears after the 1200-baud touch
The Caterina bootloader only stays active for ~8 seconds. If you miss the window, just click "Trigger Bootloader" again β or double-tap the reset button on the Micro.
"Expected 0x0D" or timeout errors
You likely selected the running-app port instead of the new bootloader port. Re-trigger the bootloader and pick the newer COM/ttyACM number.
WebSerial not supported
Use Chrome, Edge, or Opera. Firefox and Safari do not support the Web Serial API.
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
Select Firmware Version
Choose which firmware version to flash. The latest stable release is selected by default.
Warning: Test releases may not be stable and could contain bugs. They include features currently being developed. Use at your own risk.
2
Connect Your Device
Make sure your Vail Summit is plugged in via USB-C.
3
Flash Firmware
Click the button below to connect to your Summit. The flasher will automatically enter bootloader mode and show flash options.
β οΈ Connection not working? Try manual bootloader entry
If automatic connection fails (e.g., "port in use" error), manually enter bootloader mode:
Hold down the BOOT button on your Summit
While holding BOOT, press and release RESET
Release the BOOT button
Your device will now show as "USB JTAG/Serial" instead of "TinyUSB CDC"
Preparing...
0%
Flash Log:
4
Complete!
Once flashing is complete, your device will automatically restart with the new firmware. If it doesn't restart automatically:
Unplug your Vail Summit from USB
Wait 2 seconds
Plug it back in to power it on
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.
"Port in use" or "Cannot access COM port" error
This is common on Windows. Try these solutions:
Use manual bootloader entry: Expand the yellow section above and follow the BOOT + RESET instructions.
Close other programs: Make sure Arduino IDE, PuTTY, or any other serial terminal is completely closed.
Windows Device Manager fix:
Open Device Manager (Win+X β Device Manager)
Find the COM port under "Ports (COM & LPT)"
Right-click β Disable device, wait 2 seconds
Right-click β Enable device
Try flashing again
Try a different USB port - preferably a USB 2.0 port if available.
Device shows as "TinyUSB CDC" but won't connect
Some devices use TinyUSB which doesn't support automatic bootloader entry. Use manual bootloader entry:
Hold down the BOOT button
While holding BOOT, press and release RESET
Release the BOOT button
Device will now show as "USB JTAG/Serial"
Click "I'm in Bootloader Mode - Connect Now"
Flashing failed or stuck
If flashing fails:
Unplug the device, wait 5 seconds, and reconnect
Try manual bootloader entry (BOOT + RESET)
Try a different USB cable (some cables are charge-only)