Afternoon all, probably a really stupid issue. I cant get code to upload to the ESP32. Using the normal Thing models (skeleboard and wroom) you just hold down a boot button, but I dont see one on this. Do we need to utilize the rst pads on the bottom? Drivers are fine (reinstalled, and working fine for my other sparkfun esp32 board).
The smôl ESP32 does not have boot or reset buttons. Automatic upload from the Arduino IDE will only work if you have the official Silicon Labs CP210X USB driver installed, so that the driver can toggle the DTR and RTS pins correctly to enter the bootloader.
If you are using Windows and currently have a ‘generic’ driver installed, you may need to open the Device Manager and use the Update Driver option to overwrite whatever COM Port driver you have installed with the official Silicon Labs one.
Unzip the file. Navigate to the folder SparkX_smol_ESP32-main/examples/RGB_LED_Binary . Double-click on RUN_ME.bat to upload the code to your board.
The batch file finds the correct COM port by searching your ‘Plug and Play entities’ for COM and CP210x . It then uses esptool.exe to upload the binary to the board.
I tested all of the smôl ESP32 boards personally, so I know they’re good. We just need to figure out what is different with your set-up. I was having the same problem as you initially, back when I was first developing these boards, but installing the official Silicon Labs CP210x driver fixed that.
I am actually experiencing a similar problem (not sure if the same). I develop on a Mac and installed the latest drivers from https://www.silabs.com/developers/usb-t … cp-drivers (for the CP210x chip). The firmware upload only worked exactly once on this Mac (tried the LED example). All subsequent upload attempts failed on this computer.
This is Apple Silicon (M1 processor) so I’ve tried on an older Intel i5-based Macbook Pro with the exact same results. I then moved to a Windows 7 even older Dell laptop but the drivers do not work on Win7. Finally, I’ve asked my wife to lend me her Win10 laptop and that was the only one that it worked on.
I have no idea how/why it worked for that first upload on the M1 Mac, it currently only works on the Windows 10 computer (out of 4 laptops).
If it helps you debug it, the first upload (that worked on the M1 Mac) was also the very first upload made to the board, I had just taken it out of the box. Could it be that the upload messed something up with the board firmware making it unresponsive? Or maybe the Mac drivers are to blame…
The driver needs to be able to toggle the CP210x’s DTR and RTS pins to put the ESP32 into bootloader mode. That fails on Windows 10 / 11 if you are using a generic driver. Serial communication works, but the driver seems to be unable to toggle the DTR and RTS pins. With the correct Silicon Labs driver installed, everything works. (See image below.)
I tested all the smôl ESP32 boards at SparkFun using a Windows laptop. It seems very unlikely that your first successful upload changed anything on the CP210x. It is a puzzle why it worked once but not again.
The Mac driver does appear to not be working correctly. Unfortunately I don’t have a Mac… If you have time to investigate a little further, please do. If you are unable to make progress, please let me know and I will add a warning to the product page letting customers know about the issue.
There are very small test points on the RESET and BOOT signals on the bottom of the PCB. If you have your reading glasses handy (!), you can use a jumper wire to momentarily connect the BOOT pad to GND / 0V to place the ESP32 into bootloader mode. It is the same as pressing the BOOT button on a regular ESP32 board. Please see the photo below. The BOOT pad is highlighted. The nearest GND connection is the small square pad next to the “T” of “TXD” - also highlighted in the photo.
Many apologies for the inconvenience. Please let me know how it goes.
I’ve just checked the Bill Of Materials for both the ESP32 Thing Plus (WRL-17743) and the smôl ESP32 (SPX-18619) and both use the exact same CP2102N USB-UART Bridge. Same Product Id (inventory code). Same chip…
The only real difference between the two is that the Thing Plus uses an ESP32 WROOM module, whereas the smôl uses the bare ESP32 chip. That shouldn’t matter, but it’s a difference.
We’ll try and get to the bottom of this. I’m completely Windows-based - I don’t have access to a Mac. Which means I need to ask a colleague to investigate - and they’re all busy people… It might take us a while, but we do need to understand what’s going on.
Meanwhile, thank you for your patience and understanding.
Yes, definitely 6.0.2. There are numerous people over at SI Labs’ forum that have the same problem. If you go under System Information / Software / Extensions, the driver is listed as com.silabs.cp210x, but under Loaded it says “no”.
Paul, do you think that there will be another version of Smol ESP32 that uses a different driver?
We have plans for a smôl Processor Board based on a low power processor - probably STM32.
At the moment, we don’t plan to revise the ESP32 smôl board. (That was designed for a very specific project where the board needed to be as slim as possible - and no wider than a AA battery. Mounting holes were not required - or feasible.)
Thanks for investigating this and apologies for the inconvenience,
I recently acquired a Smol ESP32 and I am running into the same issue highlighted above. However, I AM on Windows 10 with all required software up-to-date (or so I believe, see below). I’m uploading to a “Sparkfun ESP32 Thing” board on port COM3. Notably, I am able to upload software by jumping BOOT to GND, suggesting the board is likely just fine. Any thoughts on other potential solutions?
Thanks in advance!
Peter
Running:
Windows 10, 21H2
Arduino IDE v.1.8.19
ESP32 v2.0.2
Sparkfun ESP32 Boards v1.0.1
CP210x Driver v11.0.0.509 (see attached image)
Error:
esptool.py v3.0-dev
Serial port COM3
Connecting…………………____An error occurred while uploading the sketch
A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
There is something that you could try, but it involves soldering a 100nF capacitor between the RESET test pad and GND. If you have the skills and equipment to do that, please let me know and I will talk you through it. Please note: the test pads are very tiny. Too much heat from your iron, or force from the capacitor leg, and you can lift them off the board. Please consider this before agreeing to try it.
Would it be worth trying to install Windows on a MacBook with something like Parallels (Virtual Machine) or Bootcamp to solve the problem or does it need a native Windows PC?
Otherwise I would be interested in the solution using the capacitor.