CircuitPython version: 10.0.3
Board: Adafruit Metro RP2350 (RP2350B, A2 stepping)
Problem
PIO state machines run and consume FIFO data (sm.pending goes to 0), but GPIO pins are not driven. Pins stay at ~1.6V regardless of set pins, out pins, mov pins, or sideset instructions.
Works
- digitalio drives pins correctly (0V/3.3V toggle)
- picodvi (HSTX) works correctly
- Same PIO code works on Feather RP2350 (RP2350A) with same CP version
Minimal reproduction
import board
import rp2pio
import adafruit_pioasm
test_program = adafruit_pioasm.assemble("""
.program test
.side_set 1
.wrap_target
nop side 1 [15]
nop side 1 [15]
nop side 0 [15]
nop side 0 [15]
.wrap
""")
sm = rp2pio.StateMachine(
test_program,
frequency=10_000,
first_sideset_pin=board.D10,
sideset_pin_count=1,
)
# D10 stays at 1.63V instead of toggling
Likely cause
GPIO function select not being set to PIO for RP2350B variant.
CircuitPython version: 10.0.3
Board: Adafruit Metro RP2350 (RP2350B, A2 stepping)
Problem
PIO state machines run and consume FIFO data (sm.pending goes to 0), but GPIO pins are not driven. Pins stay at ~1.6V regardless of set pins, out pins, mov pins, or sideset instructions.
Works
Minimal reproduction
Likely cause
GPIO function select not being set to PIO for RP2350B variant.