espressif / esp-serial-flasher

Library for flashing Espressif SoCs from other MCUs.
Apache License 2.0
386 stars 110 forks source link

slave device PINOUT (ESF-102) #89

Closed cyberdevnet closed 11 months ago

cyberdevnet commented 11 months ago

Port

ESP

Target chip

ESP32-S3

Hardware Configuration

ESP32-8048S043

Log output

connect to target failed (because no physical connection yet)

More Information

Maybe a stupid question but, I'm trying to flash a display model ESP32-8048S043 (e.g. https://it.aliexpress.com/i/1005004788147691.html) which has no exposed GPIO0 and RESET pin, what can I do?

JimNickerson commented 11 months ago

Have you plugged the USB cable into your computer ?

cyberdevnet commented 11 months ago

@JimNickerson yes it connected with the usb cable at the moment, it takes power from usb (but this will change)

JimNickerson commented 11 months ago

what programming environment are you using that produces the "connect to target failed (because no physical connection yet)" message ?

cyberdevnet commented 11 months ago

Sorry, that was a print statement I put for debugging, I'm using arduino environment

JimNickerson commented 11 months ago

are you running one of the example ino from the .zip ?

cyberdevnet commented 11 months ago

I'm trying this: https://github.com/espressif/esp-serial-flasher/tree/master/examples/esp32_example

But I don't have a problem with the code, my question is: my board has no GPIO0 and RESET pin exposed, how the connection works?

ESP32 (host) ESP32 (slave) IO26 IO0 IO25 RESET IO4 RX0 IO5 TX0

actually I have another esp32 dev-kit but also this has no gpio0 pin. I'm completely wrong or do I have to solder a jump to the boot button?

JimNickerson commented 11 months ago

maybe you could begin with one of the Arduino example ino in the zip available from the ali website. As this is an S3 and a USB cable ask arduino to connect to the USB comms port and program the board. Espressif documents the programming sequence when using the S3 USB.

JimNickerson commented 11 months ago

Are you trying to turn the Ali ESP32-8048S043 board into a Serial Flasher Device ?????

cyberdevnet commented 11 months ago

@JimNickerson are you using this library? Cn you show me how your esp (master and slave) are connected together?

JimNickerson commented 11 months ago

What do you expect the "Serial Flasher example" to do when you have completed your project ?

JimNickerson commented 11 months ago

are you trying to turn the Ali ESP32-8048S043 board into a Serial Flasher Device to program other ESP32 boards; or are you trying to program the Ali ESP32-8048S043 board from another board using the Serial Flasher Example ? Either way the target board to be programmed must expose the serial pins and the reset and gpio pins and the master board can drive the pins.

DNedic commented 11 months ago

Hello @cyberdevnet , It would help us provide better feedback for you if you provided your usecase and intended connection setup. esp-serial-flasher is a library for flashing Espressif SoC's from other MCUs and SBCs, but if all you want to do is to flash an Espressif SoC offline, you can use esptool or espflash.

For a quickstart, take a look at ESP-IDF Get Started section of our documentation.

If you do indeed have an usecase for esp-serial-flasher, please provide more details.

dobairoland commented 11 months ago

I'm closing this for inactivity.

cyberdevnet commented 11 months ago

Sorry for the late response, let me explain my setup and what I'm trying to achieve.

Setup Description:

Master Device: ESP32-S3-DevKit C N16R8 Slave Device: Display model ESP32-8048S043 Connection: Serial interface (Serial1) between Master and Slave

I have an ESP32-S3-DevKit C N16R8 which is my master device, the master is connected via serial interface (Serial1) to a display model ESP32-8048S043 (which is the slave), with Serial1 I can share data between the Master and the Slave. This Serial connection is used to update the display but also to send data from the display to the master. Note that Master and Slave are connected as follow:

Master Slave RX TX TX RX +5v +5v GND GND

Why I need esp-serial-flasher? The firmware of the master device is upgraded using either its USB Serial connection or via OTA, which is perfectly fine for my needs. BUT I would like to do also the following:

My concern is not about the code but about the physical connection between the master and the slave. As seen in this image [https://macsbug.files.wordpress.com/2022/10/4280s043_layout.jpg?w=700], the slave display lacks exposed RST and IO0 pins.

Should I solder 2 cables at the BOOT and RST button?

Is there any other way to put the slave into boot mode without using RST and IO0 pin?

I hope my question is now clear, any guidance or suggestions would be greatly appreciated.

DNedic commented 11 months ago

Hello @cyberdevnet , unfortunately there is no other way to get the device into the Boot ROM without pulling down the strapping pin (IO0). USB can set RESET and BOOT as well by using DTR and RTS, however there is no support at the moment for the USB interface in esp-serial-flasher (see: https://github.com/espressif/esp-serial-flasher/issues/64 for the feature request).

cyberdevnet commented 11 months ago

@DNedic Thanks for your answer, I even tried to put the device into boot mode programmatically bridging another unused gpio for the reset and helding LOW gpio0, the device goes into a reset loop :(

I really wanted avoid soldering flying wire on that display