LilyGO T-PicoC3 is a small development board combining Raspberry Pi RP2040 dual-core microcontroller with ESP32-C3 RISC-V MCU to add WiFi and Bluetooth LE connectivity and adds a 1.14-inch color display to the mix, plus several I/Os.
We had previously other designs merging ESP32 and RP2040 with UDOO KEY, Arduino Nano RP2040 Connect, or the Pico Wireless Pack among others, but as far as I know, the T-PicoC3 board is the first to use Raspberry Pi RP2040 and ESP32-C3 RISC-V processor.
LilyGO T-Pico3 specifications:
- Microcontrollers
- Raspberry Pi RP2040 dual-core Cortex-M0+ MCU with 264 KB of embedded SRAM
- Espressif Systems ESP32-C3 RISC-V processor with WiFi 4 and Bluetooth 5.0 LE connectivity
- Storage – 4MB SPI flash connected to RP2040
- Display – 1.14-inch full-color IPS LCD Display (ST7789V SPI controller) with 240 x 135 resolution
- USB – USB Type-C port for power and programming (RP2040 / ESP32-C3)
- Expansion – 15-pin + 12-pin expansion headers with
- RP2040 – Up to 15x GPIOs, up to 2x UART, up to 2x I2C, up to 2x SPI, 2x programmable high-speed I/O, up to 3x ADC, 5V, 3.3V, and GND
- ESP32-C3 – Up to 3x GPIOs, 1x ADC, Reset and GND
- Misc – Boot & Run (RP2040 Reset) buttons, 2x user buttons, 3x LEDs, unpopulated SWD header
- Power Supply – 5V via USB-C port
- Dimensions – 53 x 24 mm
Both the Raspberry Pi RP2040 and ESP32-C3 microcontroller are programmable, and interestingly the Tx/Rx connection is decided by the orientation of the USB Type-C connector: A side is for RP2040 (Blue LED on) and B side (Green LED on) is for ESP32-C3. I had no idea this was possible until today… It does not seem 100% reliable though, as the company says 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”. If that happens you’re asked to try another cable, and I think it’s related to whether CC1/CC2 pins are wired.
The source code and documentation can be found on Github with the RP2040 side having samples for Arduino or MicroPython, and the ESP32-C3 side with Arduino only. Just like other ESP32 + RP2040 designs, there are not that many applications that could not be done with an ESP32 only. What’s interesting here is that LilyGO had already made similar boards with T-Display RP2040 and T-Display ESP32 using only one microcontroller each, but they decided it was worth it to create another board with the Raspberry Pi MCU AND ESP32-C3…
LilyGO T-PicoC3 board can be purchased on Aliexpress for $13.58 with free shipping. That’s about the regular price for the T-Display RP2040 board (now discounted to $10.95), and now, I note the lack of a USB to TTL chip on the T-PicoC3, which probably means ESP32-C3’s USB port is used for programming and may explain the similar price point.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
What could possibly be the point to merge these two together? The ESP32 has more of everything than the 2040.
Yes, what could be the goal with this board ? I dont understand …
@Mike, my point exactly. The only thing I see going for the RP2040 is the Raspberry ‘brand’, in terms of specs and capabilities the ESP32-C3 wins hands down
It’s a board for learning. Not for professional use
I/O capabilities – RP2040 has more I/O pins, and has the Programmable I/O block which is great for precisely timed outputs
Which microcontroller controls the display?
Is there a way for the 2 to talk to each other or does that require gpios?
Based on the Arduino samples, the display is connected to RP2040, and RP2040 sents AT commands to ESP32-C3 via a UART interface.
I love that trick they pulled with the USB-C pins — very interesting combo, though, especially since the ESP-32C3 version really should be able to do everything the RP2040 can with none of the edge cases. Lots bitbanging capabilities though and a pretty good price if you just want add wifi and bt to an RP2040 perhaps?
Has anyone been able to program the ESP32 using Arduino? I’m following the directions, but when I enter the Arduino Boards Manager and type “EPS32C3 Dev” into the search box, nothing is returned.
Thanks,
A.J.
Double-check whether the board manager URL is properly added:
Yeah, I tried both the Stable and Development links on two different computers.
Thanks for responding so quickly, though.
According to github link, you would need to re-install firmware in order to be able to program it.Because it has ESP32-AT firmware pre-installed.
If a board similar to this is for professional use, then why waste time learning to use th5gis one if it is only for “learning”. Use a real tool to learn.