Xiao ESP32S3 is not supported by Arduino Cloud

I tried to do an IoT project with my Xiao ESP32S3 board in Arduino Cloud, but the online software does not support that board. What should I have to do?

Hi @andrem4c. The ESP32 platform developers provided some generic "Dev Module" board definitions. These board definitions are intended to provide support for all ESP32-based boards that don't have a dedicated board definition. The way that is done is by providing a set of custom board options (which are referred to as "FLAVOURS" in Arduino Cloud) which allow the user to select the appropriate configuration for the particular board they are using.

Since Arduino Cloud does have an "ESP32S3 Dev Module" board, this means you can use that board selected with your XIAO ESP32-S3 board.

I'll provide instructions:

  1. Set up an Arduino Cloud Thing as usual. When creating the Device, select "ESP32S32 Dev Module" from the menu.
  2. Once you have finished with the Associated Device, Network, and Cloud Variable setup of the Thing, select the "Sketch" tab of the Thing page.
  3. Click the "</> Open full editor" button on the toolbar.
    This is necessary because the sketch editor on the previous page doesn't allow you to select "Flavours" for this type of Device from the Cloud Editor. But the "full editor" (AKA "Arduino Web Editor") does allow it.
  4. You will see "ESP32S32 Dev Module" is selected in the board selector menu on the Web Editor. Click on that board selector menu.
    The menu will open.
  5. Select "Select Other Board & Port" from the menu.
    The "Select Other Board & Port" dialog will open.
  6. Select the port of your XIAO ESP32-S3 from the "PORTS" menu on the right side of the "Select Other Board & Port" dialog.
  7. Type ESP32S3 Dev Module in the "SEARCH BOARD" field of the "Select Other Board & Port" dialog.
  8. Select "ESP32S3 Dev Module" from the search results.
    A "FLAVOURS" section will appear at the right side of the dialog.
  9. Look through the various menus under the "FLAVOURS" section of the dialog until you can see the "USB CDC On Boot" menu.
  10. Select "Enabled" from the menu.
  11. Scroll down through the various menus under the "FLAVOURS" section of the dialog until you can see the "Flash Size" menu.
  12. Select "8MB (64Mb)" from the menu.
  13. Scroll down through the various menus under the "FLAVOURS" section of the dialog until you can see the "Partition Scheme" menu.
  14. Select "8M with spiffs (3MB APP/1.5MB SPIFFS)" from the menu.
  15. Click the "OK" button at the bottom of the "Select Other Board & Port" dialog.

You will now have your sketch configured for use with the XIAO ESP32-S3 board. You should be able to compile and upload to the board.

1 Like

Hi. Thanks for the instruction, but I can't find options like Select Other Board & Port and FLAVOURS. I would be grateful if you could add screenshots. Thanks in advance!

Hi @yartsyhanenko. Which editor are you using? Currently, Arduino Cloud offers three different editors you can use to develop sketches:

1 Like

Hi @ptillisch . As far as I understand I'm using New Editor available with this link: app.arduino.cc. tried to open the old one (to see if it has more settings) using link create.arduino.cc, but it redirects to app.arduino.cc.

OK, thanks for the clarification. Although there is an equivalent to "Select Other Board & Port" in the "new" Cloud Editor, unfortunately the "FLAVOURS" menu feature has not been implemented yet (the Arduino Cloud Editor developers are aware that this feature is needed and will add it as soon as possible).

For now, you will need to use the "old" editor if you need the "FLAVOURS" menu feature. I'll provide instructions you can follow to configure Arduino Cloud to use the "old" editor:

  1. Open Arduino Cloud Editor in your web browser.
  2. Click the "Settings" icon at the bottom left corner of the page:
    image
    The "Settings" panel will open.
  3. Click the "REVERT TO OLD EDITOR" link in the "Settings" panel.
    The "old" Cloud Editor will open.

Arduino Cloud will now always use the "old" editor. In case you want to switch back to the "new" editor, you can do that at any time by clicking the link in the "New Cloud Editor is out, try it now! notification you will see at the bottom right corner of the Arduino Cloud Editor page.

After switching to the "old" editor, you should find the "Select Other Board & Port" and "FLAVOURS" menu as expected. If you have any problems, please let us know and we'll provide further guidance.

1 Like

Thanks a lot, @ptillisch. I will try!

@ptillisch I've moved to the Old Web Editor and here is what I have.

My board (LuatOS ESP32C3) is not recognized correctly. Every time I update the page I see a random board that is connected. All these boards are different modifications of ESP32C3 or S3. Probably because they have the same Product ID: 0x1001 and Vendor ID: 0x303a.

So I followed your steps and chose this random board and then went to the Select Other Board & Port . I pick the right board and then set up all needed for me "FLAVOURS.

Then I pressed "Ok". And I saw my board disconnected.

When I try to upload the code to my disconnected - it obviously doesn't work. When I choose the connected random board and upload the code - it also generates errors like:

File "serial/serialposix.py", line 401, in _reconfigure_port
serial.serialutil.SerialException: Could not configure port: (6, 'Device not configured')

Any ideas on how to fix it?

RESOLVED. @ptillisch thanks anyway!

  1. I tried to flash my ESP32C3 board using NEW and OLD Cloud Editor - but it didn't work. All the details are above.
  2. I tried to use Arduino IDE and flash it using USB-c cable - it didn't work.
  3. I tried OTA - the same.

I connected this issue to the wrong board recognition by Arduino, that's why I tried different methods because my code worked perfectly on another ESP32 board.

But! The problem was in the Arduino Cloud Library. It was updated from v 1.14 to 1.15 on the day I started to use the new board.

I removed this library and installed the previous 1.14 version. And after that everything is fine.

I've just started using Arduino Cloud to work with my boards and would say - it's not the best experience so far. All of this doesn't work smoothly. A lot of issues and bugs consume a lot of time for debugging.

A post was split to a new topic: Using XIAO ESP32C6 with Arduino Cloud

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.