This user guide shows how to get started with the ESP-WROVER-KIT V4.1 development board including description of its functionality and configuration options. For descriptions of other versions of the ESP-WROVER-KIT check :doc:`../hw-reference/index`.
The ESP-WROVER-KIT is a development board built around the ESP32 and produced by `Espressif <https://espressif.com>`_. This board is compatible with multiple ESP32 modules, including the ESP32-WROOM-32, ESP32-WROVER and ESP32-WROVER-B. The ESP-WROVER-KIT features support for an LCD and a MicroSD card. The I/O pins have been broken out from the ESP32 module for easy extension. The board carries an advanced multi-protocol USB bridge (the FTDI FT2232HL), enabling developers to use JTAG directly to debug the ESP32 through the USB interface. The development board makes secondary development easy and cost-effective.
An external precision 32.768 kHz crystal oscillator provides a low-power consumption clock used during Deep-Sleep mode.
FT2232
The FT2232 chip is a multi-protocol USB-to-serial bridge. Users can control and program the FT2232 chip through the USB interface to establish communication with ESP32. The FT2232 chip also features USB-to-JTAG interface. USB-to-JTAG is available on channel A of the FT2232, whilst USB-to-serial is on channel B. The embedded FT2232 chip is one of the distinguishing features of the ESP-WROVER-KIT. It enhances users’ convenience in terms of application development and debugging. In addition, users need not purchase a JTAG debugger separately, which reduces the development cost, see `ESP-WROVER-KIT V4.1 schematic`_.
A zero Ohm resistor intended as a placeholder for a current shunt. May be desoldered or replaced with a current shunt to facilitate measurement of current required by ESP32 module depending on power mode.
This version of ESP-WROVER-KIT board has ESP-WROVER-B module installed that integrates 64-Mbit PSRAM for flexible extended storage and data processing capabilities. The board can accommodate other versions of ESP modules described under :ref:`esp-wroom-solo-wrover-modules`.
Serial port: the serial TX/RX signals on the FT2232HL and the ESP32 are broken out to each side of JP2. By default, the two signals are connected with jumpers. To use the ESP32 module serial interface only, the jumpers may be removed and the module can be connected to another external serial device.
SPI interface used by ESP32 to access flash and PSRAM memories inside the module. Please note that the voltage level on this interface depends on the module used.
Serial port flow control signals: the pins are not connected to the circuitry by default. To enable them, respective pins of JP14 must be shorted with jumpers.
JTAG interface: the JTAG signals on FT2232HL and ESP32 are broken out to the two sides of JP2. By default, the two signals are disconnected. To enable JTAG, shorting jumpers are required on the signals as shown in section :ref:`get-started-esp-wrover-kit-setup-options`.
USB Port
USB interface. It functions as the power supply for the board and the communication interface between PC and ESP32 module.
Download button: holding down the **Boot** button and pressing the **EN** button initiates the firmware download mode. Then user can download firmware through the serial port.
Power supply selection interface: the ESP-WROVER-KIT can be powered through the USB interface or the 5V Input interface. The user can select the power supply with a jumper. More details can be found in section :ref:`get-started-esp-wrover-kit-setup-options`, jumper header JP7.
NCP1117(1A). 5V-to-3.3V LDO. (There is an alternative pin-compatible LDO — LM317DCY, with an output current of up to 1.5A). NCP1117 can provide a maximum current of 1A. The LDO solutions are available with both fixed output voltage and variable output voltage. For details please refer to `ESP-WROVER-KIT V4.1 schematic`_.
All the pins on the ESP32 module are led out to the pin headers on the ESP-WROVER-KIT. Users can program ESP32 to enable multiple functions such as PWM, ADC, DAC, I2C, I2S, SPI, etc.
ESP-WROVER-KIT supports mounting and interfacing a 3.2” SPI (standard 4-wire Serial Peripheral Interface) LCD, as shown on figure :ref:`get-started-esp-wrover-kit-v4.1-board-back`.
Several pins / terminals of ESP32 module are allocated to the on board hardware. If certain hardware is not installed, e.g. nothing is plugged in to the Camera / JP4 header, then selected GPIOs may be used for other purposes.
Some of pins, like GPIO0 or GPIO2, have multiple functions and some of them are shared among on board and optional 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 e.g. 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 and CD (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 what pins are shared among peripherals please refer to the table below.
The JP1 connector is shown in two columns in the middle under "I/O" headers. The two columns "Shared With" outside, describe where else on the board certain GPIO is used.
As GPIO32 and GPIO33 are connected to the oscillator, they are not connected to JP1 I/O expansion connector to maintain signal integrity. This allocation may be changed from oscillator to JP1 by desoldering the 0R resistors from positions R11 / R23 and installing them in positions R12 / R24.
The module's flash bus is connected to the pin header JP2 through 0-Ohm resistors R140 ~ R145. If the flash frequency needs to operate at 80 MHz for reasons such as improving the integrity of bus signals, it is recommended that resistors R140 ~ R145 be desoldered. At this point, the module's flash bus is disconnected with the pin header JP2.
Select the source of power supply for the board by setting jumper JP7. The options are either **USB** port or an external **5V Input**. For this application, the selection of the USB port is sufficient. Enable UART communication by installing jumpers on JP2. Both selections are shown in table below.
Please proceed to :doc:`index`, where Section :ref:`get-started-step-by-step` will quickly help you set up the development environment and then flash an example project onto your board.