Tutorial 9 of 10

Pico 2 W

Use the exact Pico 2 W onboard LED surface.

Difficulty
Beginner hardware
Time
15 min
Review baseline
App 0.2.0 beta · firmware 0.6.0 · PBLE/1

Prerequisites

  • A Raspberry Pi Pico 2 W provisioned with its exact profile

Outcomes

  • Use the named onboard LED safely
  • Run finite LED patterns designed for the exact Pico 2 W profile
  • Recognize that firmware 0.6.0 does not claim NeoPixel on this profile

Release-aware guidance

Compatibility

The review baseline above is not a promise about the installer currently being served. Confirm the active version, exact profile, and enabled action on the current firmware and flash page before provisioning or changing hardware.

Qualified firmwaredescribes firmware evidence. The table below describes this lesson's scope; it does not turn designed compatibility into hardware validation.

Lesson scope for the five firmware profiles
Firmware profileLesson scope
Classic ESP32 (4 MiB)esp32-4mbNot applicable
ESP32-S3 N16R8 · lean genericesp32-s3-n16r8Not applicable
Waveshare ESP32-S3-LCD-1.47Bwaveshare-esp32-s3-lcd-147bNot applicable
ESP32-C3 (4 MiB)esp32-c3-4mbNot applicable
Raspberry Pi Pico 2 Wrpi-pico2-wExact board only

This exact-board lesson is only for Raspberry Pi Pico 2 W. Firmware 0.6.0 exposes its named onboard LED surface; it does not claim NeoPixel support for this profile.

Before you begin

Complete Setup and Hardware safety, then remove any external circuit. The exact onboard LED needs no wiring, resistor choice, or numeric pin. A board with a similar name is outside this lesson.

Two transports, one exact profile

Provision once, then work over BLE

  1. Computer + BOOTSEL

    Select the exact Pico 2 W profile and copy its verified UF2 to the mounted volume.

  2. Tablet + PBLE/1

    Reconnect in PyBLE over Bluetooth for editing, Files, Run, and Console.

  3. Named onboard LED

    Use Pin("LED") only on the verified Pico 2 W and keep every blink finite.

USB performs recovery and provisioning; everyday PyBLE work remains BLE-first.

Exact immutable sources

Both entries below are development-only and not HIL-validated. Read each complete file at the reviewed commit before importing it.

Follow in order

Tutorial steps

  1. Confirm the exact board and firmware profile

    Read the physical board label and confirm it is an exact Raspberry Pi Pico 2 W, not Pico W or another RP2350 carrier. Confirm your own installer record names rpi-pico2-w, then verify the connected board ID, agent firmware, chip, and MicroPython are consistent with that board. DeviceInfo does not report the provisioning profile, and an RP2350 chip identity cannot distinguish an exact carrier.

    Stop if: the physical product or installer record is uncertain, or any reported identity field is inconsistent with the recorded Pico 2 W installation.

  2. Know the recovery path before changing code

    Pico 2 W provisioning uses an exact UF2: hold BOOTSEL while connecting USB, copy the selected UF2 to the mounted volume, and let the board restart. This is different from ESP Web Serial and requires a computer.

    Expected: you can identify BOOTSEL and explain where the exact Pico 2 W UF2 comes from before continuing over BLE.

  3. Review the named LED surface

    The exact-board examples use Pin("LED"), the documented MicroPython name for the Pico 2 W onboard LED. Do not replace it with a numeric GPIO copied from another Pico family board. No external wiring is required.

    Expected: the source names LED and has a finite duration plus a final off state; it contains no guessed numeric LED pin.

  4. Import the finite onboard LED example

    In a disposable child folder, pin the examples repository to the reviewed commit, browse to the Pico 2 W onboard LED folder, select its ordinary Python file, and verify the exact source and board target.

    Expected: the terminal import result reports one exact file and Files refreshes without opening or running it.

  5. Read, run, and observe the bounded blink

    Open the imported source, check the blink count and timing bounds, then choose Run explicitly. Keep Console visible and be ready to press Stop. The source's cleanup leaves the LED off after completion or interruption.

    Expected: the exact onboard LED blinks the documented finite count, Console reports completion, and the LED finishes off.

  6. Try only a bounded pattern change

    Open the separate Pico 2 W LED Patterns source or reduce the first example's documented count. Keep its total duration within the source limits, Save, Run explicitly, then Stop and verify the LED is off.

    Stop if: a proposed edit removes validation, cleanup, the finite duration, or the exact named LED surface.

Need recovery help?

Stop at the current step, record the exact profile, board identity, app and firmware versions, and the first useful error. Then use the PyBLE support and recovery guide.