ESP32-S2 Reverse TFT Feather serial issue

For Adafruit customers who seek help with microcontrollers

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
edestes
 
Posts: 11
Joined: Sat Aug 07, 2010 9:22 pm

ESP32-S2 Reverse TFT Feather serial issue

Post by edestes »

Greetings.

I recently purchased an Adafruit ESP32-S2 Reverse TFT Feather and have run into a problem where it will not connect serially and I am unable to perform a factory reset.  Let me give you a little background.

I followed the Primary Guide: Adafruit ESP32-S2 Reverse TFT Feather and installed the latest CircuitPython 8.0.5 uf2 image:

adafruit-circuitpython-adafruit_feather_esp32s2-en_US-8.0.5.uf2

I used Thonny (which I already had installed due to some RPi Pico development) to successfully update the code.py file for blinking led code test:

Code: Select all

import board
import digitalio
import time

led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT
 
while True:
    led.value = True
    time.sleep(0.5)
    led.value = False
    time.sleep(0.5)
At some point the board became unresponsive and I couldn't talk over the serial port with Thonny. I did a basic factory reset, as outlined in the Factory Reset documentation.  It appears to reset but the serial port is still not working.

The FTHRS2BOOT USB device shows up, so I know my cable is working.  (and I've tried a couple of different manufacturer cables just for grins)

So my assumption is the boot loader is corrupt and needs to be reflashed, but any tutorial showing how to do this (like with the Adafruit WebSerial ESPTool require communications over the serial port.  The device is showing up, but when I try to connect to it I get the following error:
ESP Web Flasher loaded.
Connecting...
Connected successfully.
Try hard reset.
[Object.debug:191] Finished read loop
Error: Couldn't sync to ESP. Try resetting.
Any help on getting this working would be greatly appreciated.  (and if you have an idea of what I did to cause it, it would be helpful to know so I can avoid making the same mistake in the future.

Cheers!

--Ed

User avatar
adafruit_support_carter
 
Posts: 29056
Joined: Tue Nov 29, 2016 2:45 pm

Re: ESP32-S2 Reverse TFT Feather serial issue

Post by adafruit_support_carter »

Can you clarify the current state of the Feather. Are you still able to double press reset and get the FTHRS2BOOT folder to show up?

User avatar
edestes
 
Posts: 11
Joined: Sat Aug 07, 2010 9:22 pm

Re: ESP32-S2 Reverse TFT Feather serial issue

Post by edestes »

Yes, it can mount as a USB drive, but I am unable to communicate with the feather via serial.

I tried resetting the ESP32-S2 by loading the file:

feather-esp32-s2-factory-reset.UF2

but that didn't clear the serial port issue. I downloaded the full reset, which also replaces the bootloader:

feather-esp32-s2-factory-reset-and-bootloader.bin

but the only way to do this full reset (to my knowledge) is via the serial port.

--Ed

User avatar
adafruit_support_carter
 
Posts: 29056
Joined: Tue Nov 29, 2016 2:45 pm

Re: ESP32-S2 Reverse TFT Feather serial issue

Post by adafruit_support_carter »

If you are able to get the FTHRS2BOOT folder to show up, then the UF2 bootloader is installed and running as expected. There is no need to attempt any additional bootloader updating/repairing.

If you are no longer seeing the CIRCUITPY folder, then you may need to reinstall the CircuitPython firmware.

Using the .bin does require serial, but also entering ROM bootloader mode, which is not the same as the UF2 bootloader. But since you are seeing the FTHRS2BOOT folder, this should also not be needed.

Try reinstalling CircuitPython.

User avatar
edestes
 
Posts: 11
Joined: Sat Aug 07, 2010 9:22 pm

Re: ESP32-S2 Reverse TFT Feather serial issue

Post by edestes »

OK. So all the serial communication for editing files, etc is done through the CircuitPython image that's installed on the ESP32-S2? Good to know.

I'll try that when I get home and report my results.

Cheers!

--Ed

User avatar
adafruit_support_carter
 
Posts: 29056
Joined: Tue Nov 29, 2016 2:45 pm

Re: ESP32-S2 Reverse TFT Feather serial issue

Post by adafruit_support_carter »

A serial port can show in different modes as well. For example, the ROM bootloader mode is nothing but a COM port. No folder shows up in that mode. The serial port is provided by the ROM bootloader.

A serial port may or may not show up in UF2 bootloader mode. But this mode mainly focuses on using the BOOT folder that shows up anyway.

Once CircuitPython firmware is installed, a serial port should show up. This one is provided by the CircuitPython firmware.

User avatar
edestes
 
Posts: 11
Joined: Sat Aug 07, 2010 9:22 pm

Re: ESP32-S2 Reverse TFT Feather serial issue

Post by edestes »

So reinstalling the CircuitPython firmware did not correct the problem.

When it rebooted, the serial port shows up in the Device Manager as COM6 (currently testing on Windows 10 Home) but I get an error message in less than 30 seconds:
USB Device not recognized
USB Device not recognized
USB_Error.png (59.53 KiB) Viewed 866 times

Then the device is removed from the Device Manager. I have a second Feather that still has the factory image and it works fine. I am able to connect to the device (so the USB cable is good) and I see the output when I connect to the serial port:
**********************
I2C scan: 0x36,
Found MAX17048 with Chip ID: 0xC
**********************
I2C scan: 0x36,
Found MAX17048 with Chip ID: 0xC
1
0
0
The board in question was working for a couple of hours as I was running different example code on it. Then the serial port stopped talking to Thonny and I can't figure out how to resolve the issue.

Any other suggestions?

--Ed

User avatar
adafruit_support_carter
 
Posts: 29056
Joined: Tue Nov 29, 2016 2:45 pm

Re: ESP32-S2 Reverse TFT Feather serial issue

Post by adafruit_support_carter »

Are you seeing the CIRCUITPY folder at the same time Device Manager is complaining about the COM port?

User avatar
edestes
 
Posts: 11
Joined: Sat Aug 07, 2010 9:22 pm

Re: ESP32-S2 Reverse TFT Feather serial issue

Post by edestes »

No. The CIRCUITPY folder only shows up when I "double-tap the reset button" to boot, otherwise the folder doesn't show up and the COM port does.

--Ed

User avatar
adafruit_support_carter
 
Posts: 29056
Joined: Tue Nov 29, 2016 2:45 pm

Re: ESP32-S2 Reverse TFT Feather serial issue

Post by adafruit_support_carter »

Weird. Double tap should bring up the boot loader, which would then be a folder named FTHRS2BOOT.

Not sure why it's requiring double tap to get CIRCUITPY to show up, but when it does, is there then a COM port showing up?

User avatar
edestes
 
Posts: 11
Joined: Sat Aug 07, 2010 9:22 pm

Re: ESP32-S2 Reverse TFT Feather serial issue

Post by edestes »

I misspoke - it is the FTHRS2BOOT volume that comes up with the double tap. (didn't notice the difference in the volume name)

No USB volume mounts when I let it boot up normally. (after reinstalling circuitpython) Is that what the USB error is for? (and in the process it kills the COM port after reporting the error?)

--Ed

User avatar
adafruit_support_carter
 
Posts: 29056
Joined: Tue Nov 29, 2016 2:45 pm

Re: ESP32-S2 Reverse TFT Feather serial issue

Post by adafruit_support_carter »

OK, thanks, that makes more sense.

The file you are using for installing CircuitPython firmware looks correct:

Code: Select all

 adafruit-circuitpython-adafruit_feather_esp32s2-en_US-8.0.5.uf2
 
And that file is what should be copied to the FTHRS2BOOT folder.

You're doing that, and the copy look like it works OK, but after it's done you get:
* get a Windows USB device not recognized error
* No CIRCUITPY folder shows up
* A COM port shows up with what appears to be an I2C scanner programmer running

Is that the current situation?

User avatar
neradoc
 
Posts: 542
Joined: Wed Apr 27, 2016 2:38 pm

Re: ESP32-S2 Reverse TFT Feather serial issue

Post by neradoc »

Hi, if this is the ESP32-S2 feather reverse TFT, these are not the correct files.

This is the board page:
https://circuitpython.org/board/adafruit_feather_esp32s2_reverse_tft/
adafruit-circuitpython-adafruit_feather_esp32s2_reverse_tft-en_US-8.0.5.uf2

And this is the factory reset link:
https://learn.adafruit.com/esp32-s2-reverse-tft-feather/factory-reset
adafruit_feather_esp32s2_reversetft_factory_reset.uf2
reverse-tft-esp32-s2-feather-factory-reset-and-bootloader.bin

It says "reverse tft" in the file names.

User avatar
adafruit_support_carter
 
Posts: 29056
Joined: Tue Nov 29, 2016 2:45 pm

Re: ESP32-S2 Reverse TFT Feather serial issue

Post by adafruit_support_carter »

Ah - good catch. Yep, try that. Make sure correct CircuitPython image is being used.

Also - how are you accessing the serial output that you are seeing? What program were you using to see this output?

Code: Select all

 **********************
I2C scan: 0x36,
Found MAX17048 with Chip ID: 0xC
**********************
I2C scan: 0x36,
Found MAX17048 with Chip ID: 0xC
1
0
0 

User avatar
edestes
 
Posts: 11
Joined: Sat Aug 07, 2010 9:22 pm

Re: ESP32-S2 Reverse TFT Feather serial issue

Post by edestes »

neradoc wrote: Tue Apr 11, 2023 8:39 pm Hi, if this is the ESP32-S2 feather reverse TFT, these are not the correct files.

It says "reverse tft" in the file names.
Great catch. That appears to have been the issue. I was able to download the proper files you referenced and restore the device. Here's what I had to do. I still had an issue with my HID code, but at least now I was getting feedback and was able to restore the feather:
ErrorScreenFeather.png
ErrorScreenFeather.png (584.57 KiB) Viewed 838 times
A full bios reset, following the Factory Reset and Bootloader Repair instructions completed the process:
  1. Press and hold the BOOT/DFU button down. Don't let go of it yet!
  2. Press and release the Reset button. You should still have the BOOT/DFU button pressed while you do this.
  3. Now you can release the BOOT/DFU button.
(the BOOT/DFU button is the D0 button on the feather)

I needed to erase all the data:

Image

And then program the board with the proper bin file:

Image

Thanks again for the help.

--Ed

Locked
Please be positive and constructive with your questions and comments.

Return to “Microcontrollers”