Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Adding DFRobot’s ESP32-S3 AI Camera Module (DFR1154) to Home Assistant depends on using the camera’s board-specific GPIO map—and checking which camera component syntax your installed ESPHome release supports. The module uses an OV3660 sensor. DFRobot’s tutorial supplies a configuration example, but it does not state tested software versions, and its external-component syntax differs from ESPHome’s currently documented generic camera example.

What you need

  • DFRobot ESP32-S3 AI Camera Module, SKU DFR1154.
  • A data-capable USB Type-C cable and a computer for the initial firmware upload. Check your package contents; whether a cable is included is not stated.
  • Home Assistant with the ESPHome component available.
  • Your Wi-Fi network credentials.

DFRobot lists the module with an OV3660 3-megapixel camera, a 160° field of view, ESP32-S3R8, 16 MB flash, 8 MB PSRAM, 2.4 GHz Wi-Fi, USB Type-C, and an SD card slot. These are vendor-listed specifications, not independent test results. See DFRobot’s DFR1154 product page.

Check ESPHome camera compatibility before choosing YAML

There are two configuration shapes to distinguish. DFRobot’s setup tutorial imports a third-party external component named esp32_camera and puts the camera-bus pins under i2c_pins. ESPHome’s current generic camera documentation shows a separately configured I²C bus referenced with i2c_id, and says camera setup requires I²C and PSRAM configuration.

The available documentation does not establish that the built-in camera component supports this OV3660 configuration in every ESPHome release. Nor does DFRobot state which ESPHome or Home Assistant versions its example targets. Before flashing, check whether the selected component path supports the OV3660 in your installed release, then validate and build the YAML. Do not assume that either syntax will compile unchanged across versions.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Seeed Studio XIAO ESP32-S3 Sense Board with Camera & Microphone
  • Powerful MCU Board: Incorporate the ESP32 S3 32-bit, dual-core, Xtensa processor chip operating up to 240 MHz, mounted multiple development ports, Arduino / MicroPython supported
  • Advanced Functionality: Detachable OV2640 camera sensor for 1600*1200 resolution, compatible with OV3660 camera sensor, integrating additional digital microphone
  • Great Memory for more Possibilities: Offer 8MB PSRAM and 8MB FLASH, supporting SD card slot for external 32GB FAT memory
  • Outstanding RF performance: Support 2.4GHz Wi-Fi and BLE dual wireless communication, support 100m+ remote communication when connected with U.FL antenna
  • Thumb-sized Compact Design: 21 x 17.5mm, adopting the classic form factor of XIAO, suitable for space-limited projects like wearable devices
Configuration path Bus syntax PSRAM What to verify
DFRobot tutorial’s external component i2c_pins within the camera block The tutorial example does not show a PSRAM configuration field. Whether the external Git component remains usable with your ESPHome release and supports this sensor.
ESPHome generic camera component Declare an I²C bus separately and pass its ID with i2c_id. ESPHome camera documentation requires PSRAM configuration. Whether your installed release supports the OV3660 and accepts the configuration you build.

ESPHome’s ESP32 platform documentation accepts variant: esp32s3 and recommends specifying the variant rather than relying on a board name alone. See ESPHome’s ESP32 platform guide. The manufacturer’s camera snippet is an example of its source-specific setup, not a guarantee of current syntax.

DFRobot’s camera pin map

These are the DFR1154 camera connections in DFRobot’s example. Keep the order of all eight data pins exactly as shown:

