class UART – duplex serial communication bus

UART implements the standard UART/USART duplex serial communications protocol. At the physical level it consists of 2 lines: RX and TX. The unit of communication is a character (not to be confused with a string character) which can be 8 or 9 bits wide.

UART objects can be created and initialized 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:       # read 10 characters, returns a bytes object
uart.readall()      # 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




Turn off the UART bus.


Return the number of characters available for reading.[nbytes])

Read characters. If nbytes is specified then read at most that many bytes.

Return value: a bytes object containing the bytes read in. Returns None on timeout.


Read as much data as possible.

Return value: a bytes object or None on timeout.

uart.readinto(buf[, nbytes])

Read bytes into the buf. If nbytes is specified then read at most that many bytes. Otherwise, read at most len(buf) bytes.

Return value: number of bytes read and stored into buf or None on timeout.


Read a line, ending in a newline character.

Return value: the line read or None on timeout.


Write the buffer of bytes to the bus.

Return value: number of bytes written or None on timeout.


Send a break condition on the bus. This drives the bus low for a duration of 13 bits. Return value: None.



parity types (along with None)


IRQ trigger sources