ESP-WROVER-KIT V3¶
Support for for Espressif ESP-WROVER-KIT V3.
Table of Contents¶
Overview [TOC]¶
The Espressif ESP-WROVER-KIT is a development board that uses the ESP32-WROVER module which includes a built-in 4 MByte SPI RAM. Most important features of the board are
- Micro-SD card interface
- OV7670 camera interface
- 3.2” SPI LCD panel
- RGB LED
- USB bridge with JTAG interface
Furthermore, many GPIOs are broken out for extension. The USB bridge based on FDI FT2232HL provides a JTAG interface for OCD debugging through the USB interface.
Hardware [TOC]¶
This section describes
- the MCU,
- the default board configuration,
- optional hardware configurations,
- the board pinout.
MCU [TOC]¶
Most features of the board are provided by the ESP32 SoC. The following table summarizes these features and gives an overview of which of these features are supported by RIOT. For detailed information about the ESP32, see section .
MCU | ESP32 | Supported by RIOT |
---|---|---|
Vendor | Espressif | |
Cores | 1 or 2 x Tensilica Xtensa LX6 | 1 core |
FPU | yes (ULP - Ultra low power co-processor) | no |
RAM | 520 kByte SRAM 16 kByte RTC SRAM | yes |
ROM | 520 kByte | yes |
Flash | 512 kByte … 16 MByte | yes |
Frequency | 240 MHz, 160 MHz, 80 MHz | yes |
Power Consumption | 68 mA @ 240 MHz 44 mA @ 160 MHz 31 mA @ 80 MHz 5 uA in deep sleep mode | yes yes yes no |
Timers | 4 x 64 bit | yes |
ADCs | 2 x SAR-ADC with up to 18 x 12 bit channels total | yes |
DACs | 2 x DAC with 8 bit | yes |
GPIOs | 34 (6 of them are only inputs) | yes |
I2Cs | 2 | yes |
SPIs | 4 | yes |
UARTs | 3 | yes |
WiFi | IEEE 802.11 b/g/n built in | yes |
Bluetooth | v4.2 BR/EDR and BLE | no |
Ethernet | MAC interface with dedicated DMA and IEEE 1588 support | yes |
CAN | version 2.0 | no |
IR | up to 8 channels TX/RX | no |
Motor PWM | 2 devices x 6 channels | yes |
LED PWM | 16 channels | no |
Crypto | Hardware acceleration of AES, SHA-2, RSA, ECC, RNG | no |
Vcc | 2.5 - 3.6 V | |
Documents | Datasheet Technical Reference |
Board Configuration [TOC]¶
ESP-WROVER-KIT has the following on-board components
- Micro-SD card interface
- OV7670 camera interface
- 3.2” SPI LCD panel
- RGB LED
- USB bridge with JTAG interface
The following table shows the default board configuration sorted according to the defined functionality of GPIOs for different hardware options. This configuration can be overridden by .
In the following table following abbreviations are used:
SDC = SD-Card interface is used (module sdcard_spi is enabled) CAM = Camera is plugged in/used
Function | None | SDC | CAM | SDC+CAM | Remarks | Configuration |
---|---|---|---|---|---|---|
adc.h::ADC_LINE |
GPIO34 | GPIO34 | - | - | CAMERA_D6 | |
adc.h::ADC_LINE |
GPIO35 | GPIO35 | - | - | CAMERA_D7 | |
adc.h::ADC_LINE |
GPIO36 | GPIO36 | - | - | CAMERA_D4 | |
adc.h::ADC_LINE |
GPIO39 | GPIO39 | - | - | CAMERA_D5 | |
pwm.h::PWM_DEV :0 / LED0 |
GPIO0 | GPIO0 | - | - | LED_RED / CAMERA_RESET | |
pwm.h::PWM_DEV :2 / LED2 |
GPIO4 | GPIO4 | - | - | LED_BLUE / CAMERA_D0 | |
LED1 | GPIO2 | GPIO2 | GPIO2 | GPIO2 | LED_GREEN | |
i2c.h::I2C_DEV :SCL |
GPIO27 | GPIO27 | GPIO27 | GPIO27 | CAMERA_SIO_C | |
i2c.h::I2C_DEV :SDA |
GPIO26 | GPIO26 | GPIO26 | GPIO27 | CAMERA_SIO_D | |
uart.h::UART_DEV :TX |
GPIO1 | GPIO1 | GPIO1 | GPIO1 | ||
uart.h::UART_DEV :RX |
GPIO3 | GPIO3 | GPIO3 | GPIO3 | ||
spi.h::SPI_DEV :SCK |
GPIO14 | GPIO14 | GPIO14 | GPIO14 | HSPI: SD-Card / Peripherals | |
spi.h::SPI_DEV :MOSI |
GPIO15 | GPIO15 | GPIO15 | GPIO15 | HSPI: SD-Card / Peripherals | |
spi.h::SPI_DEV :MISO |
GPIO2 | GPIO2 | GPIO2 | GPIO2 | HSPI: SD-Card / Peripherals | |
spi.h::SPI_DEV :CS0 |
GPIO13 | GPIO13 | GPIO13 | GPIO13 | HSPI: SD-Card CS | |
spi.h::SPI_DEV /LCD:SCK |
GPIO19 | GPIO19 | - | - | VSPI: LCD / CAMERA_D3 | |
spi.h::SPI_DEV /LCD:MOSI |
GPIO23 | GPIO23 | - | - | VSPI: LCD / CAMERA_HREF | |
spi.h::SPI_DEV /LCD:MISO |
GPIO25 | GPIO25 | - | - | VSPI: LCD / CAMERA_VSYNC | |
spi.h::SPI_DEV /LCD:CS0 |
GPIO22 | GPIO22 | - | - | VSPI: LCD / CAMERA_PCLK | |
LCD_LED | GPIO5 | GPIO5 | - | - | CAMERA_D1 | |
LCD_SCL | GPIO19 | GPIO19 | - | - | CAMERA_D3 | |
LCD_MOSI | GPIO23 | GPIO23 | - | - | CAMERA_HREF | |
LCD_MISO | GPIO25 | GPIO25 | - | - | CAMERA_VSYNC | |
LCD_CS | GPIO22 | GPIO22 | - | - | CAMERA_PCLK | |
LCD_D/C | GPIO21 | GPIO21 | - | - | CAMERA_XCLK | |
LCD_RESET | GPIO18 | GPIO18 | - | - | CAMERA_D2 | |
CAMERA_D0 | - | - | GPIO4 | GPIO4 | ||
CAMERA_D1 | - | - | GPIO5 | GPIO5 | ||
CAMERA_D2 | - | - | GPIO18 | GPIO18 | ||
CAMERA_D3 | - | - | GPIO19 | GPIO19 | ||
CAMERA_D4 | - | - | GPIO36 | GPIO36 | ||
CAMERA_D5 | - | - | GPIO39 | GPIO39 | ||
CAMERA_D6 | - | - | GPIO34 | GPIO34 | ||
CAMERA_D7 | - | - | GPIO35 | GPIO35 | ||
CAMERA_XCLK | - | - | GPIO21 | GPIO21 | ||
CAMERA_PCLK | - | - | GPIO22 | GPIO22 | ||
CAMERA_HREF | - | - | GPIO23 | GPIO23 | ||
CAMERA_VSYNC | - | - | GPIO25 | GPIO25 | ||
CAMERA_SIO_D | - | - | GPIO26 | GPIO26 | ||
CAMERA_SIO_C | - | - | GPIO27 | GPIO27 | ||
CAMERA_RESET | - | - | GPIO0 | GPIO0 |
Following table shows the default board configuration sorted by GPIOs.
Pin | None | SDC | CAM | SDC+CAM | Remarks |
---|---|---|---|---|---|
GPIO0 | pwm.h::PWM_DEV :0 / LED0 |
pwm.h::PWM_DEV :0 / LED0 |
CAMERA_RESET | CAMERA_RESET | |
GPIO1 | uart.h::UART_DEV :TX |
uart.h::UART_DEV :TX |
uart.h::UART_DEV :TX |
uart.h::UART_DEV :TX |
|
GPIO2 | spi.h::SPI_DEV :MISO / LED1 |
spi.h::SPI_DEV :MISO |
spi.h::SPI_DEV :MISO |
spi.h::SPI_DEV :MISO |
HSPI |
GPIO3 | uart.h::UART_DEV :RX |
uart.h::UART_DEV :RX |
uart.h::UART_DEV :RX |
uart.h::UART_DEV :RX |
|
GPIO4 | pwm.h::PWM_DEV :1 / LED2 |
pwm.h::PWM_DEV :1 / LED2 |
CAMERA_D0 | CAMERA_D0 | |
GPIO5 | LCD LED | LCD_LED | CAMERA_D1 | CAMERA_D1 | |
GPIO6 | Flash CLK | Flash CLK | Flash CLK | Flash CLK | |
GPIO7 | Flash SD0 | Flash SD0 | Flash SD0 | Flash SD0 | |
GPIO8 | Flash SD1 | Flash SD1 | Flash SD1 | Flash SD1 | |
GPIO9 | |||||
GPIO10 | |||||
GPIO11 | Flash CMD | Flash CMD | Flash CMD | Flash CMD | |
GPIO12 | |||||
GPIO13 | spi.h::SPI_DEV :CS0 |
spi.h::SPI_DEV :CS0 |
spi.h::SPI_DEV :CS0 |
spi.h::SPI_DEV :CS0 |
HSPI / SD-Card CS |
GPIO14 | spi.h::SPI_DEV :SCK |
spi.h::SPI_DEV :SCK |
spi.h::SPI_DEV :SCK |
spi.h::SPI_DEV :SCK |
HSPI |
GPIO15 | spi.h::SPI_DEV :MOSI |
spi.h::SPI_DEV :MOSI |
spi.h::SPI_DEV :MOSI |
spi.h::SPI_DEV :MOSI |
HSPI |
GPIO16 | N/A | N/A | N/A | N/A | see below |
GPIO17 | N/A | N/A | N/A | N/A | see below |
GPIO18 | LCD_RESET | LCD_RESET | LCD_RESET | CAMERA_D2 | |
GPIO19 | spi.h::SPI_DEV /LCD:SCK |
spi.h::SPI_DEV /LCD:SCK |
spi.h::SPI_DEV /LCD:SCK |
CAMERA_D3 | VSPI |
GPIO21 | LCD_D/C | LCD_D/C | LCD_D/C | CAMERA_XCLK | |
GPIO22 | spi.h::SPI_DEV /LCD:CS |
spi.h::SPI_DEV /LCD:CS0 |
spi.h::SPI_DEV /LCD:CS0 |
CAMERA_PCLK | VSPI |
GPIO23 | spi.h::SPI_DEV /LCD:MOSI |
spi.h::SPI_DEV /LCD:MOSI |
spi.h::SPI_DEV /LCD:MOSI |
CAMERA_HREF | VSPI |
GPIO25 | spi.h::SPI_DEV /LCD:MISO |
spi.h::SPI_DEV /LCD:MISO |
spi.h::SPI_DEV /LCD:MISO |
CAMERA_VSYNC | VSPI |
GPIO26 | i2c.h::I2C_DEV :SDA |
i2c.h::I2C_DEV :SDA |
i2c.h::I2C_DEV :SDA |
i2c.h::I2C_DEV /CAMERASIO_D:SDA |
|
GPIO27 | i2c.h::I2C_DEV :SCL |
i2c.h::I2C_DEV :SCL |
i2c.h::I2C_DEV :SCL |
i2c.h::I2C_DEV /CAMERASIO_C:SCL |
|
GPIO32 | N/A | N/A | N/A | N/A | see below |
GPIO33 | N/A | N/A | N/A | N/A | see below |
GPIO34 | adc.h::ADC_LINE |
adc.h::ADC_LINE |
adc.h::ADC_LINE |
CAMERA_D6 | |
GPIO35 | adc.h::ADC_LINE |
adc.h::ADC_LINE |
adc.h::ADC_LINE |
CAMERA_D7 | |
GPIO36 | adc.h::ADC_LINE |
adc.h::ADC_LINE |
adc.h::ADC_LINE |
CAMERA_D4 | |
GPIO39 | adc.h::ADC_LINE |
adc.h::ADC_LINE |
adc.h::ADC_LINE |
CAMERA_D5 |
Note
spi.h::SPI_DEV
uses the HSPI interface with the GPIO2 pin as the MISO signal. Since GPIO2 has bootstrapping functionality, it might be necessary to to press the Boot button for flashing RIOT when the SD card or the peripheral hardware is attached to this SPI interface.- GPIO0 cannot be used as SPI CS signal for external hardware connected to
spi.h::SPI_DEV
. The reason for this is that the LEDs on this board are high-active and the default state of the LEDs after power-up causes a low level on the corresponding GPIO outputs. - GPIO2 cannot be used as
pwm.h::PWM_DEV
channel 1 / LED0 whenspi.h::SPI_DEV
is used in any way. Reason is that GPIO2 is the MISO signal whenspi.h::SPI_DEV
is used and is therefore an input. PWM channels are outputs. - It might be necessary to remove the SD card or the peripheral hardware attached to the
spi.h::SPI_DEV
interface for flashing RIOT. Reason is that thespi.h::SPI_DEV
interface uses the HSPI interface with the GPIO2 pin as the MISO signal, which has bootstrapping functionality. - GPIO16 and GPIO17 are used for the built-in SPI RAM and are not available on the I/O expansion connector, even though they are labeled there.
- GPIO32 and GPIO33 are attached to a 32 kHz crystal by default. GPIO32 and GPIO33 are standard connected to a 32 kHz crystal. To make them available as a GPIO on the I/O expansion connector, SMD resistors would need to be removed and soldered.
https://docs.espressif.com/projects/esp-idf/en/latest/get-started/get-started-wrover-kit.html
Optional Hardware Configurations [TOC]¶
MRF24J40-based IEEE 802.15.4 radio modules and ENC28J60-based Ethernet network interface modules have been tested with the board. You could use the following code in your to use such modules:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #ifdef BOARD_ESP32_WROVER_KIT
#if MODULE_MRF24J40
#define MRF24J40_PARAM_CS GPIO9 /* MRF24J40 CS signal */
#define MRF24J40_PARAM_INT GPIO10 /* MRF24J40 INT signal */
#define MRF24J40_PARAM_RESET GPIO12 /* MRF24J40 RESET signal */
#endif
#if MODULE_ENC28J80
#define ENC28J80_PARAM_CS GPIO9 /* ENC28J80 CS signal */
#define ENC28J80_PARAM_INT GPIO10 /* ENC28J80 INT signal */
#define ENC28J80_PARAM_RESET GPIO12 /* ENC28J80 RESET signal */
endif
#endif
|
Note
- Only a few GPIOs are available for external hardware on ESP-WROVER-KIT boards. Therefore, MRF24J40 and ENC28J60 based modules use the same GPIOs and only one of these modules can be used simultaneously.
- The RESET signal of MRF24J40 and ENC28J60 based modules can also be connected to the RST pin of the board (see ) to keep the configured GPIO free for other purposes.
Board Pinout [TOC]¶
The following picture shows the pinout of the ESP-WROVER-KIT V3 boards as defined by the default board configuration. The light green GPIOs are not used by configured on-board hardware components and can be used for any purpose. However, if optional off-board hardware modules are used, these GPIOs may also be occupied, see in table board configuration.
The corresponding board schematic can be found here.
MCU [TOC]¶
Most features of the board are provided by the ESP32 SoC. The following table summarizes these features and gives an overview of which of these features are supported by RIOT. For detailed information about the ESP32, see section .
MCU | ESP32 | Supported by RIOT |
---|---|---|
Vendor | Espressif | |
Cores | 1 or 2 x Tensilica Xtensa LX6 | 1 core |
FPU | yes (ULP - Ultra low power co-processor) | no |
RAM | 520 kByte SRAM 16 kByte RTC SRAM | yes |
ROM | 520 kByte | yes |
Flash | 512 kByte … 16 MByte | yes |
Frequency | 240 MHz, 160 MHz, 80 MHz | yes |
Power Consumption | 68 mA @ 240 MHz 44 mA @ 160 MHz 31 mA @ 80 MHz 5 uA in deep sleep mode | yes yes yes no |
Timers | 4 x 64 bit | yes |
ADCs | 2 x SAR-ADC with up to 18 x 12 bit channels total | yes |
DACs | 2 x DAC with 8 bit | yes |
GPIOs | 34 (6 of them are only inputs) | yes |
I2Cs | 2 | yes |
SPIs | 4 | yes |
UARTs | 3 | yes |
WiFi | IEEE 802.11 b/g/n built in | yes |
Bluetooth | v4.2 BR/EDR and BLE | no |
Ethernet | MAC interface with dedicated DMA and IEEE 1588 support | yes |
CAN | version 2.0 | no |
IR | up to 8 channels TX/RX | no |
Motor PWM | 2 devices x 6 channels | yes |
LED PWM | 16 channels | no |
Crypto | Hardware acceleration of AES, SHA-2, RSA, ECC, RNG | no |
Vcc | 2.5 - 3.6 V | |
Documents | Datasheet Technical Reference |
Board Configuration [TOC]¶
ESP-WROVER-KIT has the following on-board components
- Micro-SD card interface
- OV7670 camera interface
- 3.2” SPI LCD panel
- RGB LED
- USB bridge with JTAG interface
The following table shows the default board configuration sorted according to the defined functionality of GPIOs for different hardware options. This configuration can be overridden by .
In the following table following abbreviations are used:
SDC = SD-Card interface is used (module sdcard_spi is enabled) CAM = Camera is plugged in/used
Function | None | SDC | CAM | SDC+CAM | Remarks | Configuration |
---|---|---|---|---|---|---|
adc.h::ADC_LINE |
GPIO34 | GPIO34 | - | - | CAMERA_D6 | |
adc.h::ADC_LINE |
GPIO35 | GPIO35 | - | - | CAMERA_D7 | |
adc.h::ADC_LINE |
GPIO36 | GPIO36 | - | - | CAMERA_D4 | |
adc.h::ADC_LINE |
GPIO39 | GPIO39 | - | - | CAMERA_D5 | |
pwm.h::PWM_DEV :0 / LED0 |
GPIO0 | GPIO0 | - | - | LED_RED / CAMERA_RESET | |
pwm.h::PWM_DEV :2 / LED2 |
GPIO4 | GPIO4 | - | - | LED_BLUE / CAMERA_D0 | |
LED1 | GPIO2 | GPIO2 | GPIO2 | GPIO2 | LED_GREEN | |
i2c.h::I2C_DEV :SCL |
GPIO27 | GPIO27 | GPIO27 | GPIO27 | CAMERA_SIO_C | |
i2c.h::I2C_DEV :SDA |
GPIO26 | GPIO26 | GPIO26 | GPIO27 | CAMERA_SIO_D | |
uart.h::UART_DEV :TX |
GPIO1 | GPIO1 | GPIO1 | GPIO1 | ||
uart.h::UART_DEV :RX |
GPIO3 | GPIO3 | GPIO3 | GPIO3 | ||
spi.h::SPI_DEV :SCK |
GPIO14 | GPIO14 | GPIO14 | GPIO14 | HSPI: SD-Card / Peripherals | |
spi.h::SPI_DEV :MOSI |
GPIO15 | GPIO15 | GPIO15 | GPIO15 | HSPI: SD-Card / Peripherals | |
spi.h::SPI_DEV :MISO |
GPIO2 | GPIO2 | GPIO2 | GPIO2 | HSPI: SD-Card / Peripherals | |
spi.h::SPI_DEV :CS0 |
GPIO13 | GPIO13 | GPIO13 | GPIO13 | HSPI: SD-Card CS | |
spi.h::SPI_DEV /LCD:SCK |
GPIO19 | GPIO19 | - | - | VSPI: LCD / CAMERA_D3 | |
spi.h::SPI_DEV /LCD:MOSI |
GPIO23 | GPIO23 | - | - | VSPI: LCD / CAMERA_HREF | |
spi.h::SPI_DEV /LCD:MISO |
GPIO25 | GPIO25 | - | - | VSPI: LCD / CAMERA_VSYNC | |
spi.h::SPI_DEV /LCD:CS0 |
GPIO22 | GPIO22 | - | - | VSPI: LCD / CAMERA_PCLK | |
LCD_LED | GPIO5 | GPIO5 | - | - | CAMERA_D1 | |
LCD_SCL | GPIO19 | GPIO19 | - | - | CAMERA_D3 | |
LCD_MOSI | GPIO23 | GPIO23 | - | - | CAMERA_HREF | |
LCD_MISO | GPIO25 | GPIO25 | - | - | CAMERA_VSYNC | |
LCD_CS | GPIO22 | GPIO22 | - | - | CAMERA_PCLK | |
LCD_D/C | GPIO21 | GPIO21 | - | - | CAMERA_XCLK | |
LCD_RESET | GPIO18 | GPIO18 | - | - | CAMERA_D2 | |
CAMERA_D0 | - | - | GPIO4 | GPIO4 | ||
CAMERA_D1 | - | - | GPIO5 | GPIO5 | ||
CAMERA_D2 | - | - | GPIO18 | GPIO18 | ||
CAMERA_D3 | - | - | GPIO19 | GPIO19 | ||
CAMERA_D4 | - | - | GPIO36 | GPIO36 | ||
CAMERA_D5 | - | - | GPIO39 | GPIO39 | ||
CAMERA_D6 | - | - | GPIO34 | GPIO34 | ||
CAMERA_D7 | - | - | GPIO35 | GPIO35 | ||
CAMERA_XCLK | - | - | GPIO21 | GPIO21 | ||
CAMERA_PCLK | - | - | GPIO22 | GPIO22 | ||
CAMERA_HREF | - | - | GPIO23 | GPIO23 | ||
CAMERA_VSYNC | - | - | GPIO25 | GPIO25 | ||
CAMERA_SIO_D | - | - | GPIO26 | GPIO26 | ||
CAMERA_SIO_C | - | - | GPIO27 | GPIO27 | ||
CAMERA_RESET | - | - | GPIO0 | GPIO0 |
Following table shows the default board configuration sorted by GPIOs.
Pin | None | SDC | CAM | SDC+CAM | Remarks |
---|---|---|---|---|---|
GPIO0 | pwm.h::PWM_DEV :0 / LED0 |
pwm.h::PWM_DEV :0 / LED0 |
CAMERA_RESET | CAMERA_RESET | |
GPIO1 | uart.h::UART_DEV :TX |
uart.h::UART_DEV :TX |
uart.h::UART_DEV :TX |
uart.h::UART_DEV :TX |
|
GPIO2 | spi.h::SPI_DEV :MISO / LED1 |
spi.h::SPI_DEV :MISO |
spi.h::SPI_DEV :MISO |
spi.h::SPI_DEV :MISO |
HSPI |
GPIO3 | uart.h::UART_DEV :RX |
uart.h::UART_DEV :RX |
uart.h::UART_DEV :RX |
uart.h::UART_DEV :RX |
|
GPIO4 | pwm.h::PWM_DEV :1 / LED2 |
pwm.h::PWM_DEV :1 / LED2 |
CAMERA_D0 | CAMERA_D0 | |
GPIO5 | LCD LED | LCD_LED | CAMERA_D1 | CAMERA_D1 | |
GPIO6 | Flash CLK | Flash CLK | Flash CLK | Flash CLK | |
GPIO7 | Flash SD0 | Flash SD0 | Flash SD0 | Flash SD0 | |
GPIO8 | Flash SD1 | Flash SD1 | Flash SD1 | Flash SD1 | |
GPIO9 | |||||
GPIO10 | |||||
GPIO11 | Flash CMD | Flash CMD | Flash CMD | Flash CMD | |
GPIO12 | |||||
GPIO13 | spi.h::SPI_DEV :CS0 |
spi.h::SPI_DEV :CS0 |
spi.h::SPI_DEV :CS0 |
spi.h::SPI_DEV :CS0 |
HSPI / SD-Card CS |
GPIO14 | spi.h::SPI_DEV :SCK |
spi.h::SPI_DEV :SCK |
spi.h::SPI_DEV :SCK |
spi.h::SPI_DEV :SCK |
HSPI |
GPIO15 | spi.h::SPI_DEV :MOSI |
spi.h::SPI_DEV :MOSI |
spi.h::SPI_DEV :MOSI |
spi.h::SPI_DEV :MOSI |
HSPI |
GPIO16 | N/A | N/A | N/A | N/A | see below |
GPIO17 | N/A | N/A | N/A | N/A | see below |
GPIO18 | LCD_RESET | LCD_RESET | LCD_RESET | CAMERA_D2 | |
GPIO19 | spi.h::SPI_DEV /LCD:SCK |
spi.h::SPI_DEV /LCD:SCK |
spi.h::SPI_DEV /LCD:SCK |
CAMERA_D3 | VSPI |
GPIO21 | LCD_D/C | LCD_D/C | LCD_D/C | CAMERA_XCLK | |
GPIO22 | spi.h::SPI_DEV /LCD:CS |
spi.h::SPI_DEV /LCD:CS0 |
spi.h::SPI_DEV /LCD:CS0 |
CAMERA_PCLK | VSPI |
GPIO23 | spi.h::SPI_DEV /LCD:MOSI |
spi.h::SPI_DEV /LCD:MOSI |
spi.h::SPI_DEV /LCD:MOSI |
CAMERA_HREF | VSPI |
GPIO25 | spi.h::SPI_DEV /LCD:MISO |
spi.h::SPI_DEV /LCD:MISO |
spi.h::SPI_DEV /LCD:MISO |
CAMERA_VSYNC | VSPI |
GPIO26 | i2c.h::I2C_DEV :SDA |
i2c.h::I2C_DEV :SDA |
i2c.h::I2C_DEV :SDA |
i2c.h::I2C_DEV /CAMERASIO_D:SDA |
|
GPIO27 | i2c.h::I2C_DEV :SCL |
i2c.h::I2C_DEV :SCL |
i2c.h::I2C_DEV :SCL |
i2c.h::I2C_DEV /CAMERASIO_C:SCL |
|
GPIO32 | N/A | N/A | N/A | N/A | see below |
GPIO33 | N/A | N/A | N/A | N/A | see below |
GPIO34 | adc.h::ADC_LINE |
adc.h::ADC_LINE |
adc.h::ADC_LINE |
CAMERA_D6 | |
GPIO35 | adc.h::ADC_LINE |
adc.h::ADC_LINE |
adc.h::ADC_LINE |
CAMERA_D7 | |
GPIO36 | adc.h::ADC_LINE |
adc.h::ADC_LINE |
adc.h::ADC_LINE |
CAMERA_D4 | |
GPIO39 | adc.h::ADC_LINE |
adc.h::ADC_LINE |
adc.h::ADC_LINE |
CAMERA_D5 |
Note
spi.h::SPI_DEV
uses the HSPI interface with the GPIO2 pin as the MISO signal. Since GPIO2 has bootstrapping functionality, it might be necessary to to press the Boot button for flashing RIOT when the SD card or the peripheral hardware is attached to this SPI interface.- GPIO0 cannot be used as SPI CS signal for external hardware connected to
spi.h::SPI_DEV
. The reason for this is that the LEDs on this board are high-active and the default state of the LEDs after power-up causes a low level on the corresponding GPIO outputs. - GPIO2 cannot be used as
pwm.h::PWM_DEV
channel 1 / LED0 whenspi.h::SPI_DEV
is used in any way. Reason is that GPIO2 is the MISO signal whenspi.h::SPI_DEV
is used and is therefore an input. PWM channels are outputs. - It might be necessary to remove the SD card or the peripheral hardware attached to the
spi.h::SPI_DEV
interface for flashing RIOT. Reason is that thespi.h::SPI_DEV
interface uses the HSPI interface with the GPIO2 pin as the MISO signal, which has bootstrapping functionality. - GPIO16 and GPIO17 are used for the built-in SPI RAM and are not available on the I/O expansion connector, even though they are labeled there.
- GPIO32 and GPIO33 are attached to a 32 kHz crystal by default. GPIO32 and GPIO33 are standard connected to a 32 kHz crystal. To make them available as a GPIO on the I/O expansion connector, SMD resistors would need to be removed and soldered.
https://docs.espressif.com/projects/esp-idf/en/latest/get-started/get-started-wrover-kit.html
Optional Hardware Configurations [TOC]¶
MRF24J40-based IEEE 802.15.4 radio modules and ENC28J60-based Ethernet network interface modules have been tested with the board. You could use the following code in your to use such modules:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #ifdef BOARD_ESP32_WROVER_KIT
#if MODULE_MRF24J40
#define MRF24J40_PARAM_CS GPIO9 /* MRF24J40 CS signal */
#define MRF24J40_PARAM_INT GPIO10 /* MRF24J40 INT signal */
#define MRF24J40_PARAM_RESET GPIO12 /* MRF24J40 RESET signal */
#endif
#if MODULE_ENC28J80
#define ENC28J80_PARAM_CS GPIO9 /* ENC28J80 CS signal */
#define ENC28J80_PARAM_INT GPIO10 /* ENC28J80 INT signal */
#define ENC28J80_PARAM_RESET GPIO12 /* ENC28J80 RESET signal */
endif
#endif
|
Note
- Only a few GPIOs are available for external hardware on ESP-WROVER-KIT boards. Therefore, MRF24J40 and ENC28J60 based modules use the same GPIOs and only one of these modules can be used simultaneously.
- The RESET signal of MRF24J40 and ENC28J60 based modules can also be connected to the RST pin of the board (see ) to keep the configured GPIO free for other purposes.
Board Pinout [TOC]¶
The following picture shows the pinout of the ESP-WROVER-KIT V3 boards as defined by the default board configuration. The light green GPIOs are not used by configured on-board hardware components and can be used for any purpose. However, if optional off-board hardware modules are used, these GPIOs may also be occupied, see in table board configuration.
The corresponding board schematic can be found here.
Flashing the Device [TOC]¶
Flashing RIOT is quite straight forward. The board has a Micro-USB connector with reset/boot/flash logic. Just connect the board using the programming port to your host computer and type:
1 | make flash BOARD=esp32-wrover-kit ...
|
The USB bridge is based on FDI FT2232HL and offers two USB interfaces:
- the first interface is the JTAG interface for On-Chip debugging
- the second interface is the console interface, which is also used for flashing
Therefore, you have to declare the USB interface in the make command. For example, if the ESP32-WROVER-KIT is connected to the host computer through the USB interfaces