.. _esp_wrover_kit:

ESP-WROVER-KIT
##############

Overview
********

ESP-WROVER-KIT is an ESP32-based development board produced by `Espressif <https://www.espressif.com/>`_.

ESP-WROVER-KIT features the following integrated components:

- ESP32-WROVER-E module
- LCD screen
- MicroSD card slot

Its another distinguishing feature is the embedded FTDI FT2232HL chip - an advanced multi-interface
USB bridge. This chip enables to use JTAG for direct debugging of ESP32 through the USB interface
without a separate JTAG debugger. ESP-WROVER-KIT makes development convenient, easy, and
cost-effective.

Most of the ESP32 I/O pins are broken out to the board's pin headers for easy access.

.. note::

   ESP32's GPIO16 and GPIO17 are used as chip select and clock signals for PSRAM. By default, the two
   GPIOs are not broken out to the board's pin headers in order to ensure reliable performance.

Functionality Overview
**********************

The block diagram below shows the main components of ESP-WROVER-KIT and their interconnections.

.. image:: img/esp-wrover-kit-block-diagram.png
     :width: 837px
     :align: center
     :height: 415px
     :alt: ESP-WROVER-KIT

Functional Description
**********************

The following two figures and the table below describe the key components, interfaces, and controls
of the ESP-WROVER-KIT board.

.. figure:: img/esp-wrover-kit-v4.1-layout-front.png
     :align: center
     :alt: esp wrover front

     ESP-WROVER-KIT board layout - front

.. _esp wrover back:

.. figure:: img/esp-wrover-kit-v4.1-layout-back.png
     :align: center
     :alt: esp wrover back

     ESP-WROVER-KIT board layout - back

The table below provides description in the following manner:
- Starting from the first picture’s top right corner and going clockwise
- Then moving on to the second picture

