Pico Computer 3 v0.12 (test)
Firmware and manual for the Pico Computer 3 (RP2350B).
New in v0.12
- SQLite hardened against resets and power loss — a full review of the on-device SQLite engine (
import usqlite) fixed three classes of defect. A soft reset (Ctrl-D) with a database open no longer corrupts the engine (previously the next session could hard-lock on its firstdb.close()); connections and cursors are now fully garbage-collector-safe (a use-after-free onclose(), and dropped connections leaking their memory for the rest of the session);INTEGERcolumns are now true 64-bit in both directions — millisecond timestamps stored from Python no longer overflow on write or silently wrap on read. Filesystem trouble (missing directory, full flash, an SD card pulled mid-query — pulling the card is a supported action) now raises a clean Python error and leaves the engine healthy instead of unwinding through SQLite's internals. And power-fail recovery now actually works: a power cut mid-write leaves a "hot journal" that is detected and rolled back on the next open, where previously a torn database could be served as valid — verified on hardware with physical power pulls during committed batch writes (clean rollback each time). The API is unchanged and existing databases are unaffected. On-device test suite included (tests/sqltest_a..e.py). - USB mouse: high-resolution mice fixed, and any HID mouse now works — mice reporting 12- or 16-bit movement moved erratically: the firmware left the mouse in USB boot mode (plain 8-bit reports) while decoding the full-resolution format the mouse describes, so the two never matched. The mouse is now switched to report mode at connect (as MMBasic does), and the decoder has been generalised to read each mouse's own HID descriptor — any button count, movement resolution, wheel position or report-ID scheme — instead of recognising three fixed layouts. Combo receivers that share the mouse interface with media keys no longer jitter the cursor when those keys are pressed, and a mouse that refuses the mode switch falls back cleanly to 8-bit decoding.
- PC emulator — the refreshed
pc3emu-linux-x64.tar.gzcarries all of the above (banner v0.12). Runs on Linux, and on Windows via WSL2 — seeINSTALL-WINDOWS.mdinside the tarball. Needs glibc 2.43 / Ubuntu 26.04+ for the prebuilt binary; on older systems build from source (a few minutes, any distro). - Manual and development notes updated (the mouse section now documents descriptor-driven support for any standard HID mouse).
Flashing
USB HUB switch to DISABLE → connect the Prog port to a PC → hold BOOT, click RESET → drag firmware.uf2 onto the drive that appears → switch back to ENABLE. Your files and settings survive.