Skip to content

XIAO_ESP32S3_Micropython wiki broken for OV3660 boards — needs update or new firmware #4792

@jouellnyc

Description

@jouellnyc

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

  1. Buy a current-production XIAO ESP32S3 Sense
  2. Follow the wiki exactly — flash the firmware from the Seeed ZIP, upload the example code in Thonny
  3. Run streaming_server.py
  4. 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

  1. Preferred: Update or replace the firmware with one that supports OV3660
  2. 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
  3. Tag @shariltumin or find a contributor who can build an updated firmware binary

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    Tech SupportThe product issues that need help

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions