Why is platformio bricking my QT-PY ESP32-S2 boards, and can I recover them?

68 Views Asked by At

I have bricked my Adafruit QT-PY ESP32-S2 and need help recovering it and programming it.

I'm running platformio on Ubuntu 22.04. When initially plugged in to USB, the QT-PY ESP32-S2 showed up as /dev/ACM0:

$ ll /dev/serial/by-id
total 0
drwxr-xr-x 2 root root 60 Nov  7 09:53 ./
drwxr-xr-x 4 root root 80 Nov  7 09:53 ../
lrwxrwxrwx 1 root root 13 Nov  7 09:53 usb-Adafruit_QT_Py_ESP32-S2_84:f7:03:f6:96:d8-if00 -> ../../ttyACM0
$ lsusb
..
Bus 001 Device 120: ID 239a:8111 Adafruit QT Py ESP32-S2
..

I added this to my platformio.ini:

monitor_speed = 115200
monitor_port = /dev/ttyACM0

After I uploaded a program using platformio (from inside VSCode if it matters) the device no longer appeared in lsusb at all, even after USB reinsertion. After resetting the device into DFU mode and running lsusb I see this:

$ lsusb
..
Bus 001 Device 119: ID 303a:0002 Espressif ESP32-S2
..

I tried two other QT-PY boards and succeeded in bricking those as well. I cannot use ESPTool as it does not show up as a serial port. I tried connecting the QT-PY boards to a machine running Windows 10 with no success. In the Windows device manager it says no driver found.

I still have one unbricked QT-PY ESP32-S2 that I can program from Windows without incident but that's not a long term solution.

0

There are 0 best solutions below