"""Send this code, run and watch the repl. Then turn the wheel slowly to see the change""" import board import rp2pio import adafruit_pioasm import array pio_input = """ .program pio_input in pins, 2 ; read in two pins (into ISR) push noblock ; put ISR into input FIFO """ assembled = adafruit_pioasm.assemble(pio_input) ## set up a statemachine sm = rp2pio.StateMachine( assembled, frequency=2000, first_in_pin=board.GP20, in_pin_count=2 ) buffer = bytearray(1) # an array of bytes to read into - we are just asking for a byte while True: # read data from the fifo sm.readinto(buffer) # print it. print("{:08b}".format(buffer[0]))