+------------------+-------------------------------------------------------------------------+
| Key Component    | Description                                                             |
+==================+=========================================================================+
| FT2232           | The FT2232 chip serves as a multi-protocol USB-to-serial bridge         |
|                  | which can be programmed and controlled via USB to provide               |
|                  | communication with ESP32. FT2232 also features USB-to-JTAG              |
|                  | interface which is available on channel A of the chip, while USB-to-    |
|                  | serial is on channel B. The FT2232 chip enhances user-friendliness in   |
|                  | terms of application development and debugging. See `ESP-WROVER-KIT     |
|                  | V4.1 schematic                                                          |
|                  | <https://dl.espressif.com/dl/schematics/ESP-WROVER-KIT_V4_1.pdf>`_.     |
+------------------+-------------------------------------------------------------------------+
| 32.768 kHz       | External precision 32.768 kHz crystal oscillator serves as a clock with |
|                  | low-power consumption while the chip is in Deep-sleep mode.             |
+------------------+-------------------------------------------------------------------------+
| 0R               | Zero-ohm resistor intended as a placeholder for a current shunt, can    |
|                  | be desoldered or replaced with a current shunt to facilitate the        |
|                  | measurement of ESP32’s current consumption in different modes.          |
+------------------+-------------------------------------------------------------------------+
| ESP32-WROVER-E   | This ESP32 module features 64-Mbit PSRAM for flexible extended          |
| module           | storage and data processing capabilities.                               |
+------------------+-------------------------------------------------------------------------+
| Diagnostic LEDs  | Four red LEDs connected to the GPIO pins of FT2232. Intended for        |
|                  | future use.                                                             |
+------------------+-------------------------------------------------------------------------+
| UART             | Serial port. The serial TX/RX signals of FT2232 and ESP32 are broken    |
|                  | out to the inward and outward sides of JP2 respectively. By default,    |
|                  | these pairs of pins are connected with jumpers. To use ESP32’s serial   |
|                  | interface, remove the jumpers and connect another external serial       |
|                  | device to the respective pins.                                          |
+------------------+-------------------------------------------------------------------------+
| SPI              | By default, ESP32 uses its SPI interface to access flash and PSRAM      |
|                  | memory inside the module. Use these pins to connect ESP32 to            |
|                  | another SPI device. In this case, an extra chip select (CS) signal is   |
|                  | needed. Please note that the voltage of this interface is 3.3 V.        |
+------------------+-------------------------------------------------------------------------+
| CTS/RTS          | Serial port flow control signals: the pins are not connected to the     |
|                  | circuitry by default. To enable them, short the respective pins of JP14 |
|                  | with jumpers.                                                           |
+------------------+-------------------------------------------------------------------------+
| JTAG             | JTAG interface. JTAG signals of FT2232 and ESP32 are broken out to      |
|                  | the inward and outward sides of JP2 respectively. By default, these     |
|                  | pairs of pins are disconnected. To enable JTAG, short the respective    |
|                  | pins with jumpers as shown in Section                                   |
|                  | :ref:`Setup Options<setup options>`                                     |
+------------------+-------------------------------------------------------------------------+
| USB Port         | USB interface. Power supply for the board as well as the                |
|                  | communication interface between a computer and the board.               |
+------------------+-------------------------------------------------------------------------+
| EN Button        | Reset button.                                                           |
+------------------+-------------------------------------------------------------------------+
| BOOT Button      | Download button. Holding down Boot and then pressing EN initiates       |
|                  | Firmware Download mode for downloading firmware through the             |
+------------------+-------------------------------------------------------------------------+
| Power Switch     | Power On/Off Switch. Toggling toward the Boot button powers the         |
|                  | board on, toggling away from Boot powers the board off.                 |
+------------------+-------------------------------------------------------------------------+
| Power Selector   | Power supply selector interface. The board can be powered either via    |
|                  | USB or via the 5V Input interface. Select the power source with a       |
|                  | jumper. For more details, see Section Setup Options, jumper header      |
|                  | JP7.                                                                    |
+------------------+-------------------------------------------------------------------------+
| 5V input         | 5V power supply interface for a standard coaxial power connector,       |
|                  | 5.5 x 2.1 mm, center positive. This interface can be more convenient    |
|                  | when the board is operating autonomously (not connected to a            |
|                  | computer).                                                              |
+------------------+-------------------------------------------------------------------------+
| 5V Power On LED  | This red LED turns on when power is supplied to the board, either       |
|                  | from USB or 5V Input.                                                   |
+------------------+-------------------------------------------------------------------------+
| LDO              | NCP1117(1A). 5V-to-3.3V LDO. NCP1117 can provide a maximum              |
|                  | current of 1A. The LDO on the board has a fixed output voltage.         |
|                  | Although, the user can install an LDO with adjustable output voltage.   |
|                  | For details, please refer to `ESP-WROVER-KIT V4.1 schematic             |
|                  | <https://dl.espressif.com/dl/schematics/ESP-WROVER-KIT_V4_1.pdf>`_.     |
+------------------+-------------------------------------------------------------------------+
| Camera Connector | Camera interface, a standard OV7670 camera module.                      |
+------------------+-------------------------------------------------------------------------+
| RGB LED          | Red, green and blue (RGB) light emitting diodes (LEDs), can be          |
|                  | controlled by pulse width modulation (PWM).                             |
+------------------+-------------------------------------------------------------------------+
| I/O Connector    | All the pins on the ESP32 module are broken out to pin headers. You     |
|                  | can program ESP32 to enable multiple functions, such as PWM, ADC,       |
|                  | DAC, I2C, I2S, SPI, etc.                                                |
+------------------+-------------------------------------------------------------------------+
| MicroSD Card     | Useful for developing applications that access MicroSD card for data    |
| Slot             | storage and retrieval.                                                  |
+------------------+-------------------------------------------------------------------------+
| LCD              | Support for mounting and interfacing a 3.2” SPI (standard 4-wire        |
|                  | Serial Peripheral Interface) LCD, as shown on figure                    |
|                  | :ref:`ESP-WROVER-KIT board layout - back<esp wrover back>`              |
+------------------+-------------------------------------------------------------------------+

.. _setup options:

Setup Options
*************

There are three jumper blocks available to set up the board functionality. The most frequently
required options are listed in the table below.

.. |jmpextpwr| image:: img/esp-wrover-kit-v4.1-jp7-ext_5v.jpg

.. |jmpusbpwr| image:: img/esp-wrover-kit-v4.1-jp7-usb_5v.jpg

.. |jmpjtag| image:: img/esp-wrover-kit-v4.1-jp2-jtag.jpg

.. |jmpuart| image:: img/esp-wrover-kit-v4.1-jp2-tx-rx.jpg

.. |jmpctrl| image:: img/esp-wrover-kit-v4.1-jp14.jpg

