Support for Olimex ESP32-EVB and ESP32-GATEWAY. More...
Support for Olimex ESP32-EVB and ESP32-GATEWAY.
Olimex ESP32-EVB and Olimex ESP32-GATEWAY are open source hardware boards which use the ESP32-WROOM module. The key features of the boards are:
Using the UEXT connector, a lot of off-board hardware modules can be connected to Olimex ESP32-EVB to extend the hardware without the need for soldering iron or breadboards.
Because of the differences in the on-board hardware, it is necessary to add the following line to the makefile of the application to use the according configuration for Olimex ESP32-GATEWAY:
This section describes
Most features of the board are provided by the ESP32 SoC. For detailed information about the ESP32, see section MCU ESP32.
Olimex ESP32-EVB and Olimex ESP32-GATEWAY have the following on-board components:
The following table shows the default board configuration, which is sorted according to the defined functionality of GPIOs. This configuration can be overridden by application-specific configurations.
| Pin | Configuration ESP32-EVB | Configuration ESP32-GATEWAY | Remarks / Prerequisites | Configuration |
|---|---|---|---|---|
| GPIO13 | I2C_DEV(0):SDA | SDMMC_DEV(0):DAT3 | on ESP32-EVB available at UEXT1 | I2C Interfaces, SDMMC Interfaces |
| GPIO16 | I2C_DEV(0):SCL | I2C_DEV(0):SCL | on ESP32-EVB available at UEXT1 | I2C Interfaces |
| GPIO14 | SPI_DEV(0):CLK, SDMMC_DEV(0):CLK | SDMMC_DEV(0):CLK | on ESP32-EVB available at UEXT1 | SPI Interfaces, SDMMC Interfaces |
| GPIO2 | SPI_DEV(0):MISO, SDMMC_DEV(0):DAT0 | SDMMC_DEV(0):DAT0 | on ESP32-EVB available at UEXT1 | SPI Interfaces, SDMMC Interfaces |
| GPIO15 | SPI_DEV(0):MOSI, SDMMC_DEV(0):CMD | SDMMC_DEV(0):CMD | on ESP32-EVB available at UEXT1 | SPI Interfaces, SDMMC Interfaces |
| GPIO17 | SPI_DEV(0):CS0 | I2C_DEV(0):SDA | on ESP32-EVB available at UEXT1 | SPI Interfaces |
| GPIO1 | UART_DEV(0):TxD | UART_DEV(0):TxD | Console (cannot be changed) | UART interfaces |
| GPIO3 | UART_DEV(0):RxD | UART_DEV(0):RxD | Console (cannot be changed) | UART interfaces |
| GPIO4 | UART_DEV(1):TxD | SDMMC_DEV(0):DAT1 | on ESP32-EVB available at UEXT1 | UART interfaces, SDMMC Interfaces |
| GPIO36 | UART_DEV(1):RxD | ADC_LINE(2) | on ESP32-EVB available at UEXT1 | UART interfaces |
| GPIO32 | Relais 1 | ADC_LINE(0) | ADC Channels | |
| GPIO33 | Relais 2 | LED0 | ||
| GPIO34 | BUTTON0 | BUTTON0 | ||
| GPIO9 | PWM_DEV(0):0 | PWM_DEV(0):0 | PWM Channels | |
| GPIO10 | PWM_DEV(0):1 | PWM_DEV(0):1 | PWM Channels | |
| GPIO5 | CAN_DEV(0):TX | CAN Interfaces | ||
| GPIO35 | CAN_DEV(0):RX | ADC_LINE(1) | ADC Channels | |
| GPIO12 | IR_DEV(0):TX | SDMMC_DEV(0):DAT2 | IR is not yet supported | SDMMC Interfaces |
| GPIO39 | IR_DEV(0):RX | ADC_LINE(3) | IR is not yet supported | ADC Channels |
| GPIO18 | EMAC_SMI:MDIO | EMAC_SMI:MDIO | LAN interface | Ethernet MAC |
| GPIO23 | EMAC_SMI:MDC | EMAC_SMI:MDC | LAN interface | Ethernet MAC |
| GPIO0 | EMAC_RMII:TX_CLK | EMAC_RMII:TX_CLK | LAN interface | Ethernet MAC |
| GPIO21 | EMAC_RMII:TX_EN | EMAC_RMII:TX_EN | LAN interface | Ethernet MAC |
| GPIO19 | EMAC_RMII:TXD0 | EMAC_RMII:TXD0 | LAN interface | Ethernet MAC |
| GPIO22 | EMAC_RMII:TXD1 | EMAC_RMII:TXD1 | LAN interface | Ethernet MAC |
| GPIO25 | EMAC_RMII:RXD0 | EMAC_RMII:RXD0 | LAN interface | Ethernet MAC |
| GPIO26 | EMAC_RMII:RXD1 | EMAC_RMII:RXD1 | LAN interface | Ethernet MAC |
| GPIO27 | EMAC_RMII:RX_DV | EMAC_RMII:RX_DV | LAN interface | Ethernet MAC |
For detailed information about the configuration of ESP32 boards, see section Common Peripherals.
MRF24J40-based IEEE 802.15.4 radio modules have been tested with the board. You could use the following code in your application-specific configuration to use such modules:
For other parameters, the default values defined by the drivers can be used.
The following pictures shows the pinout of Olimex ESP32-EVB and Olimex ESP32-GATEWAY 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 section Board Configuration for more information.
The corresponding board schematics can be found on GitHub for Olimex ESP32-EVB board and for Olimex ESP32-GATEWAY.
Flashing RIOT is quite easy. The board has a Micro-USB connector with reset/boot/flash logic. Just connect the board to your host computer and type using the programming port:
For detailed information about ESP32 as well as configuring and compiling RIOT for ESP32 boards, see RIOT-OS on ESP32 SoC Series Boards.
Files | |
| file | arduino_iomap.h |
| Mapping from MCU pins to Arduino pins. | |
| file | board.h |
| Board specific definitions for Olimex ESP32-EVB (ESP32-GATEWAY) | |
| file | gpio_params.h |
| Board specific configuration of direct mapped GPIOs. | |
| file | periph_conf.h |
| Peripheral MCU configuration for Olimex ESP32-EVB (ESP32-GATEWAY) | |