Skip to content

Bench test

Run this checklist on real hardware before every release. Note the firmware version, the host and the app.

# Step Pass when
1 Full flash (0x0). Boots to Pair a device. LED blinks blue.
2 Pair from the iPad (Settings › Bluetooth). Step 3 highlights, then the screen changes to Now playing. Dot turns white.
3 Start Spotify. App name, title, artist appear within ~2 s. Progress runs.
4 Play/pause from the board. iPad pauses and resumes. Icon follows.
5 Next, then previous. Track changes; title updates.
6 Volume − and +, then change volume on the iPad. The number follows both.
7 Swipe left: −15 s / +15 s. Position jumps (or the tile is dimmed if the app doesn't support it).
8 Shuffle, repeat. State on the iPad changes; tiles turn green; repeat label shows the mode.
9 Like, mute. Toast shows. Mute toggles iPad audio.
10 Long title / non-ASCII artist. Title on two lines with "…"; accents render.
11 Close the app. Nothing playing; play resumes the last app.
12 Leave out of range, return. Reconnects without pairing again.
13 iPad on-screen keyboard while connected. Still appears (the board is not a keyboard).
14 Pair a Mac from System Settings › Bluetooth, with the iPad still connected. Mac connects; the iPad stays connected. Choose the Mac on Devices: Connected, "Mac" top right, play and pause shown together; play/pause, next, previous and volume work in Spotify.
15 Disconnect on the Mac. The board moves to the iPad; the iPad never dropped.
16 About › Flip screen. Display and touch both rotate correctly.
17 About › Forget all devices (two taps). Reboots to the pairing screen with a new address.
18 Untouched for 2 min. Backlight dims; a touch or a new track wakes it.
19 Serial at 115200. #alive every 5 s; no resets.
Steps 20 to 26 need a build with -DUSB_MEDIA=1 and the USB helper. Skip them on the default build.
# Step Pass when
20 Mac: mac-helper/install.sh, board on USB. Log shows "found Media Ctrl"; board was not reset when the helper opened the port.
21 Mac: play in Spotify. App, title, artist, progress and system volume appear; Like tile dimmed.
22 Mac: every button (transport, ±15 s, shuffle, repeat, volume, mute). Spotify / system responds; screen updates within ~1 s.
23 Mac: switch to Music, Like. Track is favorited in Music.
24 Mac: quit the apps. Nothing playing with "Mac" top right; play resumes the last app.
25 iPad playing over Bluetooth while the Mac helper is idle. iPad's track shows; pause it and the board stays on the iPad, and play resumes it. Start Spotify on the Mac and the Mac's track takes over.
26 ./stop.sh, flash with ESP Ctrl, ./start.sh. Port free for flashing; helper reconnects afterwards.

Several devices

# Step Pass when
27 iPhone, iPad and Mac paired. Play on each in turn. The board follows whichever started last, with its track (or the keys-only screen for the Mac).
28 Pause the device on screen. The board stays on it; play resumes it.
29 Hold the top right. Devices lists all three with what each is playing; the one on screen has an amber outline. Tap another: "Switched to …", and only that device responds to the buttons.
30 Turn off the iPad's Bluetooth, open Devices. The iPad is under Saved as "Not connected", by name.
31 Hold the iPhone's row, then tap it again. "Forgot …" and the note to forget it on the iPhone; the iPad and Mac stay connected.
32 Hold a row, then wait 4 s. The row goes back; nothing is forgotten.
33 Restart the board. Saved names are still listed.