1ESP-WROVER-KIT V4.1 Getting Started Guide
2=========================================
3:link_to_translation:`zh_CN:[中文]`
4
5This 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.
6
7
8What You Need
9-------------
10
11* :ref:`ESP-WROVER-KIT V4.1 board <get-started-esp-wrover-kit-v4.1-board-front>`
12* USB 2.0 cable(A to Micro-B)
13* Computer running Windows, Linux, or macOS
14
15You can skip the introduction sections and go directly to Section `Start Application Development`_.
16
17
18Overview
19--------
20
21ESP-WROVER-KIT is an ESP32-based development board produced by `Espressif <https://espressif.com>`_.
22
23ESP-WROVER-KIT features the following integrated components:
24
25- ESP32-WROVER-E module
26- LCD screen
27- MicroSD card slot
28
29Its 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.
30
31Most of the ESP32 I/O pins are broken out to the board's pin headers for easy access.
32
33.. note::
34
35    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.
36
37
38Functionality Overview
39----------------------
40
41The block diagram below shows the main components of ESP-WROVER-KIT and their interconnections.
42
43.. figure:: ../../../_static/esp-wrover-kit-block-diagram.png
44    :align: center
45    :alt: ESP-WROVER-KIT block diagram
46    :figclass: align-center
47
48    ESP-WROVER-KIT block diagram
49
50
51Functional Description
52----------------------
53
54The following two figures and the table below describe the key components, interfaces, and controls of the ESP-WROVER-KIT board.
55
56.. _get-started-esp-wrover-kit-v4.1-board-front:
57
58.. figure:: ../../../_static/esp-wrover-kit-v4.1-layout-front.png
59    :align: center
60    :alt: ESP-WROVER-KIT board layout - front
61    :figclass: align-center
62
63    ESP-WROVER-KIT board layout - front
64
65.. _get-started-esp-wrover-kit-v4.1-board-back:
66
67.. figure:: ../../../_static/esp-wrover-kit-v4.1-layout-back.png
68    :align: center
69    :alt: ESP-WROVER-KIT board layout - back
70    :figclass: align-center
71
72    ESP-WROVER-KIT board layout - back
73
74
75The table below provides description in the following manner:
76
77- Starting from the first picture's top right corner and going clockwise
78- Then moving on to the second picture
79
80.. list-table::
81    :widths: 25 75
82    :header-rows: 1
83
84    * - Key Component
85      - Description
86    * - FT2232
87      - 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`_.
88    * - 32.768 kHz
89      - External precision 32.768 kHz crystal oscillator serves as a clock with low-power consumption while the chip is in Deep-sleep mode.
90    * - 0R
91      - 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.
92    * - ESP32-WROVER-E module
93      - This ESP32 module features 64-Mbit PSRAM for flexible extended storage and data processing capabilities.
94    * - Diagnostic LEDs
95      - Four red LEDs connected to the GPIO pins of FT2232. Intended for future use.
96    * - UART
97      - 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.
98    * - SPI
99      - 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.
100    * - CTS/RTS
101      - 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.
102    * - JTAG
103      - 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 `Setup Options`_.
104    * - USB Port
105      - USB interface. Power supply for the board as well as the communication interface between a computer and the board.
106    * - EN Button
107      - Reset button.
108    * - BOOT Button
109      - Download button. Holding down **Boot** and then pressing **EN** initiates Firmware Download mode for downloading firmware through the serial port.
110    * - Power Switch
111      - Power On/Off Switch. Toggling toward the **Boot** button powers the board on, toggling away from **Boot** powers the board off.
112    * - Power Selector
113      - 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.
114    * - 5V Input
115      - 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).
116    * - 5V Power On LED
117      - This red LED turns on when power is supplied to the board, either from **USB** or **5V Input**.
118    * - LDO
119      - 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`_.
120    * - Camera Connector
121      - Camera interface, a standard OV7670 camera module.
122    * - RGB LED
123      - Red, green and blue (RGB) light emitting diodes (LEDs), can be controlled by pulse width modulation (PWM).
124    * - I/O Connector
125      - 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.
126    * - MicroSD Card Slot
127      - Useful for developing applications that access MicroSD card for data storage and retrieval.
128    * - LCD
129      - Support for 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`.
130
131
132
133.. _get-started-esp-wrover-kit-v4.1-setup-options:
134
135Setup Options
136-------------
137
138There are three jumper blocks available to set up the board functionality. The most frequently required options are listed in the table below.
139
140=======  ================  =========================================================
141Header   Jumper Setting    Description of Functionality
142=======  ================  =========================================================
143JP7      |jp7-ext_5v|      Power ESP-WROVER-KIT via an external power supply
144JP7      |jp7-usb_5v|      Power ESP-WROVER-KIT via USB
145JP2      |jp2-jtag|        Enable JTAG functionality
146JP2      |jp2-tx-rx|       Enable UART communication
147JP14     |jp14|            Enable RTS/CTS flow control for serial communication
148=======  ================  =========================================================
149
150
151Allocation of ESP32 Pins
152------------------------
153
154Some 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.
155
156Some 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.
157
158In 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.
159
160For more details on which pins are shared among which peripherals, please refer to the table in the next section.
161
162
163Main I/O Connector / JP1
164^^^^^^^^^^^^^^^^^^^^^^^^
165
166The 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.
167
168=====================  =====  =====  =====================
169Shared With            I/O    I/O    Shared With
170=====================  =====  =====  =====================
171n/a                    3.3V   GND    n/a
172NC/XTAL                IO32   IO33   NC/XTAL
173JTAG, MicroSD          IO12   IO13   JTAG, MicroSD
174JTAG, MicroSD          IO14   IO27   Camera
175Camera                 IO26   IO25   Camera, LCD
176Camera                 IO35   IO34   Camera
177Camera                 IO39   IO36   Camera
178JTAG                   EN     IO23   Camera, LCD
179Camera, LCD            IO22   IO21   Camera, LCD, MicroSD
180Camera, LCD            IO19   IO18   Camera, LCD
181Camera, LCD            IO5    IO17   PSRAM
182PSRAM                  IO16   IO4    LED, Camera, MicroSD
183Camera, LED, Boot      IO0    IO2    LED, MicroSD
184JTAG, MicroSD          IO15   5V
185=====================  =====  =====  =====================
186
187Legend:
188
189* NC/XTAL - :ref:`32.768 kHz Oscillator <get-started-esp-wrover-kit-v4.1-xtal>`
190* JTAG - :ref:`JTAG / JP2 <get-started-esp-wrover-kit-v4.1-jtag-header>`
191* Boot - Boot button / SW2
192* Camera - :ref:`Camera / JP4 <get-started-esp-wrover-kit-v4.1-camera-header>`
193* LED - :ref:`RGB LED <get-started-esp-wrover-kit-v4.1-rgb-led-connections>`
194* MicroSD - :ref:`MicroSD Card / J4 <get-started-esp-wrover-kit-v4.1-microsd-card-slot>`
195* LCD - :ref:`LCD / U5 <get-started-esp-wrover-kit-v4.1-lcd-connector>`
196* PSRAM - ESP32-WROVER-E's PSRAM
197
198
199.. _get-started-esp-wrover-kit-v4.1-xtal:
200
20132.768 kHz Oscillator
202^^^^^^^^^^^^^^^^^^^^^
203
204====  ==========
205.     ESP32 Pin
206====  ==========
2071     GPIO32
2082     GPIO33
209====  ==========
210
211.. note::
212
213    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.
214
215
216.. _get-started-esp-wrover-kit-v4.1-spi-flash-header:
217
218SPI Flash / JP2
219^^^^^^^^^^^^^^^
220
221====  =============
222.     ESP32 Pin
223====  =============
2241     CLK / GPIO6
2252     SD0 / GPIO7
2263     SD1 / GPIO8
2274     SD2 / GPIO9
2285     SD3 / GPIO10
2296     CMD / GPIO11
230====  =============
231
232.. important::
233
234    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.
235
236
237.. _get-started-esp-wrover-kit-v4.1-jtag-header:
238
239JTAG / JP2
240^^^^^^^^^^
241
242====  ==============  =============
243.     ESP32 Pin       JTAG Signal
244====  ==============  =============
2451     EN              TRST_N
2462     MTMS / GPIO14   TMS
2473     MTDO / GPIO15   TDO
2484     MTDI / GPIO12   TDI
2495     MTCK / GPIO13   TCK
250====  ==============  =============
251
252
253.. _get-started-esp-wrover-kit-v4.1-camera-header:
254
255Camera / JP4
256^^^^^^^^^^^^
257
258====  ==========  =============================
259.     ESP32 Pin   Camera Signal
260====  ==========  =============================
261 1    n/a         3.3V
262 2    n/a         Ground
263 3    GPIO27      SIO_C / SCCB Clock
264 4    GPIO26      SIO_D / SCCB Data
265 5    GPIO25      VSYNC / Vertical Sync
266 6    GPIO23      HREF / Horizontal Reference
267 7    GPIO22      PCLK / Pixel Clock
268 8    GPIO21      XCLK / System Clock
269 9    GPIO35      D7 / Pixel Data Bit 7
27010    GPIO34      D6 / Pixel Data Bit 6
27111    GPIO39      D5 / Pixel Data Bit 5
27212    GPIO36      D4 / Pixel Data Bit 4
27313    GPIO19      D3 / Pixel Data Bit 3
27414    GPIO18      D2 / Pixel Data Bit 2
27515    GPIO5       D1 / Pixel Data Bit 1
27616    GPIO4       D0 / Pixel Data Bit 0
27717    GPIO0       RESET / Camera Reset
27818    n/a         PWDN / Camera Power Down
279====  ==========  =============================
280
281* Signals D0 .. D7 denote camera data bus
282
283
284.. _get-started-esp-wrover-kit-v4.1-rgb-led-connections:
285
286RGB LED
287^^^^^^^
288
289====  ==========  =========
290.     ESP32 Pin   RGB LED
291====  ==========  =========
2921     GPIO0       Red
2932     GPIO2       Green
2943     GPIO4       Blue
295====  ==========  =========
296
297
298.. _get-started-esp-wrover-kit-v4.1-microsd-card-slot:
299
300MicroSD Card
301^^^^^^^^^^^^
302
303====  ==============  ===============
304.     ESP32 Pin       MicroSD Signal
305====  ==============  ===============
3061     MTDI / GPIO12   DATA2
3072     MTCK / GPIO13   CD / DATA3
3083     MTDO / GPIO15   CMD
3094     MTMS / GPIO14   CLK
3105     GPIO2           DATA0
3116     GPIO4           DATA1
3127     GPIO21          Card Detect
313====  ==============  ===============
314
315
316.. _get-started-esp-wrover-kit-v4.1-lcd-connector:
317
318LCD / U5
319^^^^^^^^
320
321====  ==============  ===============
322.     ESP32 Pin       LCD Signal
323====  ==============  ===============
3241     GPIO18          RESET
3252     GPIO19          SCL
3263     GPIO21          D/C
3274     GPIO22          CS
3285     GPIO23          SDA
3296     GPIO25          SDO
3307     GPIO5           Backlight
331====  ==============  ===============
332
333
334.. _get-started-esp-wrover-kit-start-development:
335
336Start Application Development
337-----------------------------
338
339Before powering up your ESP-WROVER-KIT, please make sure that the board is in good condition with no obvious signs of damage.
340
341
342Initial Setup
343^^^^^^^^^^^^^
344
345Please set only the following jumpers shown in the pictures below:
346
347- Select USB as the power source using the jumper block JP7.
348
349- Enable UART communication using the jumper block JP2.
350
351========================  ==========================
352Power up from USB port    Enable UART communication
353========================  ==========================
354|jp7-usb_5v|              |jp2-tx-rx|
355========================  ==========================
356
357Do not install any other jumpers.
358
359Turn the **Power Switch** to ON, the **5V Power On LED** should light up.
360
361Now to Development
362^^^^^^^^^^^^^^^^^^
363
364Please proceed to :doc:`../../get-started/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.
365
366The application examples that use some hardware specific to your ESP-WROVER-KIT can be found below.
367
368* On-board LCD example: :example:`peripherals/spi_master/lcd`
369* SD card slot example: :example:`storage/sd_card`
370* Camera connector example: https://github.com/espressif/esp32-camera
371
372Related Documents
373-----------------
374
375* `ESP-WROVER-KIT V4.1 schematic`_ (PDF)
376* `ESP-WROVER-KIT V4.1 layout <https://dl.espressif.com/dl/schematics/ESP-WROVER-KIT_V4.1.dxf>`_ (DXF) may be opened online with `Autodesk Viewer <https://viewer.autodesk.com/>`_
377* `ESP32 Datasheet <https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf>`_ (PDF)
378* `ESP32-WROVER-E Datasheet <https://www.espressif.com/sites/default/files/documentation/esp32-wrover-e_esp32-wrover-ie_datasheet_en.pdf>`_ (PDF)
379* :doc:`../../api-guides/jtag-debugging/index`
380* :doc:`../../hw-reference/index`
381
382.. |jp7-ext_5v| image:: ../../../_static/esp-wrover-kit-v4.1-jp7-ext_5v.jpg
383.. |jp7-usb_5v| image:: ../../../_static/esp-wrover-kit-v4.1-jp7-usb_5v.jpg
384.. |jp2-jtag| image:: ../../../_static/esp-wrover-kit-v4.1-jp2-jtag.jpg
385.. |jp2-tx-rx| image:: ../../../_static/esp-wrover-kit-v4.1-jp2-tx-rx.jpg
386.. |jp14| image:: ../../../_static/esp-wrover-kit-v4.1-jp14.jpg
387
388.. _ESP-WROVER-KIT V4.1 schematic: https://dl.espressif.com/dl/schematics/ESP-WROVER-KIT_V4_1.pdf
389
390.. toctree::
391    :hidden:
392
393    get-started-wrover-kit-v3.rst
394    get-started-wrover-kit-v2.rst
395