XAIO ESP32S3 Sense - Unable to use with arduino 2.x IDE

Unable to use ESP32S3 Sense

II have a bunch of the XAIO ESP32S3 Sense boards (the ones with cameras). They seem very useful if they would work.
Using the Arduino 2.10 IDE, I can see the default code flailing around looking for WiFi to connect to.
I have the Expressif ESP32 2.09 Arduino support package installed.
I have no difficulty reading the Serial output from the boards on port /dev/ttyACM0 (I am using Linux Mint on AMD64 hardware).
I have the XIAO_ESP32S3 board selected.
I am trying to build/upload the example: /XIAO-ESP32S3-Sense-camera/CameraWebServer retreived under topic “Project II: Video Streaming” at https://wiki.seeedstudio.com/xiao_esp32s3_camera_usage/

Compile/Upload output:

Sketch uses 2926317 bytes (87%) of program storage space. Maximum is 3342336 bytes.
Global variables use 74284 bytes (22%) of dynamic memory, leaving 253396 bytes for local variables. Maximum is 327680 bytes.
esptool.py v4.5.1
Serial port /dev/ttyACM0
Chip is ESP32-S3 (revision v0.1)
Features: WiFi, BLE
Crystal is 40MHz
MAC: 34:85:18:ae:0f:a4
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Configuring flash size...
Flash will be erased from 0x00000000 to 0x00003fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Flash will be erased from 0x00010000 to 0x002dafff...
Compressed 15040 bytes to 10333...
Writing at 0x00000000... (100 %)
Wrote 15040 bytes (10333 compressed) at 0x00000000 in 0.3 seconds (effective 417.8 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 146...
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (146 compressed) at 0x00008000 in 0.1 seconds (effective 472.1 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 629.9 kbit/s)...
Hash of data verified.
Compressed 2926688 bytes to 2057044...
Writing at 0x00010000... (0 %)
Writing at 0x00014e58... (1 %)
Writing at 0x0001a79f... (2 %)
Writing at 0x000259b6... (3 %)
Writing at 0x0002b29a... (3 %)
Writing at 0x0002f6a6... (4 %)
Writing at 0x00033a6c... (5 %)
Writing at 0x000389ec... (6 %)
Writing at 0x0003d682... (7 %)
Writing at 0x000421ef... (7 %)
Writing at 0x00046db8... (8 %)
Writing at 0x0004bb52... (9 %)
Writing at 0x00050597... (10 %)
Writing at 0x0005499f... (11 %)
Writing at 0x00058ddc... (11 %)
Writing at 0x0005d13c... (12 %)
Writing at 0x0006132b... (13 %)
Writing at 0x0006577b... (14 %)
Writing at 0x00069aed... (15 %)
Writing at 0x0006f1f6... (15 %)
Writing at 0x00073a35... (16 %)
Writing at 0x000783bc... (17 %)
Writing at 0x0007cdd7... (18 %)
Writing at 0x000816ca... (19 %)
Writing at 0x00085fa0... (19 %)
Writing at 0x0008a859... (20 %)
Writing at 0x0008f176... (21 %)
Writing at 0x00093abe... (22 %)
Writing at 0x0009838f... (23 %)
Writing at 0x0009cc7b... (23 %)
Writing at 0x000a15a6... (24 %)
Writing at 0x000a5eeb... (25 %)
Writing at 0x000aa86c... (26 %)
Writing at 0x000afa0b... (26 %)
Writing at 0x000b495c... (27 %)
Writing at 0x000b910b... (28 %)
Writing at 0x000bd936... (29 %)
Writing at 0x000c20ba... (30 %)
Writing at 0x000c69cf... (30 %)
Writing at 0x000cb382... (31 %)
Writing at 0x000cfac5... (32 %)
Writing at 0x000d41eb... (33 %)

A serial exception error occurred: Could not configure port: (5, 'Input/output error')
Note: This error originates from pySerial. It is likely not a problem with esptool, but with the hardware connection or drivers.
For troubleshooting steps visit: https://docs.espressif.com/projects/esptool/en/latest/troubleshooting.html
Failed uploading: uploading error: exit status 1

The built-in apps do not work, and I do not know where to go from here.
The documentation, though very pretty, seems to have some very big gaps around some very basic issues.


Looks like it bombed in the upload portion (python script? Have you tried the same with a windows box?
Your serial ports are having an issue with esptool.
Once it uploads then the built-in stuff will work.
GL :slight_smile:


Looks like, but I don’t believe that it is that simple. I do this all day. It works with other ESP32S3 boards. It doesn’t like these.

There are no windows boxes here.

Hmmm, Well actually it is pretty simple compared to other SDK’s
Try maybe to do a more simple program like “Blink” then and see if that yield’s any better outcome.

IMO this stuff is way more simple and the tools available are amazing if you learn or know how to use them. I come from an assembly code era, Z-80’s , 8086, 6805, 68K, etc. and there really wasn’t an Internet filled with Info at your finger tips by just asking of searching.
but “you do this all day” so not telling you what you probably already know.
Also from what info you offered, it’s telling you the ports are the issue. Hardware or software from what I see. have a look at this ,HERE, esptool.py version may need an update or roll-back to work, YMMV

post more of what you have tried and others will comment if they see something for certain.
No windows laptop to test with anywhere? Is that on purpose? LOL

To close this post, it turned out that the Xiao Sense that I was working with was defective. It is not entirely clear in what way. The original flashed code was running in a loop and giving errors. When I attempted to recompile the code with my local AP ssid and password, upload would always fail. I guess that the board was not switching modes correctly.

I finally bought some more boards, and at least the first one I have tried accepted an upload and now runs the example code as expected.

So, Like some other users, I must conclude that QC on these boards is not entirely up to snuff yet.

But I have one that seems to work.

im pretty sure quality control has nothing to do with it
if it compiles and runs a sketch… thats about all you can ask for… its just a microchip

1 Like

The compiler compiles the code.
The uploader/flasher tells the chip to go into upload mode.
The local environment transfers the code.
Sometimes the ESP32S3’s won’t won’t switch modes as expected.
That is either the fault of the board or the chip.
A QC issue, either way.

Probably the board in this case. Lots of tiny connections.


I am unable to run the Blink sketch on a new Xaio ESP32S3 Sense. I keep seeing:

A fatal error occurred: Unable to verify flash chip connection (No serial data received.).

Can some kind soul please upload an image of the properly configured arduinoIDEToolsMenu?

Here’s what I have been using:

Thank you.

Best regards,


OPIPSRAM & DIO 80MHz must be enabled

First screenshot: