bgolab
Posts: 392
Joined: Sat Jan 30, 2021 12:59 pm
Location: Krakow, PL

LilyGO T-PicoC3 - all in one (LCD, WIFi, PICO)

Sun May 01, 2022 7:11 am

https://github.com/Xinyuan-LilyGO/T-PicoC3

USB-C port is shared between RP2040 and ESP32-C3 - the USB-C polarity matters.
Attachments
t-c3.jpg
t-c3.jpg (130.06 KiB) Viewed 1707 times

bgolab
Posts: 392
Joined: Sat Jan 30, 2021 12:59 pm
Location: Krakow, PL

Re: LilyGO T-PicoC3 - all in one (LCD, WIFi, PICO)

Mon May 23, 2022 1:20 pm

Just received this board. The LCD is not well mounted, it is separated by the polystyrene from the PCB. Somewhat flaky.

trejan
Posts: 4741
Joined: Tue Jul 02, 2019 2:28 pm

Re: LilyGO T-PicoC3 - all in one (LCD, WIFi, PICO)

Mon May 23, 2022 1:25 pm

bgolab wrote:
Sun May 01, 2022 7:11 am
USB-C port is shared between RP2040 and ESP32-C3 - the USB-C polarity matters.
This is both horrifying and genius.
bgolab wrote:
Mon May 23, 2022 1:20 pm
The LCD is not well mounted, it is separated by the polystyrene from the PCB.
That isn't unusual. Most of the ESP boards do the same. If you're lucky then it is using a socket.

bgolab
Posts: 392
Joined: Sat Jan 30, 2021 12:59 pm
Location: Krakow, PL

Re: LilyGO T-PicoC3 - all in one (LCD, WIFi, PICO)

Mon May 23, 2022 1:33 pm

I described it not very accurately: the lcd is sloppy - neither parallel to pcb nor edge to edge.

Lobo-T
Posts: 93
Joined: Fri Jan 22, 2021 10:52 am

Re: LilyGO T-PicoC3 - all in one (LCD, WIFi, PICO)

Mon May 23, 2022 1:54 pm

trejan wrote:
Mon May 23, 2022 1:25 pm
bgolab wrote:
Sun May 01, 2022 7:11 am
USB-C port is shared between RP2040 and ESP32-C3 - the USB-C polarity matters.
This is both horrifying and genius.
I think this is the only correct reaction to this abuse:
https://youtu.be/mDLS12_a-fk?t=96

trejan
Posts: 4741
Joined: Tue Jul 02, 2019 2:28 pm

Re: LilyGO T-PicoC3 - all in one (LCD, WIFi, PICO)

Mon May 23, 2022 3:09 pm

bgolab wrote:
Mon May 23, 2022 1:33 pm
I described it not very accurately: the lcd is sloppy - neither parallel to pcb nor edge to edge.
I see what you mean. Even the official Lilygo store photo has the LCD mounted crooked. The foam pad is tiny and they're not taking much care sticking it all together.

bgolab
Posts: 392
Joined: Sat Jan 30, 2021 12:59 pm
Location: Krakow, PL

Re: LilyGO T-PicoC3 - all in one (LCD, WIFi, PICO)

Mon May 23, 2022 3:12 pm

I wouldn't describe it better with my English;)

hippy
Posts: 12485
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: LilyGO T-PicoC3 - all in one (LCD, WIFi, PICO)

Mon May 23, 2022 4:35 pm

trejan wrote:
Mon May 23, 2022 1:25 pm
bgolab wrote:
Sun May 01, 2022 7:11 am
USB-C port is shared between RP2040 and ESP32-C3 - the USB-C polarity matters.
This is both horrifying and genius.
I think that accurately sums it up.

It's not the first to use orientation to determine functionality and that wasn't universally welcomed -

https://www.theverge.com/tldr/2021/3/22 ... reversible
trejan wrote:
Mon May 23, 2022 3:09 pm
bgolab wrote:
Mon May 23, 2022 1:33 pm
I described it not very accurately: the lcd is sloppy - neither parallel to pcb nor edge to edge.
I see what you mean. Even the official Lilygo store photo has the LCD mounted crooked. The foam pad is tiny and they're not taking much care sticking it all together.
Could that be by intention ? Making it easier to separate without breaking the display if one wants to adjust how the display is mounted - I have no idea what amount of stretch or moveability is available.

bgolab
Posts: 392
Joined: Sat Jan 30, 2021 12:59 pm
Location: Krakow, PL

Re: LilyGO T-PicoC3 - all in one (LCD, WIFi, PICO)

Thu May 26, 2022 8:30 am

Yes, you might be right. It looks like it is intended
Attachments
f1dfc2a2-4c35-4575-af83-cb743eba67d6.jpg
f1dfc2a2-4c35-4575-af83-cb743eba67d6.jpg (69.3 KiB) Viewed 1201 times

ajlenze
Posts: 25
Joined: Tue Apr 26, 2016 8:28 pm

