ESP-WROVER-KIT V3

Support for for Espressif ESP-WROVER-KIT V3.

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

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 when spi.h::SPI_DEV is used in any way. Reason is that GPIO2 is the MISO signal when spi.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 the spi.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.

For detailed information about the configuration of ESP32 boards, see section Peripherals in .

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
For other parameters, the default values defined by the drivers can be used.

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 when spi.h::SPI_DEV is used in any way. Reason is that GPIO2 is the MISO signal when spi.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 the spi.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.

For detailed information about the configuration of ESP32 boards, see section Peripherals in .

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
For other parameters, the default values defined by the drivers can be used.

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