Unable to program/Boot loop custom ESP32-C3-MINI board
Posted: Tue Apr 05, 2022 11:20 pm
Hi everyone, I'm currently tryin to develop a custom board based on the super compact ESP32-C3-MINI-1-N4.
This is (or it should be, at least) an improved version of another board of mine, based on ESP32-WROOM-32 that was tested and working.
I wanted to make a smaller board, with USB charge functionality. Board programming should happen via RX/TX pins, I am using an external USB to TTL converter, that worked fine with the wroom board.
If you are wondering why am I not using USB to directly program the board by putting the converting onboard, it was a matter of size constraints that I had to follow. I know, having usb for power only is pretty dumb but hey, it is what it is this is just a proto board anyway.
What I'm experiencing here is a boot loop that does not let me program the board.
The power elements (load sharing P-MOSfet, USB charge circuit) comes from a Adafruit Feather board, while all the remaining elements are the same from the wroom board, which works perfectly fine.
I assembled both my boards with JLCPCB service, now that i got the C3 one i'm trying to upload my code but the loop is preventing me to do so. It's a 3.3V board.
I'm working in Arduino IDE
When I try to upload a basic test sketch I get connection failures
The serial monitor is simply spamming "invalid header: 0xffffffff" messages and restarts
Here is my schematic
I really have no idea of what's happening here, the WROOM board was fresh and working out of the factory.
Any help would be appreciated, thanks everyone.
This is (or it should be, at least) an improved version of another board of mine, based on ESP32-WROOM-32 that was tested and working.
I wanted to make a smaller board, with USB charge functionality. Board programming should happen via RX/TX pins, I am using an external USB to TTL converter, that worked fine with the wroom board.
If you are wondering why am I not using USB to directly program the board by putting the converting onboard, it was a matter of size constraints that I had to follow. I know, having usb for power only is pretty dumb but hey, it is what it is this is just a proto board anyway.
What I'm experiencing here is a boot loop that does not let me program the board.
The power elements (load sharing P-MOSfet, USB charge circuit) comes from a Adafruit Feather board, while all the remaining elements are the same from the wroom board, which works perfectly fine.
I assembled both my boards with JLCPCB service, now that i got the C3 one i'm trying to upload my code but the loop is preventing me to do so. It's a 3.3V board.
I'm working in Arduino IDE
When I try to upload a basic test sketch I get connection failures
Code: Select all
A fatal error occurred: Failed to connect to ESP32-C3: Invalid head of packet (0x**)
Code: Select all
01:10:48.528 -> Build:Feb 7 2021
01:10:48.528 -> rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
01:10:51.134 -> invalid header: 0xffffffff
01:10:51.134 -> invalid header: 0xffffffff
[...]
01:10:51.134 -> invalid header: 0xffffffff
01:10:51.134 -> invalid header: 0xffffffff
01:10:49.831 -> invalid heade⸮ESP-ROM:esp32c3-api1-20210207
01:10:49.831 -> Build:Feb 7 2021
01:10:49.831 -> rst:0x7 (TG0WDT_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
01:10:49.831 -> Saved PC:0x4004d1f8
01:10:51.134 -> invalid header: 0xffffffff
01:10:51.134 -> invalid header: 0xffffffff
[...]
01:10:51.134 -> invalid header: 0xffffffff
01:10:51.134 -> invalid header: 0xffffffff
01:10:51.134 -> invalid heade⸮ESP-ROM:esp32c3-api1-20210207
01:10:51.134 -> Build:Feb 7 2021
01:10:51.134 -> rst:0x7 (TG0WDT_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
01:10:51.134 -> Saved PC:0x4004d1f8
01:10:51.134 -> invalid header: 0xffffffff
01:10:51.134 -> invalid header: 0xffffffff
[...]
01:10:51.134 -> invalid header: 0xffffffff
01:10:51.134 -> invalid header: 0xffffffff
01:10:51.460 -> invalid he⸮ESP-ROM:esp32c3-api1-20210207
01:10:51.460 -> Build:Feb 7 2021
01:10:51.460 -> rst:0x10 (RTCWDT_RTC_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
01:10:51.460 -> invalid header: 0xffffffff
01:10:51.506 -> invalid header: 0xffffffff
01:10:51.506 -> invalid header: 0xffffffff
I really have no idea of what's happening here, the WROOM board was fresh and working out of the factory.
Any help would be appreciated, thanks everyone.