Pico Computer 3 -- v0.017 (draft release notes)
What's new
Bluetooth Classic A2DP (stream audio to a speaker)
- BLE activates automatically at boot; the board scans in the background and
auto-connects to a Bluetooth speaker as soon as one is in pairing range --
no manual steps needed if a speaker is already paired/discoverable. - New
BT SPEAKERpage: manual scan/connect/disconnect, test tone. - Confirmed working alongside WiFi -- both stay connected together, which
matters if you're running more than one board (WiFi is how boards find
each other).
USB flash drive support (machine.USBDrive, mounted at /usb)
- Hot-pluggable, FAT32. Works alongside a keyboard/mouse on the same hub.
- Known limitation, found and fixed this build: this board's USB host chip
can only complete a single 512-byte sector per USB transaction --
multi-sector reads used to silently fail. All USB reads/writes are now
single-sector-safe, at some cost to raw throughput on very large folders. - Formatting a drive over 32GB to FAT32 has to be done from the board
itself (Windows refuses FAT32 above 32GB in its own tools):import machine, vfs d = machine.USBDrive() vfs.VfsFat.mkfs(d) vfs.mount(vfs.VfsFat(d), '/usb')
- Known open issue: on some hub/drive combinations, the USB connection
can drop and reconnect unexpectedly during heavy use, occasionally failing
to remount automatically. A retry-with-backoff was added this build, plus
real error logging (previously silent), but the underlying cause isn't
fully nailed down yet -- if you hit "USB drive mount failed" in the
console, a physical unplug/replug clears it.
Music Player page
- Browse
/sdor/usbfor.mp3/.wav/.flac, one-click play, playlists
(add/remove/save/load/next/prev). Decoding is on-device, streamed straight
to a connected Bluetooth speaker -- no PC-side conversion needed. - Large folders (100s of files) now load progressively (first ~10 entries
show immediately, more load as you scroll) instead of blocking on the
whole folder up front.
Resilience / recovery
- Ctrl-C on a physical USB keyboard now reliably interrupts a stuck
operation (e.g. a long USB read) within about a second, system-wide --
no need to power-cycle the board to recover. - Keyboard-only list navigation (UP/DOWN/ENTER) as a fallback everywhere a
mouse might be temporarily unresponsive.
Known issues going into this release
- USB drive connection stability under sustained use is still being
chased -- see above. Fine for casual use; a production console selling
10+ units should treat USB storage as "usually works, has a recovery
path" rather than "rock solid" for now. - No resampler in the audio pipeline -- a file whose native sample rate
doesn't match what the speaker negotiated will play at the wrong
pitch/speed. Not an issue for typical 44.1kHz files.