|
| 1 | +.. zephyr:board:: esp32_cam |
| 2 | +
|
| 3 | +Overview |
| 4 | +******** |
| 5 | + |
| 6 | +Ai-Thinker ESP32-CAM is an ESP32-based development board produced by `Ai-Thinker <https://en.ai-thinker.com/>`_. |
| 7 | + |
| 8 | +ESP32-CAM features the following components: |
| 9 | + |
| 10 | +- ESP32S module |
| 11 | +- 8MB PSRAM |
| 12 | +- 24-pin FPC connector (for OV2640 Sensor) |
| 13 | +- MicroSD card slot |
| 14 | +- Flash LED |
| 15 | + |
| 16 | +.. note:: |
| 17 | + |
| 18 | + ESP32's GPIO4 on the ESP32 is shared between the MicroSD data pin and the onboard flash LED. |
| 19 | + |
| 20 | +For more information, check the datasheet at `ESP32 Datasheet`_ or the technical reference |
| 21 | +manual at `ESP32 Technical Reference Manual`_. |
| 22 | + |
| 23 | +Supported Features |
| 24 | +****************** |
| 25 | + |
| 26 | +.. zephyr:board-supported-hw:: |
| 27 | +
|
| 28 | +System requirements |
| 29 | +******************* |
| 30 | + |
| 31 | +Espressif HAL requires WiFi and Bluetooth binary blobs in order work. Run the command |
| 32 | +below to retrieve those files. |
| 33 | + |
| 34 | +.. code-block:: console |
| 35 | +
|
| 36 | + west blobs fetch hal_espressif |
| 37 | +
|
| 38 | +.. note:: |
| 39 | + |
| 40 | + It is recommended running the command above after :file:`west update`. |
| 41 | + |
| 42 | +Programming and Debugging |
| 43 | +************************* |
| 44 | + |
| 45 | +.. zephyr:board-supported-runners:: |
| 46 | +
|
| 47 | +.. include:: ../../../espressif/common/building-flashing.rst |
| 48 | + :start-after: espressif-building-flashing |
| 49 | + |
| 50 | +.. include:: ../../../espressif/common/board-variants.rst |
| 51 | + :start-after: espressif-board-variants |
| 52 | + |
| 53 | +Applications for the ``esp32_cam`` board can be built and flashed in the usual way |
| 54 | +(see :ref:`build_an_application` and :ref:`application_run` for more details); |
| 55 | +however, an external FTDI USB to TTL Serial Adapter is required since the board |
| 56 | +does not have any on-board debug IC. |
| 57 | + |
| 58 | +The following pins of the Serial Adapter must be connected to the header pins: |
| 59 | + |
| 60 | +* VTref = VCC |
| 61 | +* GND = GND |
| 62 | +* TXD = U0TXD |
| 63 | +* RXD = U0RXD |
| 64 | +* Boot = GPIO0 (Must be low at boot) |
| 65 | + |
| 66 | +Debugging |
| 67 | +========= |
| 68 | + |
| 69 | +ESP32 support on OpenOCD is available at `OpenOCD ESP32`_. |
| 70 | + |
| 71 | ++------------+-----------+ |
| 72 | +| ESP32 pin | JTAG pin | |
| 73 | ++============+===========+ |
| 74 | +| 3V3 | VTRef | |
| 75 | ++------------+-----------+ |
| 76 | +| IO14 | TMS | |
| 77 | ++------------+-----------+ |
| 78 | +| IO12 | TDI | |
| 79 | ++------------+-----------+ |
| 80 | +| GND | GND | |
| 81 | ++------------+-----------+ |
| 82 | +| IO13 | TCK | |
| 83 | ++------------+-----------+ |
| 84 | +| IO15 | TDO | |
| 85 | ++------------+-----------+ |
| 86 | + |
| 87 | +Further documentation can be obtained from the SoC vendor in `JTAG debugging for ESP32`_. |
| 88 | + |
| 89 | +Here is an example for building the :zephyr:code-sample:`hello_world` application. |
| 90 | + |
| 91 | +.. zephyr-app-commands:: |
| 92 | + :zephyr-app: samples/hello_world |
| 93 | + :board: esp32_cam/esp32/procpu |
| 94 | + :goals: build flash |
| 95 | + |
| 96 | +References |
| 97 | +********** |
| 98 | + |
| 99 | +.. target-notes:: |
| 100 | + |
| 101 | +.. _`ESP32-CAM`: https://docs.ai-thinker.com/en/esp32-cam |
| 102 | +.. _`ESP32 Datasheet`: https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf |
| 103 | +.. _`ESP32 Technical Reference Manual`: https://espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf |
| 104 | +.. _`JTAG debugging for ESP32`: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/jtag-debugging/index.html |
| 105 | +.. _`OpenOCD ESP32`: https://github.com/espressif/openocd-esp32/releases |
0 commit comments