Skip to content

chore(rp2350): deploy-only bring-up on attached Pico 2 W #1233

Description

@zackees

Target

Deployment-only bring-up for the attached Pico 2 W-compatible board sold by the SUUOO Store:

  • RP2350, dual-core Cortex-M33 / Hazard3 RISC-V
  • 4 MB flash, 520 KB SRAM
  • 2.4 GHz Wi-Fi / Bluetooth 5.2
  • pre-soldered headers
  • observed runtime identity: 2E8A:F00F, serial 2DCB876B587EA334, currently COM17

This is Pico 2 W, not Pico 2 and not RP2040. A separate RP2040 happens to be mounted as G: / RPI-RP2; it is not a bring-up target and must remain untouched.

Scope

This issue proves only that fbuild can compile a board-correct artifact and deploy it repeatedly to this RP2350 target. The onboard LED blink is a visible firmware acceptance witness, not an LED-driver or GPIO validation exercise. Wi-Fi, Bluetooth, serial/RPC, watchdog, PIO/SPI, and FastLED data output are out of scope.

All flashing must go through fbuild deploy. Do not invoke picotool directly or copy a UF2 manually.

Lessons applied

  • Use Arduino-Pico's rpipico2w variant and ARDUINO_RASPBERRY_PI_PICO_2W board define.
  • Preserve Arduino-Pico's standard ARDUINO_ARCH_RP2040 core contract; identify the silicon with PICO_RP2350 / TARGET_RP2350.
  • Enable the Pico 2 W CYW43 board wiring (PICO_CYW43_SUPPORTED, CYW43_PIN_WL_DYNAMIC); its onboard LED is routed through the wireless chip rather than a normal RP2350 GPIO.
  • Source runtime USB identities from the FastLED/boards registry. Do not embed VID/PID literals in fbuild's board snapshot.
  • Select the target by its exact healthy CDC endpoint so pre-existing BOOTSEL volumes cannot capture the deployment.
  • Accept canonical RP2350 UF2 images containing the RP2350-E9 absolute errata block while retaining family, sequence, range, and overlap checks.

Plan and acceptance

  • Add the bundled rpipico2w profile and Pico 2 W/2 WH aliases.
  • Build a deterministic blink artifact with --no-timestamp and record its path, size, and SHA-256.
  • Deploy only through fbuild deploy --transport uf2 --skip-build to the exact Pico 2 W CDC endpoint.
  • Confirm the same RP2350 serial re-enumerates healthy as 2E8A:F00F / COM17.
  • Repeat the same-artifact deployment without stale handles or unbounded waits.
  • Verify the unrelated G: RP2040 volume has identical identity, capacity, and free space before and after the final deployment.
  • Operator confirmed that the Pico 2 W onboard LED blinks at the expected cadence.
  • Preserve tests, review results, commands, artifact hash, and hardware identity in the linked PR.

Related work

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions