Loading...
Searching...
No Matches
periph_conf.h File Reference

Peripheral MCU configuration for Espressif ESP-WROVER-KIT V3. More...

Detailed Description

Peripheral MCU configuration for Espressif ESP-WROVER-KIT V3.

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

Furthermore, many GPIOs are broken out for extension. The USB bridge based on FDI FT2232HL provides a JTAG interface for debugging through the USB interface.

When the camera module is connected, add

USEMODULE += esp32_wrover_kit_camera

to the makefile of the application to use the according default board configuration.

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

Note
Most definitions can be overridden by an application-specific board configuration.
Author
Gunar Schorcht gunar.nosp@m.@sch.nosp@m.orcht.nosp@m..net

Definition in file periph_conf.h.

#include <stdint.h>
#include "periph_cpu.h"
#include "periph_conf_common.h"
+ Include dependency graph for periph_conf.h:

Go to the source code of this file.

ADC and DAC channel configuration

#define ADC_GPIOS   { GPIO34, GPIO35, GPIO36, GPIO39 }
 Declaration of GPIOs that can be used as ADC channels.
 
#define DAC_GPIOS   { }
 Declaration of GPIOs that can be used as DAC channels.
 

I2C configuration

Note
The GPIOs listed in the configuration are only initialized as I2C signals when module periph_i2c is used. Otherwise they are not allocated and can be used for other purposes.
#define I2C0_SPEED   I2C_SPEED_FAST
 I2C bus speed of I2C_DEV(0)
 
#define I2C0_SCL   GPIO27
 SCL signal of I2C_DEV(0) [UEXT1].
 
#define I2C0_SDA   GPIO26
 SDA signal of I2C_DEV(0) [UEXT1].
 

PWM channel configuration

LEDs are used as PWM channels for device PWM_DEV(0).

Note
As long as the according PWM device is not initialized with the pwm_init, the GPIOs declared for this device can be used for other purposes.
#define PWM0_GPIOS   { GPIO0, GPIO4 }
 only available when camera is not connected
 

SD/MMC host controller configuration

Warning
If the camera is plugged in, the SD Card has to be used in 1-bit mode.
#define SDMMC_CONFIG_NUMOF   1
 Number of configured SDMMC devices.
 
static const sdmmc_conf_t sdmmc_config []
 SDMMC devices.
 

SPI configuration

SPI configuration depends on configured/connected components.

HSPI is always available and therefore used as SPI_DEV(0) VSPI is only available when the camera is not plugged.

Warning
In order not to change the index of the SPI devices depending on the different hardware configuration options including the camera, SPI_DEV(0) is also defined in case of using the SD/MMC host controller, by default but cannot be used once an SD card is inserted. Use SPI_DEV(1) instead in this case.
#define SPI0_CTRL   HSPI
 HSPI is configured as SPI_DEV(0)
 
#define SPI0_SCK   GPIO14
 SD Card SCL.
 
#define SPI0_MOSI   GPIO15
 SD Card MOSI.
 
#define SPI0_MISO   GPIO2
 SD Card MISO.
 
#define SPI0_CS0   GPIO13
 SD Card CS.
 
#define SPI1_CTRL   VSPI
 When the camera is not connected, VSPI is configured and becomes SPI_DEV(1).
 
#define SPI1_SCK   GPIO19
 VSPI SCK used as LCD SCL, can be used to connect peripherals.
 
#define SPI1_MOSI   GPIO23
 VSPI MOSI used as LCD MOSI, can be used to connect peripherals.
 
#define SPI1_MISO   GPIO25
 VSPI MISO used as LCD MISO, can be used to connect peripherals.
 
#define SPI1_CS0   GPIO22
 VSPI CS0 used as LCD CS, can be used to connect peripherals.
 

UART configuration

ESP32 provides 3 UART interfaces at maximum:

UART_DEV(0) uses fixed standard configuration.
UART_DEV(1) is not available.
UART_DEV(2) is not available.

#define UART0_TXD   GPIO1
 direct I/O pin for UART_DEV(0) TxD, can't be changed
 
#define UART0_RXD   GPIO3
 direct I/O pin for UART_DEV(0) RxD, can't be changed
 

Macro Definition Documentation

◆ ADC_GPIOS

#define ADC_GPIOS   { GPIO34, GPIO35, GPIO36, GPIO39 }

Declaration of GPIOs that can be used as ADC channels.

When the camera is connected there are no GPIOs left that could be used as ADC channels.

Note
As long as the GPIOs listed in ADC_GPIOS are not initialized as ADC channels with the adc_init function, they can be used for other purposes.

Definition at line 72 of file periph_conf.h.

◆ DAC_GPIOS

#define DAC_GPIOS   { }

Declaration of GPIOs that can be used as DAC channels.

ESP-WROVER-KIT has no GPIOs left that might be used as DAC channels.

Definition at line 84 of file periph_conf.h.

◆ I2C0_SCL

#define I2C0_SCL   GPIO27

SCL signal of I2C_DEV(0) [UEXT1].

Definition at line 101 of file periph_conf.h.

◆ I2C0_SDA

#define I2C0_SDA   GPIO26

SDA signal of I2C_DEV(0) [UEXT1].

Definition at line 104 of file periph_conf.h.

◆ I2C0_SPEED

#define I2C0_SPEED   I2C_SPEED_FAST

I2C bus speed of I2C_DEV(0)

Definition at line 98 of file periph_conf.h.

◆ PWM0_GPIOS

#define PWM0_GPIOS   { GPIO0, GPIO4 }

only available when camera is not connected

Definition at line 121 of file periph_conf.h.

◆ SDMMC_CONFIG_NUMOF

#define SDMMC_CONFIG_NUMOF   1

Number of configured SDMMC devices.

Definition at line 155 of file periph_conf.h.

◆ SPI0_CS0

#define SPI0_CS0   GPIO13

SD Card CS.

Definition at line 189 of file periph_conf.h.

◆ SPI0_CTRL

#define SPI0_CTRL   HSPI

HSPI is configured as SPI_DEV(0)

Definition at line 176 of file periph_conf.h.

◆ SPI0_MISO

#define SPI0_MISO   GPIO2

SD Card MISO.

Definition at line 186 of file periph_conf.h.

◆ SPI0_MOSI

#define SPI0_MOSI   GPIO15

SD Card MOSI.

Definition at line 183 of file periph_conf.h.

◆ SPI0_SCK

#define SPI0_SCK   GPIO14

SD Card SCL.

Definition at line 180 of file periph_conf.h.

◆ SPI1_CS0

#define SPI1_CS0   GPIO22

VSPI CS0 used as LCD CS, can be used to connect peripherals.

Definition at line 217 of file periph_conf.h.

◆ SPI1_CTRL

#define SPI1_CTRL   VSPI

When the camera is not connected, VSPI is configured and becomes SPI_DEV(1).

Note
The GPIOs listed in the configuration are first initialized as SPI signals when the corresponding SPI interface is used for the first time by either calling the spi_init_cs function or the spi_acquire function. That is, they are not allocated as SPI signals before and can be used for other purposes as long as the SPI interface is not used.

Definition at line 204 of file periph_conf.h.

◆ SPI1_MISO

#define SPI1_MISO   GPIO25

VSPI MISO used as LCD MISO, can be used to connect peripherals.

Definition at line 214 of file periph_conf.h.

◆ SPI1_MOSI

#define SPI1_MOSI   GPIO23

VSPI MOSI used as LCD MOSI, can be used to connect peripherals.

Definition at line 211 of file periph_conf.h.

◆ SPI1_SCK

#define SPI1_SCK   GPIO19

VSPI SCK used as LCD SCL, can be used to connect peripherals.

Definition at line 208 of file periph_conf.h.

◆ UART0_RXD

#define UART0_RXD   GPIO3

direct I/O pin for UART_DEV(0) RxD, can't be changed

Definition at line 233 of file periph_conf.h.

◆ UART0_TXD

#define UART0_TXD   GPIO1

direct I/O pin for UART_DEV(0) TxD, can't be changed

Definition at line 232 of file periph_conf.h.

Variable Documentation

◆ sdmmc_config

const sdmmc_conf_t sdmmc_config[]
static
Initial value:
= {
{
.slot = SDMMC_SLOT_1,
.cd = GPIO21,
.wp = GPIO_UNDEF,
.bus_width = 4,
},
}
#define GPIO_UNDEF
Definition of a fitting UNDEF value.
@ SDMMC_SLOT_1
SD/MMC host controller slot 1.
Definition periph_cpu.h:690

SDMMC devices.

Definition at line 140 of file periph_conf.h.