Rank #2
Sale
ESP32-S3-CAM Development Board with OV3660 Camera +Antenna, 16MB Flash 8MB PSRAM ESP32-S3 N16R8 Module with Dual USB-C WiFi BT MCU Microcontroller for IoT, MicroPython,DIY Projects and AI Project
  • 【High-performance dual-core processor】Integrated Xtensa 32-bit LX7 dual-core processor, offering powerful computing power and performance with low power consumption
  • 【3-megapixel OV3660 Camera】: The OV3660 camera module that comes with this ESP32-S3 development board, to capture clear images and stream video in real time. Perfect for smart surveillance, face recognition, and AI-based computer vision projects. It is the preferred solution for DIY makers and professionals to build camera-enabled IoT systems
  • 【Wi-Fi and Bluetooth Dual Mode Support】for ESP32-S3 supports Wi-Fi 802.11 b/g/n and Bluetooth 5.0. Its Bluetooth Low Energy subsystem supports Bluetooth 5 (LE) and Bluetooth Mesh. Equipped with a low-power coprocessor and a high-power mode of up to 20 dBm, it can meet the requirements of a variety of application scenarios.
  • 【Upgrade from for ESP32 S3】Compared to other ESP32S3 development boards, this development board features enhanced features and additional external antenna interfaces, to meet more user requirements.
  • 【Large Storage Capacity】The ESP32 module integrates 8 MB RAM and 16 MB Flash and provides enough storage for the development of complex applications.
Camera signal DFR1154 GPIO
External clock (20 MHz) GPIO5
Camera I²C SDA GPIO8
Camera I²C SCL GPIO9
Data pins (in order) GPIO16, GPIO18, GPIO21, GPIO17, GPIO14, GPIO7, GPIO6, GPIO4
VSYNC GPIO1
HREF GPIO2
Pixel clock GPIO15

DFRobot’s example configuration

The following is DFRobot’s source-specific camera example with normalized YAML indentation. It uses an external Git component; treat it as a reference for the pin map and sample settings, not as confirmed syntax for every current ESPHome release. In particular, verify sensor support and the component’s compatibility before using it.

external_components:
  - source:
      type: git
      url: https://github.com/MichaKersloot/esphome_custom_components
    components: [esp32_camera]

esp32_camera:
  name: My Camera
  external_clock:
    pin: GPIO5
    frequency: 20MHz
  i2c_pins:
    sda: GPIO8
    scl: GPIO9
  data_pins: [GPIO16, GPIO18, GPIO21, GPIO17, GPIO14, GPIO7, GPIO6, GPIO4]
  vsync_pin: GPIO1
  href_pin: GPIO2
  pixel_clock_pin: GPIO15
  resolution: 640x480
  jpeg_quality: 10
  brightness: 2

DFRobot’s sample sets 640×480 resolution, JPEG quality 10, and brightness 2. Those are values in its example, not reported performance optimizations or results.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Freenove ESP32 ESP32-S3 Camera Board Kit (16 MB Flash) with 1GB Card
  • ESP32-S3 camera board: Dual-core 32-bit microprocessor up to 240 MHz, 16 MB flash, 8 MB PSRAM, onboard 2.4 GHz Wi-Fi and Bluetooth 5 (LE), USB-OTG, USB code uploader, camera, memory card slot (Comes with 1GB memory card and card reader)
  • Detailed tutorial: Can be downloaded (in English) or viewed online (original in English, can be translated into other languages by browsers) (The tutorial link can be found on the product box, no paper tutorial)
  • Example projects: Provides step-by-step guide and several typical projects, each project has complete code and detailed explanations
  • 2 sets of code: MicroPython and C. Python is one of the most popular languages, and C is one of the most classic languages
  • Easy to use: Just connect the board to your computer (installed IDE and driver) with the USB cable to program it

Configure, flash, and adopt the camera

DFRobot’s documented flow is to create an ESPHome device, edit its YAML, upload firmware over USB, and wait for its Wi-Fi connection notification. The exact labels can vary by Home Assistant or ESPHome version.

  1. In Home Assistant, open ESPHome and add a new device. Follow the prompts to create the device and provide its network details if requested.
  2. Open the new device’s configuration editor. Add the camera configuration below captive_portal:, as DFRobot instructs, and ensure the YAML indentation is valid. Before proceeding, confirm that the chosen camera component syntax and OV3660 support match your installed ESPHome version.
  3. Validate or compile the configuration. Resolve errors before attempting to upload; build output can expose unsupported keys, component problems, or YAML indentation issues.
  4. Connect the camera module to the computer over USB Type-C and use ESPHome’s USB installation or upload flow to flash it. Follow the prompts shown for your installation.
  5. Wait for ESPHome’s notification that the device has connected to Wi-Fi. Then check ESPHome and Home Assistant for the device and its camera entity.

Troubleshoot configuration and stream issues

  • Configuration validation fails: Check indentation, especially under external_components, and compare every key with the documentation for your installed ESPHome release. The external-component example and generic component documentation use different I²C configuration shapes.
  • The camera is not detected: Recheck the DFR1154 GPIO assignments, including the order of the eight data pins. Confirm that the selected component supports the OV3660 and that the camera I²C bus is configured as that component expects.
  • PSRAM-related build or runtime problems: ESPHome’s camera documentation requires PSRAM configuration. Confirm that it is enabled and configured for your ESP32-S3 setup.
  • Memory errors at higher resolutions: ESPHome notes that higher camera resolutions require more memory. Try a lower supported resolution and validate again.
  • Need to isolate image output: If supported by the camera component and your release, its test pattern can help distinguish camera output problems from sensor capture issues. It is a diagnostic, not a DFR1154-specific repair.

A community forum post dated 2025-06-06 describes a configuration using ESP32-S3 DevKitC-1, the Arduino framework, octal PSRAM at 80 MHz, 16 MB flash, and the same camera mapping. It is community context, not an official tested DFR1154 recipe: DFRobot forum post.

Rank #4
ESP32-S3 AI Camera Development Board, Integrated DVP Camera Interface, SPI/QSPI Display Interface, Audio Input and Output Module, Support Image Capture&Recognition and AI Speech Interaction
  • ESP32-S3 AI camera development board equipped with 32-bit LX7 dual-core processor, up to 240MHz main frequency. Supports 2.4GHz Wi-Fi and BLE 5. Built-in 512KB Static RAM and 384KB ROM, with onboard 8MB PSRAM and 16MB Flash
  • ESP32-S3 AIoT camera dev board features dual-microphone array with noise reduction and echo cancellation for high-quality speech interaction, with an external speaker interface
  • Onboard 24PIN standard DVP camera interface, compatible with OV3660, OV5640, GC0308, and GC2145 cameras. Onboard SPI / QSPI display LCD 18PIN FPC interface
  • Supports image capture & recognition, and AI speech interaction. Integrates dual microphones, audio amplifier, and echo cancellation functionality. Allows access to online large model platforms to support more AI application scenarios, enabling speech recognition (ASR) and conversational interaction
  • Adapting USB, I2C, and UART interfaces. Onboard Batt header Lithium Batt charging circuit, supports connecting 3.7V Lithium Batt for power supply. Reserved two buttons for custom functions
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What is not established

DFRobot’s tutorial does not identify the ESPHome or Home Assistant versions used, and the cited documentation does not confirm that the generic built-in component supports this exact OV3660 setup across releases. The external Git component’s continued compatibility is also not established. Treat the pin map as the board-specific starting point, and use the validation and build results from your installed version to determine which supported configuration path applies.

Best Value
ESP32-S3-CAM-OV3660 Dev Board, Integrated DVP Camera Interface, SPI/QSPI Display Interface, Audio Input and Output Module, Support Image Capture&Recognition and AI Speech Interaction
  • ESP32-S3 AI camera development board equipped with 32-bit LX7 dual-core processor, up to 240MHz main frequency. Supports 2.4GHz Wi-Fi and BLE 5. Built-in 512KB Static RAM and 384KB ROM, with onboard 8MB PSRAM and 16MB Flash
  • ESP32-S3 AIoT camera dev board features dual-microphone array with noise reduction and echo cancellation for high-quality speech interaction, with an external speaker interface
  • Onboard 24PIN standard DVP camera interface, compatible with OV3660, OV5640, GC0308, and GC2145 cameras. Onboard SPI / QSPI display LCD 18PIN FPC interface
  • Supports image capture & recognition, and AI speech interaction. Integrates dual microphones, audio amplifier, and echo cancellation functionality. Allows access to online large model platforms to support more AI application scenarios, enabling speech recognition (ASR) and conversational interaction
  • Adapting USB, I2C, and UART interfaces. Onboard Batt header Lithium Batt charging circuit, supports connecting 3.7V Lithium Batt for power supply. Reserved two buttons for custom functions

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.