+------------------+--------------------------------------------------------------+
| Header | Jumper Setting | Description of Functionality                          |
+========+================+=======================================================+
| JP7    | |jmpextpwr|    | Power ESP-WROVER-KIT via an external power supply     |
+--------+----------------+-------------------------------------------------------+
| JP7    | |jmpusbpwr|    | Power ESP-WROVER-KIT via USB                          |
+--------+----------------+-------------------------------------------------------+
| JP2    | |jmpjtag|      | Enable JTAG functionality                             |
+--------+----------------+-------------------------------------------------------+
| JP2    | |jmpuart|      | Enable UART communication                             |
+--------+----------------+-------------------------------------------------------+
| JP14   | |jmpctrl|      | Enable RTS/CTS flow control for serial communication  |
+--------+----------------+-------------------------------------------------------+

Allocation of ESP32 Pins
************************

Some pins / terminals of ESP32 are allocated for use with the onboard or external hardware. If
that hardware is not used, e.g., nothing is plugged into the Camera (JP4) header, then these
GPIOs can be used for other purposes.

Some of the pins, such as GPIO0 or GPIO2, have multiple functions and some of them are shared
among onboard and external peripheral devices. Certain combinations of peripherals cannot work
together. For example, it is not possible to do JTAG debugging of an application that is using
SD card, because several pins are shared by JTAG and the SD card slot.

In other cases, peripherals can coexist under certain conditions. This is applicable to, for
example, LCD screen and SD card that share only a single pin GPIO21. This pin is used to provide
D/C (Data / Control) signal for the LCD as well as the Card Detect signal read from the SD card
slot. If the card detect functionality is not essential, then it may be disabled by removing R167,
so both LCD and SD may operate together.

For more details on which pins are shared among which peripherals, please refer to the table in
the next section.

Main I/O Connector / JP1
************************

The JP1 connector consists of 14x2 male pins whose functions are shown in the middle two “I/O”
columns of the table below. The two “Shared With” columns on both sides describe where else on
the board a certain GPIO is used.

+-------------------+------+------+----------------------+
| Shared With       | I/O  | I/O  | Shared With          |
+===================+======+======+======================+
| n/a               | 3.3V | GND  | n/a                  |
+-------------------+------+------+----------------------+
| NC/XTAL           | IO32 | IO33 | NC/XTAL              |
+-------------------+------+------+----------------------+
| JTAG, MicroSD     | IO12 | IO13 | JTAG, MicroSD        |
+-------------------+------+------+----------------------+
| JTAG, MicroSD     | IO14 | IO27 | Camera               |
+-------------------+------+------+----------------------+
| Camera            | IO26 | IO25 | Camera, LCD          |
+-------------------+------+------+----------------------+
| Camera            | IO35 | IO34 | Camera               |
+-------------------+------+------+----------------------+
| Camera            | IO39 | IO36 | Camera               |
+-------------------+------+------+----------------------+
| JTAG              | EN   | IO23 | Camera, LCD          |
+-------------------+------+------+----------------------+
| Camera, LCD       | IO22 | IO21 | Camera, LCD, MicroSD |
+-------------------+------+------+----------------------+
| Camera, LCD       | IO19 | IO18 | Camera, LCD          |
+-------------------+------+------+----------------------+
| Camera, LCD       | IO5  | IO17 | PSRAM                |
+-------------------+------+------+----------------------+
| PSRAM             | IO16 | IO4  | LED, Camera, MicroSD |
+-------------------+------+------+----------------------+
| Camera, LED, Boot | IO0  | IO2  | LED, MicroSD         |
+-------------------+------+------+----------------------+
| JTAG, MicroSD     | IO15 | 5V   |                      |
+-------------------+------+------+----------------------+

Legend:

  - NC/XTAL - 32.768 kHz Oscillator
  - JTAG - JTAG / JP2
  - Boot - Boot button / SW2
  - Camera - Camera / JP4
  - LED - RGB LED
  - MicroSD - MicroSD Card / J4
  - LCD - LCD / U5
  - PSRAM - ESP32-WROVER-E’s PSRAM

32.768 kHz Oscillator
*********************

+---+-----------+
| . | ESP32 Pin |
+===+===========+
| 1 | GPIO32    |
+---+-----------+
| 2 | GPIO33    |
+---+-----------+

.. note::

   Since GPIO32 and GPIO33 are connected to the oscillator by default, they are not connected to
   the JP1 I/O connector to maintain signal integrity. This allocation may be changed from the
   oscillator to JP1 by desoldering the zero-ohm resistors from positions R11 / R23 and re-
   soldering them to positions R12 / R24.

SPI Flash / JP2
***************