Re: LilyGO T-PicoC3 - all in one (LCD, WIFi, PICO)

Mon Jun 20, 2022 4:55 pm

I just received a pair of these that I bought on Banggood, and I'm excited to try them out.

Does anyone know how the two microcontrollers communicate? Possibly via SPI? According to the schematic (on GitHub), the RP2040 controls the display, and the program that's pre-installed displays the available WiFi networks, which is info only the ESP32 has, so they must be communicating.

I can see how flipping the USB-C cable wouldn't be too popular. I wonder if there's a way to design a multiple microcontroller board like a USB hub so that each microcontroller can effectively have its own USB port, and there's no need to flip the cable?

A.J.

trejan
Posts: 4741
Joined: Tue Jul 02, 2019 2:28 pm

Re: LilyGO T-PicoC3 - all in one (LCD, WIFi, PICO)

Mon Jun 20, 2022 5:06 pm

ajlenze wrote:
Mon Jun 20, 2022 4:55 pm
Does anyone know how the two microcontrollers communicate?
UART with RTS/CTS.
ajlenze wrote:
Mon Jun 20, 2022 4:55 pm
I wonder if there's a way to design a multiple microcontroller board like a USB hub so that each microcontroller can effectively have its own USB port, and there's no need to flip the cable?
Yes. They'd need to add a USB hub chip which costs money and takes up space.

bgolab
Posts: 392
Joined: Sat Jan 30, 2021 12:59 pm
Location: Krakow, PL

Re: LilyGO T-PicoC3 - all in one (LCD, WIFi, PICO)

Mon Jun 20, 2022 7:15 pm

Yes, UART is used for sure to control ESP32:

Code: Select all

from machine import UART, Pin
import time
class esp_uart:
    def __init__(self,bus_num):
        self.uart = UART(bus_num, baudrate=115200, tx=Pin(8), rx=Pin(9), cts=Pin(10), rts=Pin(11))
        self.uart.write('ATE0\r\n') #turn off echo
        
    def sendAT(self,cmd):
        self.uart.write('AT+'+cmd+'\r\n')
        while self.uart.any()==0:
            time.sleep_ms(1)
        time.sleep_ms(50) #Prevent data loss caused by excessive data
        return print(self.uart.read())

hippy
Posts: 12485
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: LilyGO T-PicoC3 - all in one (LCD, WIFi, PICO)

Mon Jun 20, 2022 7:41 pm

ajlenze wrote:
Mon Jun 20, 2022 4:55 pm
I can see how flipping the USB-C cable wouldn't be too popular. I wonder if there's a way to design a multiple microcontroller board like a USB hub so that each microcontroller can effectively have its own USB port, and there's no need to flip the cable?
No need to use a hub, just route each micro to its own connector rather than combine them on one ...

Code: Select all

           .-.                            .-.         .-.
Micro -----|O|          Micro --------.---|O|   .-----|O|
 One  -----|O|           One  --------|-.-|O|   | .---|O|
           | |                        | | | |   | |   | |
Micro -----|O|          Micro ----.   `-|-|O|   }-|---|O|
 Two  -----|O|           Two  --. |     `-|O|   | }---|O|
           `-'                  | |       `-'   | |   `-'
                                | `-------------' |
                                `-----------------'
Or one can simply use a two pole switch to select to which micro the USB connector goes.

ajlenze
Posts: 25
Joined: Tue Apr 26, 2016 8:28 pm

Re: LilyGO T-PicoC3 - all in one (LCD, WIFi, PICO)

Mon Jun 27, 2022 6:12 am

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.


ajlenze
Posts: 25
Joined: Tue Apr 26, 2016 8:28 pm

Re: LilyGO T-PicoC3 - all in one (LCD, WIFi, PICO)

Mon Jun 27, 2022 9:35 am

I've programmed ESP32s in Arduino before, but my setup didn't work for this T-PicoC3 board. I wasn't too surprised, as the ESP32C3 on the T-PicoC3 is a bit of a different animal. So I followed the instructions at https://github.com/Xinyuan-LilyGO/T-PicoC3, but when I get to step 4. which says to type "ESP32C3 Dev" into the Arduino Boards Manager search box, nothing is returned.

A.J.

Lobo-T
Posts: 93
Joined: Fri Jan 22, 2021 10:52 am

Re: LilyGO T-PicoC3 - all in one (LCD, WIFi, PICO)

Mon Jun 27, 2022 10:10 am

Did you actually read the above link?
Have you done this bit?:
Enter one of the release links above into Additional Board Manager URLs field. You can add multiple URLs, separating them with commas.

ajlenze
Posts: 25
Joined: Tue Apr 26, 2016 8:28 pm

Re: LilyGO T-PicoC3 - all in one (LCD, WIFi, PICO)

Mon Jun 27, 2022 10:30 am

Yes, I tried both the Stable and Development links. Both were specified in the https://github.com/Xinyuan-LilyGO/T-PicoC3 instructions I referred to. Also, I already had the esp32 package installed from my earlier work.

ajlenze
Posts: 25
Joined: Tue Apr 26, 2016 8:28 pm

Re: LilyGO T-PicoC3 - all in one (LCD, WIFi, PICO)

Tue Jun 28, 2022 5:52 am

Well, I THINK (fingers crossed) I was able to upload a new Arduino ESP32 sketch to the T-PicoC3. I mostly followed the instructions at https://github.com/Xinyuan-LilyGO/T-PicoC3, but in a couple of cases, the instructions were confusing, to me at least. Here's the process I followed:

1. Open the Arduino IDE and go to File->Preferences.
2. In the Additional Boards Manager URLs dialog, add the following link, then click OK to save this link.

Code: Select all

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json
Note: In the GitHub instructions, it gives you a choice of two different links. Only one works, the one they call the "Development release link".
3. Go to Tools->Board->Boards Manager in the IDE.
4. Type "esp32" into the search box. The boards package "esp32 by Espressif Systems" should be the only boards package displayed. Either click "Install" to add this package, or, if it's already installed, click "Update" to get the latest version. Either way, this will take a while. When it finally does finish, click Close to exit Boards Manager.
Notes: 1) In the GitHub instructions, it says to search for "EPS32C3 Dev", which is misspelled, and won't work anyway. 2) If you've programmed ESP32s before, this "esp32 by Espressif Systems" package will already be installed (probably version 1.0.6), but you need to update it (to version 2.0.3) for it to work with the T-PicoC3. This really confused me, as I expected a brand new package for the ESP32C3.
5. Go to Tools->Board->ESP32 Arduino in the IDE and select ESP32C3 Dev Module
6. To upload your first sketch, you'll probably have to power-up your T-PicoC3 with pin IO9 connected to ground. Once you load your first sketch, you won't have to keep doing this. Also, it doesn't work to press the reset button with IO9 grounded, because the reset button only resets the RP2040.

I'm not out of the woods yet, as my sketch executes a bunch of Serial.printf() calls, but nothing is being displayed on the Arduino Serial Monitor. However, it is doing something, because, initially, the T-PicoC3 would display a Raspberry Pi logo on its screen, then (in very small text) display "Hello Pico and ESP32C3" then "Scanning available networks..." then a list of available networks. Now it displays the logo and then the "Hello" message, but then it displays "The ESP32C3 communication fails..."

Hope this helps someone. I'll keep working to try to solve my Serial.printf() problem or maybe, I'll solder on the pins and hook up an LED to run a Blink sketch, to make sure I'm really downloading (and running) my own sketch.

A.J.

ajlenze
Posts: 25
Joined: Tue Apr 26, 2016 8:28 pm

Re: LilyGO T-PicoC3 - all in one (LCD, WIFi, PICO)

Tue Jun 28, 2022 5:31 pm

(Sheepishly) With LilyGo's help, I "fixed" my Serial.printf() problem. When you switch the Board to "ESP32C3 Dev Module", a new setting comes up in the Tools menu, labeled "USB CDC On Boot". This setting defaults to Disabled, and when I set it to Enabled, I could view the output of my Serial.printf() calls on the Arduino Serial Monitor. (You may also want to check the Upload Speed setting - I tend to use 115,200, but somehow it keeps getting changed to 921,600.) Problem SOLVED - Thanks LilyGo!

A.J.

BOCTOK
Posts: 1
Joined: Mon Jul 04, 2022 2:09 pm

Re: LilyGO T-PicoC3 - all in one (LCD, WIFi, PICO)

Mon Jul 04, 2022 2:13 pm

Hmm. I followed the steps that A. J. posted above, but after loading the WiFiClientBasic sketch, I get the splash screen, followed by

Hello Pico and ESP32C3
The ESP32C3 0communication fails...

No doubt it's something simple that I'm missing.

ajlenze
Posts: 25
Joined: Tue Apr 26, 2016 8:28 pm

Re: LilyGO T-PicoC3 - all in one (LCD, WIFi, PICO)

Mon Jul 04, 2022 5:26 pm

Hmm. I followed the steps that A. J. posted above, but after loading the WiFiClientBasic sketch, I get the splash screen, followed by

Hello Pico and ESP32C3
The ESP32C3 0communication fails...

No doubt it's something simple that I'm missing.
It sounds like you're loading your sketch okay, and the fact that you're getting "The ESP32C3 communication fails..." probably means that you did replace the original ESP32 sketch with a new one. So far so good.

I'm looking at the WiFiClientBasic sketch, and it has a bunch of Serial.print statements in it. Did you enable "USB CDC On Boot", then check what's happening on the Arduino Serial Monitor? (Also, make sure the bitrate speeds match between the sketch, the Arduino Serial Monitor, and the "Upload Speed" setting.) I'll bet the sketch is running fine, but its output is not going to appear on the T-PicoC3's little screen, as the screen is controlled by the RP2040.

Hope this helps,

A.J.

Return to “Other RP2040 boards”