periph_conf.h File Reference

Peripheral MCU configuration for Olimex ESP32-EVB (ESP32-GATEWAY) More...

Detailed Description

Peripheral MCU configuration for Olimex ESP32-EVB (ESP32-GATEWAY)

This configuration is for the Olimex ESP32-EVB, but can also be used for the Olimex ESP32-GATEWAY. To use this board definition with Olimex ESP32-GATEWAY, add

USEMODULE += olimex_esp32_gateway

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_conf_common.h"
+ Include dependency graph for periph_conf.h:

Go to the source code of this file.

ADC and DAC channel configuration

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.

#define ADC_GPIOS   { }
 Declaration of GPIOs that can be used as ADC channels. More...
 
#define DAC_GPIOS   { }
 Olimex ESP32-EVB has no GPIOs left that might be used as DAC channels.
 

CAN configuration

Olimex ESP32-EVB has a CAN interface including a CAN transceiver on board.

#define CAN_TX   GPIO5
 CAN TX transceiver signal.
 
#define CAN_RX   GPIO35
 CAN RX transceiver signal.
 

I2C configuration

Olimex ESP32-EVB/GATEWAY have one I2C interface I2C_DEV(0).

However, they use different GPIOs. Olimex ESP32-EVB, the interface is also available at the [UEXT] connector.

Note
The GPIOs listed in the configuration are only initialized as I2C signals when module perpih_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   GPIO16
 SCL signal of I2C_DEV(0)
 
#define I2C0_SDA   GPIO13
 SDA signal of I2C_DEV(0)
 

PWM channel configuration

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   { GPIO9, GPIO10 }
 In DOUT and DIO flash mode, GPIO9 and GIO10 are available and can be used as PWM channels with PWM_DEV(0).
 
#define PWM1_GPIOS   { }
 PWM_DEV(1) is not used.
 

SPI configuration

#define SPI0_CTRL   HSPI
 HSPI is used as SPI_DEV(0) More...
 
#define SPI0_SCK   GPIO14
 SCK [UEXT] / SD card interface].
 
#define SPI0_MISO   GPIO2
 MISO [UEXT] / SD card interface].
 
#define SPI0_MOSI   GPIO15
 MOSI [UEXT] / SD Card interface].
 
#define SPI0_CS0   GPIO17
 CS0 [UEXT].
 

UART configuration

ESP32 provides 3 UART interfaces at maximum:

UART_DEV(0) uses fixed standard configuration.
UART_DEV(1) is defined here.
UART_DEV(2) is not used.

If the board definition is used for Olimex EVB-GATEWAY, the UART_DEV(1) interface is not available.

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

Macro Definition Documentation

◆ ADC_GPIOS

#define ADC_GPIOS   { }

Declaration of GPIOs that can 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 63 of file periph_conf.h.

◆ SPI0_CTRL

#define SPI0_CTRL   HSPI

HSPI is used as SPI_DEV(0)

It is available at the [UEXT] connector on Olimex ESP32-EVB.

Although the SD card interface of the Olimex ESP32-EVB is also available at the SPI_DEV(0) interface, it does not have a CS signal. Therefore, it cannot be used in SPI mode with the sdcard_spi module. Olimex ESP32-GATEWAY uses the integrated SD card interface with another GPIO for the CS signal.

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 169 of file periph_conf.h.