Quick reference for the RP2 https://docs.micropython.org/en/latest/rp2/quickref.html UART (serial bus) There are two UARTs, UART0 and UART1. UART0 can be mapped to GPIO 0/1, 12/13 and 16/17, and UART1 to GPIO 4/5 and 8/9. from machine import UART, Pin uart1 = UART(1, baudrate=9600, tx=Pin(4), rx=Pin(5)) uart1.write('hello') # write 5 bytes uart1.read(5) # read up to 5 bytes ---- class UART – duplex serial communication bus https://docs.micropython.org/en/latest/library/machine.UART.html#machine-uart UART implements the standard UART/USART duplex serial communications protocol. At the physical level it consists of 2 lines: RX and TX. UART objects can be created and initialised using: from machine import UART uart = UART(1, 9600) # init with given baudrate uart.init(9600, bits=8, parity=None, stop=1) # init with given parameters A UART object acts like a stream object and reading and writing is done using the standard stream methods: uart.read(10) # read 10 characters, returns a bytes object uart.read() # read all available characters uart.readline() # read a line uart.readinto(buf) # read and store into the given buffer uart.write('abc') # write the 3 characters Constructors classmachine.UART(id, ...) Methods UART.init(baudrate=9600, bits=8, parity=None, stop=1, *, ...) tx specifies the TX pin to use. rx specifies the RX pin to use.