+---+--------------+
| . | ESP32 Pin    |
+===+==============+
| 1 | CLK / GPIO6  |
+---+--------------+
| 2 | SD0 / GPIO7  |
+---+--------------+
| 3 | SD1 / GPIO8  |
+---+--------------+
| 4 | SD2 / GPIO9  |
+---+--------------+
| 5 | SD3 / GPIO10 |
+---+--------------+
| 6 | CDM / GPIO11 |
+---+--------------+

.. important::
   The module’s flash bus is connected to the jumper block JP2 through zero-ohm resistors R140 ~
   R145. If the flash memory needs to operate at the frequency of 80 MHz, for reasons such as
   improving the integrity of bus signals, you can desolder these resistors to disconnect the
   module’s flash bus from the pin header JP2.

JTAG / JP2
**********

+---+---------------+-------------+
| . | ESP32 Pin     | JTAG Signal |
+===+===============+=============+
| 1 | EN            | TRST_N      |
+---+---------------+-------------+
| 2 | MTMS / GPIO14 | TMS         |
+---+---------------+-------------+
| 3 | MTDO / GPIO15 | TDO         |
+---+---------------+-------------+
| 4 | MTDI / GPIO12 | TDI         |
+---+---------------+-------------+
| 5 | MTCK / GPIO13 | TCK         |
+---+---------------+-------------+

Camera / JP4
************

+----+-----------+-----------------------------+
| .  | ESP32 Pin | Camera Signal               |
+====+===========+=============================+
| 1  | n/a       | 3.3V                        |
+----+-----------+-----------------------------+
| 2  | n/a       | Ground                      |
+----+-----------+-----------------------------+
| 3  | GPIO27    | SIO_C / SCCB Clock          |
+----+-----------+-----------------------------+
| 4  | GPIO26    | SIO_D / SCCB Data           |
+----+-----------+-----------------------------+
| 5  | GPIO25    | VSYNC / Vertical Sync       |
+----+-----------+-----------------------------+
| 6  | GPIO23    | HREF / Horizontal Reference |
+----+-----------+-----------------------------+
| 7  | GPIO22    | PCLK / Pixel Clock          |
+----+-----------+-----------------------------+
| 8  | GPIO21    | XCLK / System Clock         |
+----+-----------+-----------------------------+
| 9  | GPIO35    | D7 / Pixel Data Bit 7       |
+----+-----------+-----------------------------+
| 10 | GPIO34    | D6 / Pixel Data Bit 6       |
+----+-----------+-----------------------------+
| 11 | GPIO39    | D5 / Pixel Data Bit 5       |
+----+-----------+-----------------------------+
| 12 | GPIO36    | D4 / Pixel Data Bit 4       |
+----+-----------+-----------------------------+
| 13 | GPIO19    | D3 / Pixel Data Bit 3       |
+----+-----------+-----------------------------+
| 14 | GPIO18    | D2 / Pixel Data Bit 2       |
+----+-----------+-----------------------------+
| 15 | GPIO5     | D1 / Pixel Data Bit 1       |
+----+-----------+-----------------------------+
| 16 | GPIO4     | D0 / Pixel Data Bit 0       |
+----+-----------+-----------------------------+
| 17 | GPIO0     | RESET / Camera Reset        |
+----+-----------+-----------------------------+
| 18 | n/a       | PWDN / Camera Power Down    |
+----+-----------+-----------------------------+

- Signals D0 .. D7 denote camera data bus

RGB LED
*******

+----+-----------+---------+
| .  | ESP32 Pin | RGB LED |
+====+===========+=========+
| 1  | GPIO0     | Red     |
+----+-----------+---------+
| 2  | GPIO2     | Green   |
+----+-----------+---------+
| 3  | GPIO4     | Blue    |
+----+-----------+---------+

MicroSD Card
************

+---+---------------+----------------+
| . | ESP32 Pin     | MicroSD Signal |
+===+===============+================+
| 1 | MTDI / GPIO12 | DATA2          |
+---+---------------+----------------+
| 2 | MTCK / GPIO13 | CD / DATA3     |
+---+---------------+----------------+
| 3 | MTDO / GPIO15 | CMD            |
+---+---------------+----------------+
| 4 | MTMS / GPIO14 | CLK            |
+---+---------------+----------------+
| 5 | GPIO2         | DATA0          |
+---+---------------+----------------+
| 6 | GPIO4         | DATA1          |
+---+---------------+----------------+
| 7 | GPIO21        | Card Detect    |
+---+---------------+----------------+

