Skip to content

ESP-WROVER-KIT V4.1 Getting Started Guide

This guide shows how to get started with the ESP-WROVER-KIT V4.1 development board and also provides information about its functionality and configuration options.

What You Need

  • ESP-WROVER-KIT V4.1 board

  • USB 2.0 cable (A to Micro-B)

  • Computer running Windows, Linux, or macOS

You can skip the introduction sections and go directly to Section Start Application Development.

Overview

ESP-WROVER-KIT is an ESP32-based development board produced by Espressif.

ESP-WROVER-KIT features the following integrated components:

  • ESP32-WROVER-E module

  • LCD screen

  • microSD card slot

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.

ESP-WROVER-KIT block diagram

ESP-WROVER-KIT block diagram

Functional Description

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

ESP-WROVER-KIT board layout - front

ESP-WROVER-KIT board layout - front

ESP-WROVER-KIT board layout - 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 ComponentDescription
FT2232HLThe FT2232HL chip serves as a multi-protocol USB-to-serial bridge which can be programmed and controlled via USB to provide communication with ESP32. FT2232HL also features USB-to-JTAG interface which is available on channel A of the chip, while USB-to-serial is on channel B. The FT2232HL chip enhances user-friendliness in terms of application development and debugging. See ESP-WROVER-KIT V4.1 schematic.
32.768 kHzExternal precision 32.768 kHz crystal oscillator serves as a clock with low-power consumption while the chip is in Deep-sleep mode.
0RZero-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 moduleThis ESP32 module features 64-Mbit PSRAM for flexible extended storage and data processing capabilities.
Diagnostic LEDsFour red LEDs connected to the GPIO pins of FT2232HL. Intended for future use.
UARTSerial port. The serial TX/RX signals of FT2232HL 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.
SPIBy 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/RTSSerial 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.
JTAGJTAG interface. JTAG signals of FT2232HL 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 Setup Options.
USB PortUSB interface. Power supply for the board as well as the communication interface between a computer and the board.
EN ButtonReset button.
BOOT ButtonDownload button. Holding down Boot and then pressing EN initiates Firmware Download mode for downloading firmware through the serial port.
Power SwitchPower On/Off Switch. Toggling toward the Boot button powers the board on, toggling away from Boot powers the board off.
Power SelectorPower 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 Input5V 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 LEDThis red LED turns on when power is supplied to the board, either from USB or 5V Input.
LDONCP1117(1A). 5V-to-3.3V LDO. NCP1117 can provide a maximum current of 1A. The LDO on the board has a fixed output voltage, but the user can install an LDO with adjustable output voltage. For details, please refer to ESP-WROVER-KIT V4.1 schematic.
Camera ConnectorCamera interface, a standard OV7670 camera module.
RGB LEDRed, green and blue (RGB) light emitting diodes (LEDs), can be controlled by pulse width modulation (PWM).
I/O ConnectorAll 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 SlotUseful for developing applications that access microSD card for data storage and retrieval.
LCDSupport for mounting and interfacing a 3.2” SPI (standard 4-wire Serial Peripheral Interface) LCD, as shown in figure ESP-WROVER-KIT board layout - back.

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.

HeaderJumper SettingDescription of Functionality
JP7jp7-ext_5vPower ESP-WROVER-KIT via an external power supply
JP7jp7-usb_5vPower ESP-WROVER-KIT via USB
JP2jp2-jtagEnable JTAG functionality
JP2jp2-tx-rxEnable UART communication
JP14jp14Enable RTS/CTS flow control for serial communication

Allocation of ESP32 Pins

Some pins or 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 WithI/OI/OShared With
n/a3.3VGNDn/a
NC/XTALIO32IO33NC/XTAL
JTAG, microSDIO12IO13JTAG,microSD
JTAG, microSDIO14IO27Camera
CameraIO26IO25Camera, LCD
CameraIO35IO34Camera
CameraIO39IO36Camera
JTAGENIO23Camera, LCD
Camera, LCDIO22IO21Camera, LCD, microSD
Camera, LCDIO19IO18Camera, LCD
Camera, LCDIO5IO17PSRAM
PSRAMIO16IO4LED, Camera, microSD
Camera, LED, BootIO0IO2LED, microSD
JTAG, microSDIO155V

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
1GPIO32
2GPIO33

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 or R23 and re-soldering them to positions R12 or R24.

SPI Flash/JP2

.ESP32 Pin
1CLK/GPIO6
2SD0/GPIO7
3SD1/GPIO8
4SD2/GPIO9
5SD3/GPIO10
6CMD/GPIO11

Note

SPI Flash pins are used to access the internal flash memory. Therefore, they are not available to connect external SPI devices. Those pins are exposed for monitoring or for advanced usage only.

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 PinJTAG Signal
1ENTRST_N
2MTMS/GPIO14TMS
3MTDO/GPIO15TDO
4MTDI/GPIO12TDI
5MTCK/GPIO13TCK

Camera/JP4

.ESP32 PinCamera Signal
1n/a3.3V
2n/aGround
3GPIO27SIO_C/SCCB Clock
4GPIO26SIO_D/SCCB Data
5GPIO25VSYNC/Vertical Sync
6GPIO23HREF/Horizontal Reference
7GPIO22PCLK/Pixel Clock
8GPIO21XCLK/System Clock
9GPIO35D7/Pixel Data Bit 7
10GPIO34D6/Pixel Data Bit 6
11GPIO39D5/Pixel Data Bit 5
12GPIO36D4/Pixel Data Bit 4
13GPIO19D3/Pixel Data Bit 3
14GPIO18D2/Pixel Data Bit 2
15GPIO5D1/Pixel Data Bit 1
16GPIO4D0/Pixel Data Bit 0
17GPIO0RESET/Camera Reset
18n/aPWDN/Camera Power Down
  • Signals D0 .. D7 denote camera data bus

RGB LED

.ESP32 PinRGB LED
1GPIO0Red
2GPIO2Green
3GPIO4Blue

microSD Card

.ESP32 PinmicroSD Signal
1MTDI/GPIO12DATA2
2MTCK/GPIO13CD/DATA3
3MTDO/GPIO15CMD
4MTMS/GPIO14CLK
5GPIO2DATA0
6GPIO4DATA1
7GPIO21Card Detect

LCD/U5

.ESP32 PinLCD Signal
1GPIO18RESET
2GPIO19SCL
3GPIO21D/C
4GPIO22CS
5GPIO23SDA
6GPIO25SDO
7GPIO5Backlight

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 portEnable UART communication
jp7-usb_5vjp2-tx-rx

Do not install any other jumpers.

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

Now to Development

Please proceed to Get Started, where Section Installation will quickly help you set up the development environment and then flash an example project onto your board.

A Board Support Package can be found in IDF Component Registry.

The application examples that use some hardware specific to your ESP-WROVER-KIT can be found below.