Repository navigation
v2.11.0 — the Pico 2 W gets published images, and its updates boot on trial
The Pico 2 W gets published images. Its update goes into the slot it did not boot from, boots on trial, and comes back by itself when it does not keep itself. A long upload no longer dies when a page of the device is open, and saving the alpha's configuration no longer restarts it.
This is the third signed release: a device on v2.10.0 checks its signature before installing it. CONFIG_VERSION stays at 26: the configuration file is the same, and v2.10.0 reads it.
The Pico 2 W, with two slots (#243–#246, #248–#251)
The Pico 2 W runs the same release as the Pico W, compiled for its RP2350, as the image releasetwo. Its 4 MB of flash hold a partition table, two program slots of 1,532 KB each and a LittleFS of 1,020 KB.
- An update goes into the other slot, and the filesystem is not touched. A cut or a reset before the apply leaves the board on its image.
- It boots on trial. The new image keeps itself once it has run healthy for a minute. A reset, a power cut or the watchdog before that, or five minutes without that minute, bring back the image it replaced, which logs code 613 and reports the refused version in
sys.reverted. - The dashboard and the Files page say so while the update is on trial, and after a way back.
- Two files here are for it:
simut_v2.11.0_releasetwo.bin, the update, andsimut_v2.11.0_releasetwo.uf2, a factory image with the partition table, for a board whose flash holds nothing.
A long upload is no longer cut by the board itself (#247)
Every upload or download that outlived 12 to 15 s died whenever a page of the web UI was open in a browser. To admit the page's next poll, the board's network stack killed the oldest of its five connections, and that was the transfer. Since August this was blamed on the router and on port 80; the port never mattered. Patch 2l of tools/arduino_pico_overrides/ keeps an accepted connection from being evicted, in all seven images.
Saving the alpha's configuration no longer restarts it (#242)
The save wrote the flash while Core 1 kept drawing the LCD from it. In 30 rounds of a cut upload and the save that follows, v2.10.0 restarted through the watchdog in 6 and this release in 0, the configuration intact every time.
Measured on the bench
The release gate of AGENTS.md §2 ran on the candidate the CI signed on main (run 37213954233), on both boards. The images attached here carry the same image bytes; their signature is their own, because every signing run makes a new one.
- Pico 2 W (RP2350 A2), from a bench build of v2.10.0:
- the candidate over the air went to the other slot on trial and kept itself, 555 configuration values unchanged;
- refused: the candidate with one byte changed (9) and an image signed by the bench key (12);
- the factory
.uf2, dragged onto the BOOTSEL drive of a board whose flash already held a partition table, came up from slot A; - 30 minutes without a restart; web suite 67 passed, 0 failed.
- Pico W, from the published v2.10.0, on release, alpha and Air:
2.11.0over the air with every configuration value unchanged (567 on the release), five sensors reading, the configuration file identical byte for byte, and the.bkpback with 70 of 74 files identical;- the candidate over itself, checking its own signature;
- back to v2.10.0 over the air and up again;
- refused: unsigned (8), the Air's (7), the Pico 2 W's (6) and the candidate with one byte changed (9);
- an upload cut at 400 kB, with and without the filesystem filled before the reset: configuration intact;
- 60 minutes without a restart once the bench hand's RESET wire was off the RUN pin. With it on, the board had restarted itself three times in two hours, and a diagnostic build traced them to that pin;
- web suite 67 passed, 0 failed.
Flash
Signed .bin sizes against the published v2.10.0:
| Image | v2.10.0 | v2.11.0 | Slack under the 1,040,384 B ceiling |
|---|---|---|---|
| release | 1,032,645 B | 1,032,933 B | 7,451 B |
| alpha | 990,621 B | 990,621 B | 49,763 B |
| Air | 1,031,485 B | 1,031,485 B | 8,899 B |
| Pico 2 W | — | 997,001 B | in a slot of 1,568,768 B |
The ceiling is for updates over the air on the Pico W.
Upgrading
- A Pico W, from v2.10.0: over the air, from the Files page, with the
.binattached here. The configuration carries over. - Back to v2.10.0: over the air with v2.10.0's
.bin(both carry security version 1; checked on the bench), or over USB. - A Pico 2 W installs over USB the first time: copy
simut_v2.11.0_releasetwo.uf2to the drive that appears with BOOTSEL held (checked on an RP2350 A2), or runpicotool load -xon it. After that, updates go over the air with the.bin. A board that ran SIMUT on the old Pico 2 W layout formats LittleFS on that first boot, so take a.bkpfrom the Files page first. - simut-rx does not know
releasetwoyet, so it offers no update to a Pico 2 W. - Language packs: upload the two attached here on the Files page, then reboot. With the v2.10.0 packs everything works, and the new strings read in English.
Known, and not fixed here
- The build configurator does not build for the Pico 2 W.
- A Pico W refuses the Pico 2 W's
.binwithv6, and the Files page gives no reason for 6. As with every refusal on a Pico W, the upload has overwritten the filesystem by then; the.bkpthe page downloads first is the way back. - On a build with a panel, a Core 1 hard fault leaves no program counter in the log, on both chips.
- On the Pico W, a configuration save from the panel during an upload restarts Core 1 inside the stage, by the code. Not seen on the bench.
- A chunked reply occasionally loses its framing (#189): 0.15–0.6 % of
/api/statusreads in a tight loop, and 4 of the 720 reads of the soak. - On the alpha, the log's messages in pt-BR or es-ES come out empty, by the code.
- Accented lines on the boot screen print
?, by the code. - The web page does not retry an install refused with 503, by the code.
configure terminaldoes not needenable, although the command table says it does.- A try (
_nosave=1) of a stricter PIN policy applies it without marking the PINs below it for a change, by the code. - With two pressure sensors, the measurement line sends the pressure under the first one's key and with the last one's value, by the code.
- The Telemetry page's token list for the alarm line stops at v22. Chapter 22 of the manual lists every token.
Full notes: CHANGELOG.md.