Olimex ESP32-EVB
Support for Olimex ESP32-EVB and ESP32-GATEWAY @author Gunar Schorcht gunar@schorcht.net
\section esp32_olimex-esp32-evb Olimex ESP32-EVB and ESP32-GATEWAY
Table of Contents
Overview
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:
- Ethernet LAN interface
- MicroSD card interface
- IR interface (Olimex ESP32-EVB only)
- CAN interface (Olimex ESP32-EVB only)
- two Relais (Olimex ESP32-EVB only)
- UEXT connector with I2C, SPI and UART interfaces (Olimex ESP32-EVB only)
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:
USEMODULE += olimex_esp32_gateway
Hardware
This section describes
- the MCU,
- the default board configuration,
- optional hardware configurations,
- the board pinout.
MCU
Most features of the board are provided by the ESP32 SoC. For detailed information about the ESP32, see section esp32_mcu_esp32 “MCU ESP32”.
Board Configuration
Olimex ESP32-EVB and Olimex ESP32-GATEWAY have the following on-board components:
- Ethernet LAN interface
- MicroSD card interface
- IR interface (Olimex ESP32-EVB only)
- CAN interface (Olimex ESP32-EVB only)
- two Relais (Olimex ESP32-EVB only)
- UEXT connector with I2C, SPI and UART interfaces (Olimex ESP32-EVB only)
The following table shows the default board configuration, which is sorted according to the defined functionality of GPIOs. This configuration can be overridden by esp32_application_specific_configurations “application-specific configurations”.
@note To use the board configuration for Olimex-ESP32-GATEWAY, it is necessary to add the following line to makefile of the application: \n
USEMODULE += olimex_esp32_gateway- GPIO9 and GIOP10 can only be used in dout and dio esp32_flash_modes “flash modes”.
- It might be necessary to remove the SD card or the peripheral hardware attached to the SPI_DEV(0) interface for flashing RIOT. Reason is that the SPI_DEV(0) interface uses the HSPI interface with the GPIO2 pin as the MISO signal, which has bootstrapping functionality.
For detailed information about the configuration of ESP32 boards, see section esp32_peripherals “Common Peripherals”.
Optional Hardware Configurations
MRF24J40-based IEEE 802.15.4 radio modules have been tested with the board. You could use the following code in your esp32_application_specific_configurations “application-specific configuration” to use such modules:
#ifdef BOARD_ESP32_OLIMEX_EVB && !MODULE_ESP32_OLIMEX_GATEWAY
#if MODULE_MRF24J40#define MRF24J40_PARAM_CS GPIO9 /* MRF24J40 CS signal */#define MRF24J40_PARAM_RESET GPIO10 /* MRF24J40 RESET signal */#define MRF24J40_PARAM_INT GPIO34 /* MRF24J40 INT signal */#endif
#endifFor other parameters, the default values defined by the drivers can be used.
@note
- Since the Olimex-ESP32-GATEWAY does not break out the GPIO of the HSPI interface SPI_DEV(0), it is not possible to connect such module to Olimex-ESP32-GATEWAY.
- Since the Olimex-ESP32-EVB has a lot of on-board hardware, only a few GPIOs are available for external hardware.
- The RESET signal of MRF24J40 based modules can also be connected to the RST pin of the board (see esp32_olimex_esp32_evb_pinout_img “pinout”) to keep the configured GPIO free for other purposes.
Board Pinout
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 esp32_olimex_esp32_evb_board_configuration for more information.
The corresponding board schematics can be found on GitHub for Olimex ESP32-EVB board and for Olimex ESP32-GATEWAY.
\anchor esp32_olimex_esp32_evb_pinout_img


Flashing the Device
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:
make flash BOARD=esp32-olimex-evb ...For detailed information about ESP32 as well as configuring and compiling RIOT for ESP32 boards, see esp32_riot.