Thanks to visit codestin.com
Credit goes to github.com

Skip to content

rotaryio freezes when creating 6 IncrementalEncoder on RP2040 #10157

Closed
@Neradoc

Description

@Neradoc

CircuitPython version and board name

Adafruit CircuitPython 9.2.5 on 2025-03-19; Raspberry Pi Pico with rp2040

Code/REPL

import board
import rotaryio

encoder_pins = [
    (board.GP0, board.GP1),
    (board.GP2, board.GP3),
    (board.GP4, board.GP5),
    (board.GP6, board.GP7),
    (board.GP8, board.GP9),
    (board.GP10, board.GP11),
    (board.GP12, board.GP13),
    (board.GP14, board.GP15),
    (board.GP16, board.GP17),
    (board.GP18, board.GP19),
]

encoders = []

print("setup encoders")
# Initialize encoders
for pin_a, pin_b in encoder_pins:
    print(f"Encoder at {pin_a}, {pin_b}")
    encoder = rotaryio.IncrementalEncoder(pin_a, pin_b)
    encoders.append(encoder)

Behavior

Prints out:

code.py output:
setup encoders
Encoder at board.GP0, board.GP1
Encoder at board.GP2, board.GP3
Encoder at board.GP4, board.GP5
Encoder at board.GP6, board.GP7
Encoder at board.GP8, board.GP9
Encoder at board.GP10, board.GP11

And freezes there, ctrl-C doesn't stop the code.

Description

I would expect an exception being raised when using too many encoders.
Or is it supposed to support like 8 encoders ?
Seems like a followup to #10024

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions