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.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware match#1 Best Overall
- 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
- 【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.
Rank #3
- 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.
- In Home Assistant, open ESPHome and add a new device. Follow the prompts to create the device and provide its network details if requested.
- 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. - Validate or compile the configuration. Resolve errors before attempting to upload; build output can expose unsupported keys, component problems, or YAML indentation issues.
- 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.
- 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 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
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.
Quick Recap
Best Value
- 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.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →

