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

Peripheral configurations for Arduino Nano ESP32 boards. More...

Detailed Description

Peripheral configurations for Arduino Nano ESP32 boards.

The peripheral configurations in this file can be used for the Arduino Nano ESP32 board.

Any modifications required for specific applications can be overridden by application-specific board configuration.

For detailed information about the peripheral configuration for ESP32-S3 boards, see section Common Peripherals.

Note
Most definitions can be overridden by an application-specific board configuration if necessary.
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

#define ADC_GPIOS   { GPIO1, GPIO2, GPIO3, GPIO4, GPIO11, GPIO12, GPIO13, GPIO14 }
 Declaration of GPIOs that can be used as ADC channels.
 

I2C configuration

For generic boards, only one I2C interface I2C_DEV(0) is defined.

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   GPIO12
 SCL signal of I2C_DEV(0)
 
#define I2C0_SDA   GPIO11
 SDA signal of I2C_DEV(0)
 

PWM channel configuration

Two PWM devices are configured.

These devices can use all GPIOs that are not defined as I2C, SPI or UART for this board. Generally, all outputs pins could be used as PWM channels.

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   { GPIO6, GPIO8, GPIO9, GPIO18 }
 Declaration of the channels for device PWM_DEV(0), at maximum eight channels (PWM_CH_NUMOF_MAX).
 
#define PWM1_GPIOS   { GPIO46, GPIO0, GPIO45 }
 Declaration of the channels for device PWM_DEV(1), at maximum eight channels (PWM_CH_NUMOF_MAX).
 

SPI configuration

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.
#define SPI0_CTRL   FSPI
 FSPI is used as SPI_DEV(0)
 
#define SPI0_SCK   GPIO48
 Routed vio the GPIO matrix to FSPI CLK signal.
 
#define SPI0_MISO   GPIO47
 Routed vio the GPIO matrix to FSPI MISO signal.
 
#define SPI0_MOSI   GPIO38
 Routed vio the GPIO matrix to FSPI MOSI signal.
 
#define SPI0_CS0   GPIO21
 Routed vio the GPIO matrix to FSPI CS0 signal.
 

UART configuration

ESP32-S3 provides 3 UART interfaces at maximum:

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

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

Macro Definition Documentation

◆ ADC_GPIOS

#define ADC_GPIOS   { GPIO1, GPIO2, GPIO3, GPIO4, GPIO11, GPIO12, GPIO13, GPIO14 }

Declaration of GPIOs that can be used as ADC channels.

If the periph_i2c module is used, two GPIOs connected to ADC2 (GPIO11 and GPIO12) are used as I2C signals. To avoid conflicts, only the GPIOs connected to ADC1 are defined as ADC lines in this case. Otherwise, GPIOs connected to ADC1 and ADC2 are defined as ADC lines.

Please keep in mind that GPIO3 is a strapping pin if EFUSE_STRAP_JTAG_SEL is set, see Strapping pins.

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

◆ I2C0_SCL

#define I2C0_SCL   GPIO12

SCL signal of I2C_DEV(0)

Definition at line 81 of file periph_conf.h.

◆ I2C0_SDA

#define I2C0_SDA   GPIO11

SDA signal of I2C_DEV(0)

Definition at line 85 of file periph_conf.h.

◆ I2C0_SPEED

#define I2C0_SPEED   I2C_SPEED_FAST

I2C bus speed of I2C_DEV(0)

Definition at line 77 of file periph_conf.h.

◆ PWM0_GPIOS

#define PWM0_GPIOS   { GPIO6, GPIO8, GPIO9, GPIO18 }

Declaration of the channels for device PWM_DEV(0), at maximum eight channels (PWM_CH_NUMOF_MAX).

Classic Arduino pins with PWM capability that are not configured as SPI pins are defined as PWM channels of PWM_DEV(0). These are the Arduino pins D3, D5, D6, and D9.

Definition at line 112 of file periph_conf.h.

◆ PWM1_GPIOS

#define PWM1_GPIOS   { GPIO46, GPIO0, GPIO45 }

Declaration of the channels for device PWM_DEV(1), at maximum eight channels (PWM_CH_NUMOF_MAX).

GPIOs connected to the RGB LED are defined as PWM channels of PWM_DEV(1) as follows:

  • PWM1:0 - Red LED (GPIO46)
  • PWM1:1 - Green LED (GPIO0)
  • PWM1:2 - Blue LED (GPIO45)

Definition at line 126 of file periph_conf.h.

◆ SPI0_CS0

#define SPI0_CS0   GPIO21

Routed vio the GPIO matrix to FSPI CS0 signal.

Definition at line 158 of file periph_conf.h.

◆ SPI0_CTRL

#define SPI0_CTRL   FSPI

FSPI is used as SPI_DEV(0)

Definition at line 142 of file periph_conf.h.

◆ SPI0_MISO

#define SPI0_MISO   GPIO47

Routed vio the GPIO matrix to FSPI MISO signal.

Definition at line 150 of file periph_conf.h.

◆ SPI0_MOSI

#define SPI0_MOSI   GPIO38

Routed vio the GPIO matrix to FSPI MOSI signal.

Definition at line 154 of file periph_conf.h.

◆ SPI0_SCK

#define SPI0_SCK   GPIO48

Routed vio the GPIO matrix to FSPI CLK signal.

Definition at line 146 of file periph_conf.h.

◆ UART0_RXD

#define UART0_RXD   GPIO44

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

Definition at line 174 of file periph_conf.h.

◆ UART0_TXD

#define UART0_TXD   GPIO43

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

Definition at line 173 of file periph_conf.h.