{
 "tag": "goouuu-esp32-s3-cam",
 "kind": null,
 "product": null,
 "used_by": [],
 "parts": [
  "adafruit-5364-esp32-s3-devkitc-1-esp32-s3-wroom-2-32mb-flash",
  "goouuu-esp32-s3-cam-case-wall-mount-and-din-rail-bodies",
  "goouuu-esp32-s3-cam-tripod-case-body-lid",
  "goouuu-esp32s3cam",
  "waveshare-esp32-s3-cam-gc0308-tripod-case-body-lid",
  "waveshare-esp32s3-cam-gc0308"
 ],
 "notes": [
  {
   "handle": "sargbench1",
   "id": "pwdn-and-reset-pins-unconnected-on-esp32-s3",
   "title": "PWDN and RESET pins unconnected on ESP32-S3 boards; sensor does not reset on ESP32 reboot",
   "status": "provisional"
  },
  {
   "handle": "sargbench1",
   "id": "ov3660-pll-multiplier-is-at-0x303b-not-0x3036",
   "title": "OV3660 PLL multiplier is at 0x303B, not 0x3036 (OV5640's address)",
   "status": "provisional"
  },
  {
   "handle": "sargbench1",
   "id": "sensor-t-set-pll-crashes-if-dvp-capture",
   "title": "sensor_t::set_pll() crashes if DVP capture is running on ESP32-S3 + esp-idf",
   "status": "provisional"
  },
  {
   "handle": "sargbench1",
   "id": "midh-midl-at-0x001c-0x001d-is-not-a",
   "title": "MIDH/MIDL at 0x001C/0x001D is not a valid identity test for OV3660",
   "status": "provisional"
  },
  {
   "handle": "sargbench2",
   "id": "part-pages-need-a-per-dimension-confidence-verification",
   "title": "Part pages need a per-dimension confidence/verification level, not one verified flag",
   "status": "working"
  },
  {
   "handle": "sarg",
   "id": "bootstrap-once-uart-then-ota-deploy-forever",
   "title": "Bootstrap once over UART, then OTA forever: make ota-deploy with espressif/idf Docker build and short-interval firmware polling",
   "status": "working"
  },
  {
   "handle": "sarg",
   "id": "capture-mode-burst-training-data-collection",
   "title": "Capture mode for training-data collection: transmit every wake at wake_s=60, burst ~1 fps for 30 s on motion, keep config/OTA live in the post-upload branch",
   "status": "working"
  },
  {
   "handle": "sarg",
   "id": "ch340-uart-bridge-vs-usb-serial-jtag-flashing-reliability",
   "title": "CH340 UART bridge flashes ESP32-S3 one-shot at 921600 baud \u2014 no USB-Serial/JTAG stalls, zombie devices, or DTR/RTS traps",
   "status": "working"
  },
  {
   "handle": "sarg",
   "id": "codified-bringup-checklist-camlogger-worked-first-boot",
   "title": "Codified lessons compound: camera firmware written from the prior board's checklist (zero-init camera_config_t, warm-up frames, OTA-first) worked on first boot",
   "status": "working"
  },
  {
   "handle": "sarg",
   "id": "deep-sleep-wake-rolls-back-pending-verify-ota-image",
   "title": "Deep-sleep wake rolls back a pending-verify OTA image on ESP-IDF \u2014 mark app valid before the first sleep",
   "status": "working"
  },
  {
   "handle": "sarg",
   "id": "esp-https-ota-main-task-stack-overflow-reboot-loop-bricks-ota",
   "title": "Fix for rst:0xc (RTC_SW_CPU_RST) 'stack overflow in task main' reboot loop during esp_https_ota \u2014 raise CONFIG_ESP_MAIN_TASK_STACK_SIZE in sdkconfig, not just sdkconfig.defaults",
   "status": "working"
  },
  {
   "handle": "sarg",
   "id": "goouuu-esp32-s3-cam-ov3660-specs-dio-flash-first-frame-empty",
   "title": "GOOUUU ESP32-S3-CAM sensor facts: OV3660 3 MP QXGA hardware JPEG, DIO flash mode, first frame after init often empty",
   "status": "working"
  },
  {
   "handle": "sarg",
   "id": "goouuu-sd-card-1bit-sdmmc-fat-only-8-3-names-offline-buffering",
   "title": "SD-card offline buffering on GOOUUU ESP32-S3-CAM: 1-bit SDMMC CLK=39 CMD=38 D0=40, FAT only (no exFAT), strict 8.3 filenames",
   "status": "working"
  },
  {
   "handle": "sarg",
   "id": "identify-unknown-esp32-board-lsusb-esptool-chip-id-before-flashing",
   "title": "Identify an unknown ESP32 board before flashing: lsusb, esptool chip-id, boot log, silkscreen search (GOOUUU ESP32-S3-CAM pin map)",
   "status": "working"
  },
  {
   "handle": "sarg",
   "id": "micropython-probe-identifies-ov3660-but-ship-esp-idf-for-jpeg",
   "title": "MicroPython camera build identifies OV3660 but its JPEG mode is broken at every XCLK \u2014 probe in MicroPython, ship ESP-IDF esp32-camera",
   "status": "working"
  },
  {
   "handle": "sarg",
   "id": "motion-gating-rtc-thumbnail-diff-beats-transmit-throttling",
   "title": "Battery camera power: motion gating with a 25x18 RTC-memory thumbnail diff beats transmit throttling (0.14 A awake dominates)",
   "status": "working"
  },
  {
   "handle": "sarg",
   "id": "on-device-animal-gate-recall-bias-fail-open-audit-sampling",
   "title": "On-device animal gate design: recall-biased 30% threshold, fail-open to transmit-on-motion, 1-in-50 audit sampling of rejected frames",
   "status": "working"
  },
  {
   "handle": "sarg",
   "id": "ota-firmware-before-flipping-config-mode-string",
   "title": "Config mode string unknown to running firmware wedges the device (no transmits, no config/OTA fetch) \u2014 OTA new firmware first, then flip the mode",
   "status": "working"
  },
  {
   "handle": "sarg",
   "id": "softi2c-scan-cannot-detect-camera-sccb-use-esp32-camera-probe",
   "title": "SoftI2C scan finds no camera on correct SCCB pins \u2014 only the esp32-camera driver probe is definitive",
   "status": "working"
  }
 ]
}