In this project, you'll learn how to communicate between two different CircuitPython boards using UART. 

UART, universal asynchronous receiver-transmitter, is a serial communication protocol that works asynchronously. Unlike I2C, it isn't structured and does not require pull-ups. UART is also, like the name implies, universal in that just about every microcontroller and microcomputer has a UART port. This can make it really easy to set up as cross-platform.

This guide will go through a really simple example where the boards send packets back and forth between each other that tell the other board to make the built-in NeoPixel brighter. The example in this guide is very simple, but it should give you a really good start for using UART to communicate between boards in your project.


The examples apply to nearly the full range of CircuitPython boards that have UART available. For this guide, two Circuit Playground Express boards were used.

Circuit Playground Express is the next step towards a perfect introduction to electronics and programming. We've taken the original Circuit Playground Classic and...
Out of Stock
Designed by Making & Hacking extraordinaire Lee Cyborg, these colorful clips are a nice switch-up from the standard colors. Connect this to that...
In Stock
This here is your standard A to micro-B USB cable, for USB 1.1 or 2.0. Perfect for connecting a PC to your Metro, Feather, Raspberry Pi or other dev-board or...
In Stock

This guide was first published on Sep 15, 2021. It was last updated on 2021-09-15 15:09:09 -0400.

This page (Overview) was last updated on Oct 23, 2021.

Text editor powered by tinymce.