LilyGO T-PicoC3 Combines RP2040 and ESP32 in a Single Board

LilyGO T-PicoC3
(Image credit: LilyGo)

As soon as the Raspberry Pi Pico (opens in new tab), and its RP2040 (opens in new tab) microcontroller chip, became available back in January 2021, people have been integrating it into many different form factors, some of which include tiny IPS screens (opens in new tab). The newly available LilyGO T-PicoC3 takes this trend to its inevitable conclusion by combining the RP2040 with another microcontroller - the venerable ESP32 - and a screen. It also, as pointed out by CNX Software (opens in new tab), makes use of some very clever USB technology. 

This is the C3 version of the ESP32, which features a single-core 32bit RISC-V CPU up to 160MHz, 400 kiB of SRAM and 384 kiB ROM, 22 programmable GPIOs, and importantly Wi-Fi 4 and Bluetooth 5LE, both of which are missing from the RP2040. The Raspberry Pi chip features the usual dual-core Cortex-M0+ MCU with 264 KB of embedded SRAM, plus 4MB of flash storage. The tiny screen is a 1.14-inch full-color IPS LCD Display (via an ST7789V SPI controller) with a resolution of 240 x 135 pixels. 
Whether the two chips communicate with one another, is unclear, but if possible then it could offer another means to get the RP2040 involved with Internet based projects.

What’s particularly interesting is the USB-C port used for power and to access both the microcontrollers. The rotationally symmetrical connector turns out to have different sides after all, as inserting a cable one way round will access the RP2040 (and illuminate a blue LED) while turning it over will access the ESP32 (green LED). There seems to be a reliability problem here, possibly due to differences in cable manufacture, as the company notes that “due to cable problems, it is possible that the indicator light is opposite to the actual connected chip, or even two LED lights at the same time”. Should this happen, you’re advised to try a different cable, with CNX Software speculating that it may all be down to how the cable’s CC1 and CC2 pins are wired.

Whichever way you plug it in, there's source code and documentation on GitHub (opens in new tab), including Arduino and MicroPython code, and the boards themselves are for sale on AliExpress (opens in new tab) for $13.58 at the time of writing, and in limited numbers on Tindie (opens in new tab).

Ian Evenden
Freelance News Writer

Ian Evenden is a UK-based news writer for Tom’s Hardware US. He’ll write about anything, but stories about Raspberry Pi and DIY robots seem to find their way to him.

  • Cafe Hunk
    When is Tenet going to be on this tiny screen, "the way Chris Nolan intended"? ;-)
    Reply
  • ajlenzeatx
    Cafe Hunk said:
    When is Tenet going to be on this tiny screen, "the way Chris Nolan intended"? ;-)

    It may be because it's 1:30 a.m. and I'm semi-delirious, but that's FUNNY!

    Has anyone been able to program the ESP32 using Arduino? I'm following the directions at https://github.com/Xinyuan-LilyGO/T-PicoC3, but when I enter the Arduino Boards Manager and type "EPS32C3 Dev" into the search box, nothing is returned.

    Thanks,

    A.J.
    Reply
  • daveWal
    ajlenzeatx said:
    It may be because it's 1:30 a.m. and I'm semi-delirious, but that's FUNNY!

    Has anyone been able to program the ESP32 using Arduino? I'm following the directions at https://github.com/Xinyuan-LilyGO/T-PicoC3, but when I enter the Arduino Boards Manager and type "EPS32C3 Dev" into the search box, nothing is returned.

    Thanks,

    A.J.
    do you have the espressif url in Preferences, Additional Boards manager?
    Reply
  • ajlenzeatx
    I got it working and wrote up my process on the Raspberry Pi forum. Here's a link to my post:https://forums.raspberrypi.com/viewtopic.php?p=2017092#p2017092
    Reply
  • daveWal
    Thanks AJ, in the end I had problems too. I'll read your writeup.
    Reply