LCD / U5
********

+---+-----------+------------+
| . | ESP32 Pin | LCD Signal |
+===+===========+============+
| 1 | GPIO18    | RESET      |
+---+-----------+------------+
| 2 | GPIO19    | SCL        |
+---+-----------+------------+
| 3 | GPIO21    | D/C        |
+---+-----------+------------+
| 4 | GPIO22    | CS         |
+---+-----------+------------+
| 5 | GPIO23    | SDA        |
+---+-----------+------------+
| 6 | GPIO25    | SDO        |
+---+-----------+------------+
| 7 | GPIO5     | Backlight  |
+---+-----------+------------+

Start Application Development
*****************************

Before powering up your ESP-WROVER-KIT, please make sure that the board is in good
condition with no obvious signs of damage.

Initial Setup
*************

Please set only the following jumpers shown in the pictures below:

- Select USB as the power source using the jumper block JP7.
- Enable UART communication using the jumper block JP2.

+------------------------+---------------------------+
| Power up from USB port | Enable UART communication |
+========+===============+===========================+
|       |jmpusbpwr|      |         |jmpuart|         |
+------------------------+---------------------------+

Do not install any other jumpers.

Turn the Power Switch to ON, the 5V Power On LED should light up.

System requirements
*******************

Prerequisites
-------------

Espressif HAL requires binary blobs in order work. The west extension below performs the required
syncronization to clone, checkout and pull the submodules:

.. code-block:: console

   west espressif update

.. note::

   It is recommended running the command above after :file:`west update`.

Building & Flashing
-------------------

Build and flash applications as usual (see :ref:`build_an_application` and
:ref:`application_run` for more details).

.. zephyr-app-commands::
   :zephyr-app: samples/hello_world
   :board: esp_wrover_kit
   :goals: build

The usual ``flash`` target will work with the ``esp_wrover_kit`` board
configuration. Here is an example for the :ref:`hello_world`
application.

.. zephyr-app-commands::
   :zephyr-app: samples/hello_world
   :board: esp_wrover_kit
   :goals: flash

Open the serial monitor using the following command:

.. code-block:: shell

   west espressif monitor

After the board has automatically reset and booted, you should see the following
message in the monitor:

.. code-block:: console

   ***** Booting Zephyr OS vx.x.x-xxx-gxxxxxxxxxxxx *****
   Hello World! esp_wrover_kit

Debugging
---------

As with much custom hardware, the ESP32 modules require patches to
OpenOCD that are not upstreamed. Espressif maintains their own fork of
the project. The custom OpenOCD can be obtained by running the following extension:

.. code-block:: console

   west espressif install

.. note::

   By default, the OpenOCD will be downloaded and installed under $HOME/.espressif/tools/zephyr directory
   (%USERPROFILE%/.espressif/tools/zephyr on Windows).

The Zephyr SDK uses a bundled version of OpenOCD by default. You can overwrite that behavior by adding the
``-DOPENOCD=<path/to/bin/openocd> -DOPENOCD_DEFAULT_PATH=<path/to/openocd/share/openocd/scripts>``
parameter when building.

Here is an example for building the :ref:`hello_world` application.

.. zephyr-app-commands::
   :zephyr-app: samples/hello_world
   :board: esp_wrover_kit
   :goals: build flash
   :gen-args: -DOPENOCD=<path/to/bin/openocd> -DOPENOCD_DEFAULT_PATH=<path/to/openocd/share/openocd/scripts>

You can debug an application in the usual way. Here is an example for the :ref:`hello_world` application.

.. zephyr-app-commands::
   :zephyr-app: samples/hello_world
   :board: esp_wrover_kit
   :goals: debug

Related Documents
*****************

- `ESP-WROVER-KIT V4.1 schematic <https://dl.espressif.com/dl/schematics/ESP-WROVER-KIT_V4_1.pdf>`_ (PDF)
- `ESP-WROVER-KIT V4.1 layout <https://dl.espressif.com/dl/schematics/ESP-WROVER-KIT_V4.1.dxf>`_ (DXF)
- `ESP32 Datasheet <https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf>`_ (PDF)
- `ESP32-WROVER-E Datasheet <https://www.espressif.com/sites/default/files/documentation/esp32-wrover-e_esp32-wrover-ie_datasheet_en.pdf>`_ (PDF)
- `ESP32 Hardware Reference <https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/index.html>`_
