-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Description
Board
Reflections ESP32-S3-Mini custom board, similar to Adafruit Feather S3
Device Description
I'm building an ESP32-based wrist watch to show movies of my kids. It's an open-source platform (https://github.com/frankcohen/ReflectionsOS). I'm using the built-in USB support in ESP32-S3 and building code using Arduino IDE 2.1.0. I haven't written my own board definition yet, so I'm using the Adafruit Feather ESP32-S3 No PSRAM board.
Hardware Configuration
USB port is connected to the normal ESP32-S3 pins for communication, power, and reset.
Version
v2.0.9
IDE Name
Arduino IDE 2.1.0
Operating System
MacOS 13.3.1 (Ventura)
Flash frequency
80 Mhz
PSRAM enabled
no
Upload speed
921600
Description
Most of the time I have to go through these steps to get the board to accept a new code upload:
- Hold Boot down, press and release Reset (Reset is closer USB port)
- From pop-up "Select other board and port", choose Adafruit Feather ESP32-S3 No PSRAM and USB port
- Upload
- Press Boot, then press Reset
- Re-open the Serial Monitor
esptool.py reports "Hard resetting via RTS pin..." yet I need to press Boot, then press Reset to get the sketch to run. Espressif appears aware of this problem and has no solution yet. #6762
CDC support is incompatible with TinyUSB. That doesn't bother me yet. I'm expecting I will soon enable Over The Air OTA uploads and will use USB only for providing power.
I'd like to move on to Platform.IO and JTAG debugging. That just seems like another can of worms. The Platform.IO interface seems confusing to me, and I'm thinking I'll have the same USB problems.
What are you using? Am I missing something?
-Frank
Sketch
#include <Arduino.h>
void setup() {
Serial.begin(115200);
Serial.setDebugOutput(true);
long time = millis();
while (!Serial && ( millis() < time + 5000) ); // wait up to 5 seconds for Arduino Serial Monitor
delay(2000);
Serial.println(" ");
Serial.println("Test");
}
int i = 0;
void loop() {
Serial.println( i++ );
delay(500);
}
Debug Message
Sketch uses 359541 bytes (17%) of program storage space. Maximum is 2097152 bytes.
Global variables use 43028 bytes (13%) of dynamic memory, leaving 284652 bytes for local variables. Maximum is 327680 bytes.
Performing 1200-bps touch reset on serial port /dev/cu.usbmodem14301
Waiting for upload port...
No upload port found, using /dev/cu.usbmodem14301 as fallback
"/Users/frankcohen/Library/Arduino15/packages/esp32/tools/esptool_py/4.5.1/esptool" --chip esp32s3 --port "/dev/cu.usbmodem14301" --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 8MB 0x0 "/private/var/folders/8y/z6t4zfcs2611ddcwsm1cg1080000gn/T/arduino/sketches/D4A47B7A0DB94325FA4038B7D88EA811/AccelGestureDTW.ino.bootloader.bin" 0x8000 "/private/var/folders/8y/z6t4zfcs2611ddcwsm1cg1080000gn/T/arduino/sketches/D4A47B7A0DB94325FA4038B7D88EA811/AccelGestureDTW.ino.partitions.bin" 0xe000 "/Users/frankcohen/Library/Arduino15/packages/esp32/hardware/esp32/2.0.9/tools/partitions/boot_app0.bin" 0x10000 "/private/var/folders/8y/z6t4zfcs2611ddcwsm1cg1080000gn/T/arduino/sketches/D4A47B7A0DB94325FA4038B7D88EA811/AccelGestureDTW.ino.bin" 0x410000 "/Users/frankcohen/Library/Arduino15/packages/esp32/hardware/esp32/2.0.9/variants/adafruit_feather_esp32s3_nopsram/tinyuf2.bin"
esptool.py v4.5.1
Serial port /dev/cu.usbmodem14301
Connecting...
Chip is ESP32-S3 (revision v0.1)
Features: WiFi, BLE
Crystal is 40MHz
MAC: 60:55:f9:f5:7e:14
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Flash will be erased from 0x00000000 to 0x00005fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Flash will be erased from 0x00010000 to 0x00067fff...
Flash will be erased from 0x00410000 to 0x00438fff...
Compressed 22624 bytes to 14245...
Writing at 0x00000000... (100 %)
Wrote 22624 bytes (14245 compressed) at 0x00000000 in 0.4 seconds (effective 417.7 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 136...
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (136 compressed) at 0x00008000 in 0.1 seconds (effective 487.2 kbit/s)...
Hash of data verified.
Compressed 8192 bytes to 47...
Writing at 0x0000e000... (100 %)
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 638.0 kbit/s)...
Hash of data verified.
Compressed 359904 bytes to 209872...
Writing at 0x00010000... (7 %)
Writing at 0x0001a3be... (15 %)
Writing at 0x0002740f... (23 %)
Writing at 0x0002ca1b... (30 %)
Writing at 0x000327c2... (38 %)
Writing at 0x0003818e... (46 %)
Writing at 0x0003d919... (53 %)
Writing at 0x00042ed4... (61 %)
Writing at 0x00047f74... (69 %)
Writing at 0x0004d21a... (76 %)
Writing at 0x00052749... (84 %)
Writing at 0x0005ac36... (92 %)
Writing at 0x000634e7... (100 %)
Wrote 359904 bytes (209872 compressed) at 0x00010000 in 3.9 seconds (effective 744.8 kbit/s)...
Hash of data verified.
Compressed 165536 bytes to 106746...
Writing at 0x00410000... (14 %)
Writing at 0x00418667... (28 %)
Writing at 0x0041dbce... (42 %)
Writing at 0x0042459a... (57 %)
Writing at 0x0042a572... (71 %)
Writing at 0x0042feab... (85 %)
Writing at 0x004352c0... (100 %)
Wrote 165536 bytes (106746 compressed) at 0x00410000 in 1.9 seconds (effective 686.3 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
Other Steps to Reproduce
I also tried to run esptool.py directly, same result... the cannot get a response from the ESP32-S3.
I have checked existing issues, online documentation and the Troubleshooting Guide
- I confirm I have checked existing issues, online documentation and Troubleshooting guide.