Seeedstudio XIAO ESP32s32

I just unrolled a tweet storm about the new Seeedstudio $15 USD xiaoEsp32s3 (sense) with camera, SD card mic and WiFi/BLE.

I am coming from an Arduino PortentaH7 with Vision Shield person ($103 + $65 USD) so this is quite a big change. The XIAO series also uses a form of Arduino MBED so much of my work with the Portenta transfers over. I have this huge library of examples called the Portenta Pro Community Solutions that can be installed like any Arduino library. All these examples go with my Robotics Machine Learning course on Github called Maker100

Until I figure out what to do with it, most of my research on the XIAO Sense is at this github called the mcu-stable-edu-launch which is supposed to address how MCU makers can help educators get up and running with a new board.

The twitter link is unrolled here

But it is more fun to post it all following:

@mentionsmy $15 #xiaoEsp32S3 arrived all three of them. Canadian Import tax was a bit high at $25 CDN not sure if that is fixed or increases if I purchased more.

Excited to test the camera, mic and WiFi to see if it works with robotics, @EdgeImpulse
#ml and #tinyMLImageImage

WiFi antennae was hard to push on, not sure why, I have done a ton before. Camera clipped in easy.
@seeedstudio #xiaoEsp32S3Image

Off course my setup is not standard so installing the board is a pain. Great instructions at

Getting Started with Seeed Studio XIAO ESP32S3 (Sense) | Seeed Studio WikiGetting Started with Seeed Studio XIAO ESP32S3.

@mentions#XIAO #esp32S3 #xiaoEsp32S3 So until the main system is refreshed install or update the XIAO esp32C3 and download and unzip then find the install folder replace the boards.txt file and put the main folder into the variants folder. Not hard but different.

So I installed #xiaoEsp32s3 on both #arduinoIDE 1.8.19 and 2.04 and both seem to compile code, blink works, but when I add the serial monitor. It seems to give debug info and nothing useful. A little disappointed, but that is #Robotics
@seeedstudio DM me if you want.Image

The whole unplug plug it in one holding the very tiny Boot pin is a bit annoying, and then having to push the reset button to try to connect, but I think those things will clear up with a new software version. Since I can’t get the serial monitor working I am trying the SD card

Another weird situation. The esp32 board manager installed fine on 2 computers, but on the third, the json download wasbto slow and timedout. A solution was to put the json on your own https server and then it installed fine.

Another observation id that after uploading code. I often have to hit the reset button before the code actually works.

First look xiaoEsp32s3

Hey @seeedstudio I just #3dPrinted a clip to hold down the ridiculously small boot button of the #xiaoEsp32s3 so you can actually plug in the usb-c cable.ImageImage

Hello @seeedstudio about the #xiaoEsp32s3 how can I tell when the next version is out on the getting started page?

Getting Started with Seeed Studio XIAO ESP32S3 (Sense) | Seeed Studio WikiGetting Started with Seeed Studio XIAO ESP32S3.

So while I wait for the next @seeedstudio software for the super cheap #XiaoEsp32s3, with camera, SD card and microphone. I can do some power measurements and this is what I got. Very impressive deep times sleep about 3 milliAmps of current. Then when awake around 40-65 milliAmpsImageImageImage

My boot #3dPrint fits nice into the side of the breadboard. :laughing: #xiaoEsp32s3ImageImageImage

@mentionsnew esp32 release 2.0.8 works with the #xiaoEsp33s3 serial monitor all good. Well done #seeed

@mentions#xiaoEsp32s3 $15 USD #mcu with camera, mic, SD card and WiFi/BLE is working now with V2.0.8

Got the main things working: 1600px x 1200px color jpg to SD card, WiFi/BLE, testing mic.

Putting my findings at…ImageImage

mcu-stable-edu-launch/xiao-esp32s3 at main · hpssjellis/mcu-stable-edu-launchWhat examples should a new microcontroller board present when it is launched - mcu-stable-edu-launch/xiao-esp32s3 at main · hpssjellis/mcu-stable-edu-launch

2 things with the @seeedstudio #xiaoEsp32s3

  1. I got @EdgeImpulse FOMO vision #ML running, needed 3 small changes.

  2. I need to find a datasheet and multiple ways to power it. I want to connect a 6V battery but not sure if I can. The old #XIAO would run with 3.3V to 3v3 in.

OMG, the @seeedstudio #XiaoEsp32s3 can take video! This minature #MCU for $15 USD is proving to be very cool.

I got an @EdgeImpulse FOMO (faster objects more objects) #ML vision model working yesterday.

Unlike the original SAMD #XIAO, the #xiaoEsp32s3 sense accepts D2, D3, D4, etc. pin labels, allowing a lot of my PortentaH7 teaching arduino MBED code to run directly.

By the way the video the #xiaoEsp32s3 makes is .avi and needs the MPC-HC(x64) codec to open it. My #Blender3d and Twitter don’t like it, but @EdgeImpulse loads them fine.

I don’t even think #edgeImpulse does video yet. I will have to ask @dansitu or @ShawnHymel

Not sure how, sont even rember my settings, but I may have successfully trained an @EdgeImpulse vision classification model using .avi video saved to the SD card on the new $15 USD #xiaoEsp32s3Image

the 3 small changes needed to get the XIAO sense running an edgeimpulse vision model are as follows:

so a regular FOMO worked with 3 minor changes:

  1. To fix your builds now I recommend switching off ESP NN acceleration
    to do that locate ei_classifier_config.h in exported Arduino library folder and add
    on line 25.

  2. replace the starting lines with this

#if defined(CAMERA_MODEL_XIAO_ESP32S3)
#define PWDN_GPIO_NUM     -1
#define RESET_GPIO_NUM    -1
#define XCLK_GPIO_NUM     10
#define SIOD_GPIO_NUM     40
#define SIOC_GPIO_NUM     39
#define Y9_GPIO_NUM       48
#define Y8_GPIO_NUM       11
#define Y7_GPIO_NUM       12
#define Y6_GPIO_NUM       14
#define Y5_GPIO_NUM       16
#define Y4_GPIO_NUM       18
#define Y3_GPIO_NUM       17
#define Y2_GPIO_NUM       15
#define VSYNC_GPIO_NUM    38
#define HREF_GPIO_NUM     47
#define PCLK_GPIO_NUM     13
#error "Camera model not selected"

  1. Setting Tools → PSRAM from disabled to OPI PSRAM

Getting these results, which seems a bit slow but at least it is working
Predictions (DSP: 4 ms., Classification: 1331 ms., Anomaly: 0 ms.):
No objects found
Predictions (DSP: 4 ms., Classification: 1331 ms., Anomaly: 0 ms.):
1eyeOnly (0.656250) [ x: 8, y: 8, width: 8, height: 8 ] (edited)

I am still doing research on this board and trying to get most of my class assignments working on it.

Thanks for sharing @Rocksetta

1 Like

Great article. Once I get a unit I’ll checkout your article in detail.

So did it take 2200 lbs (Canadian ton) or 2000 lbs (Imperial ton) of force?

$25 to import a $15 part. Makes me wanna move to Canada to support the government.

1 Like

:laughing: to both.

I got 3 XIAO’s but think the import tax would have been the same if I got 20. Not sure unless I do another order.