Assign New Hardware UARTs on an ESP32 (TinyPICO) Board

The Unexpected Maker discusses hardware UARTs and the ESP32, plus explains why he didn't expose any on the TinyPICO.

Jeremy Cook
4 years agoHW101

When we covered the ESP32 TinyPICO board last year, it looked like an interesting development option for this chip, notable for its diminutive size. A lot of people apparently agreed, as it far exceeded its crowdfunding goal and started shipping to backers in July. If you missed the original campaign there’s no reason to worry though, as it’s available on Tindie right now for $20.

One thing that might be initially worrisome is that, while the ESP32 has three default sets of hardware UART pins, none of them are actually broken out on the board. In reality, there’s no reason for concern, as Seon — the Unexpected Maker and creator of this board — shows how any GPIO pins (with a few caveats) can be used as a hardware UART. The ESP32 actually has the ability to reroute this functionality to different pins as needed.

Seon does a hands-on demo of this functionality in the video below, using TinyPICO boards, one of which runs in the Arduino environment, while the other is programmed with MicroPython. Both perform as they should, with data being sent to either one via custom Rx and Tx lines. Notably, the MicroPython installation is controlled here by the REPL (Read-Eval-Print Loop) interface, and outputs text on a display shield.

This pin reassignment technique is of course useful for the TinyPICO board, and should be applicable to other ESP32 adventures that you may find yourself pursuing!

[h/t: Reddit]

Jeremy Cook
Engineer, maker of random contraptions, love learning about tech. Write for various publications, including Hackster!
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles