ESP32 Arduino IDE Upload Annoyance


I have a Adafruit Feather ESP32 S3 which I am using to control MIDI through RX TX serial. Every thing is working well except it is annoying uploading programs from the Arduino IDE to the feather (from a Mac mini M1). I have to press two switches which are minuscule and not easily accessed, with my large fingers. There are guides at Adafruit for adding drivers to my computer, but these don’t seem to help.

I noticed another thread with this product:

Is this something I could use to avoid the small buttons?

1 Like

Hi John,

I do recall there being some issues with the latest version of MacOS and drivers around the Maker community.
And unfortunately the Feather-S3 doesnt seem to break out the boot button, so soldering to one of the test-points would be necessary.
(Another solution while you are developing might be to add some larger buttons via jumper wires that you could tuck/cut away later?)

I’m not 100% certain that a dedicated converter will let you send the reset commands to an external programmer but it’s worth a shot! (The ESP32-S3 has an inbuilt USB-UART converter)

Unfortunately that USB to UART adapter doesn’t feature the CTS pin which is used in part of the resetting circuitry.
I’ve had a great experience with the ESP-PROG: ESP-PROG | Sparkfun PGM-19099 | Core Electronics Australia
With the inbuilt auto-reset circuit it makes flashing a breeze.

(The test point in question)

Keen to hear your thoughts!

Thanks for your detailed response. I have mostly finished this project and it was annoying enough that I won’t be getting ESP32’s again… There always seems to be some sort of weird set up for the Arduino IDE that causes issues.
The use of bigger buttons is a good idea and I might do that if I want to change things. I have used another Feather board on another project and had no issues with it. And of course the Teensy’s are awesome.

The device you need is something like this:
There are many other suppliers. You wire it through to the appropriate pins on the ESP and it works in conjunction with the Arduino IDE to take care of the ‘button pressing’ for you.

It’s not clear whether or not the item you mention does the same thing (it has DTR, but no CTS). There is also this:

which might do the same thing (although it obviously does a number of other things).

1 Like

Thanks Jeff. They look like great ideas.

The other option is Arduino OTA. You add some header details, some setup code and one extra line of code to the main loop in the application, and program the device one time using the USB/UART connection. Forever after you connect to the device by WiFi and forget about the cables and buttons - provided you include those extra few lines in everything you upload!


Thanks Jeff. Looks interesting.