XIAO_ESP32S3_Micropython wiki is broken for current production boards (OV3660)
Summary
The MicroPython camera wiki page ( https://wiki.seeedstudio.com/XIAO_ESP32S3_Micropython/ ) is completely broken for anyone who purchased a XIAO ESP32S3 Sense recently. Current production boards ship with an OV3660 sensor, but the page links to a firmware (kaki5/shariltumin) that only supports OV2640. There is no warning on the page. The troubleshooting section just says "unplug and relaunch Thonny" which does not address /fix the problem.
Steps to Reproduce
- Buy a current-production XIAO ESP32S3 Sense
- Follow the wiki exactly — flash the firmware from the Seeed ZIP, upload the example code in Thonny
- Run streaming_server.py
Camera ready?: False — loops forever
Diagnostics
Firmware correctly identifies itself as OV2640-only:
>>> import sys
>>> print(sys.implementation)
(name='micropython', version=(1, 20, 0), _machine='ESP32S3-XIAO OV2640 (KAKI5) with ESP32-S3', _mpy=10502)
I2C scan of the physical camera confirms OV3660 is present (address 0x3c), not OV2640 (which would be 0x30 or 0x60):
>>> from machine import SoftI2C, Pin
>>> import time
>>> i2c = SoftI2C(scl=Pin(39), sda=Pin(40), freq=100000)
>>> time.sleep_ms(100)
>>> print([hex(d) for d in i2c.scan()])
['0x3c']
The firmware's C camera driver hardcodes OV2640 register addresses and sensor ID checks. camera.init() finds nothing at the expected OV2640 I2C address, fails the sensor ID check, and returns False. This cannot be fixed from Python — it requires a recompiled firmware binary with OV3660 support.
Root Cause
Seeed has retired the OV2640 and current boards ship with OV3660. The kaki5 MicroPython firmware has not been updated to support OV3660 and appears to be abandoned. The wiki page was never updated to reflect the hardware change.
Impact
Every user who purchases a current-production board and follows this wiki will hit this wall.
Requested Actions
- Preferred: Update or replace the firmware with one that supports OV3660
- Minimum: Add a prominent warning at the top of the page that current boards ship with OV3660 and this guide only applies to older OV2640 boards
- Tag @shariltumin or find a contributor who can build an updated firmware binary
References
XIAO_ESP32S3_Micropython wiki is broken for current production boards (OV3660)
Summary
The MicroPython camera wiki page ( https://wiki.seeedstudio.com/XIAO_ESP32S3_Micropython/ ) is completely broken for anyone who purchased a XIAO ESP32S3 Sense recently. Current production boards ship with an OV3660 sensor, but the page links to a firmware (kaki5/shariltumin) that only supports OV2640. There is no warning on the page. The troubleshooting section just says "unplug and relaunch Thonny" which does not address /fix the problem.
Steps to Reproduce
Camera ready?: False— loops foreverDiagnostics
Firmware correctly identifies itself as OV2640-only:
I2C scan of the physical camera confirms OV3660 is present (address 0x3c), not OV2640 (which would be 0x30 or 0x60):
The firmware's C camera driver hardcodes OV2640 register addresses and sensor ID checks.
camera.init()finds nothing at the expected OV2640 I2C address, fails the sensor ID check, and returnsFalse. This cannot be fixed from Python — it requires a recompiled firmware binary with OV3660 support.Root Cause
Seeed has retired the OV2640 and current boards ship with OV3660. The kaki5 MicroPython firmware has not been updated to support OV3660 and appears to be abandoned. The wiki page was never updated to reflect the hardware change.
Impact
Every user who purchases a current-production board and follows this wiki will hit this wall.
Requested Actions
References