Caution
This page is automatically generated from RIOT doxygen documentation.
If you find any issues or have suggestions for improvement,
please report them on Github.
Tip
When using this board with RIOT, set the
BOARD variable to
esp32-wemos-d1-r32 in your Makefile. If you follow the standard RIOT project
structure, your Makefile should look like this:
# name of your application
APPLICATION = hello-world
# Change this to your board if you want to build for a different board
BOARD ?= esp32-wemos-d1-r32
# This has to be the absolute path to the RIOT base directory:
RIOTBASE ?= $( CURDIR ) /RIOT
include $( RIOTBASE ) /Makefile.include
Support for the Wemos D1 R32 (ESPDuino-32) board
@author Gunar Schorcht gunar@schorcht.net
\section esp32_wemos_d1_r32 Wemos D1 R32 board (ESPDuino-32)
Table of Contents
-# Overview
-# Hardware
-# MCU
-# Board Configuration
-# Board Pinout
-# Flashing the Device
Overview
The Wemos D1 R32 board is an ESP32 board in the Arduino Uno format that uses the
ESP32-WROOM-32 module. It is exactly the same board that is also known as
ESPDuino-32 on the market. The board is pin compatible with the Arduino Uno
board. The peripheral configuration corresponds to the Arduino Uno pinout and
guaranties the compatibility with Arduino Uno Shields.
Back to table of contents
Hardware
This section describes
Back to table of contents
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”.
Back to table of contents
Board Configuration
The board configuration guarantees that the board is compatible with Arduino
Uno Shield. The board configuration provides:
6 x ADC channels
2 x DAC channels
2 x PWM devices with a total of 7 channels
1 x SPI device
1 x I2C device
2 x UART devices
The following table shows the default board configuration, which is sorted
according to the defined functionality of GPIOs.
Function | GPIOs | Arduino Pin |Configuration
:---------------|:-------|:------------|:----------------------------------
ADC_LINE(0) | GPIO2 | A0 | esp32_adc_channels "ADC Channels"
ADC_LINE(1) | GPIO4 | A1 | esp32_adc_channels "ADC Channels"
ADC_LINE(2) | GPIO35 | A2 | esp32_adc_channels "ADC Channels"
ADC_LINE(3) | GPIO34 | A3 | esp32_adc_channels "ADC Channels"
ADC_LINE(4) | GPIO36 | A4 | esp32_adc_channels "ADC Channels"
ADC_LINE(5) | GPIO39 | A5 | esp32_adc_channels "ADC Channels"
DAC_LINE(0) | GPIO25 | D3 | esp32_pwm_channels "DAC Channels"
DAC_LINE(1) | GPIO26 | D2 | esp32_pwm_channels "DAC Channels"
I2C_DEV(0):SDA | GPIO21 | SDA | esp32_i2c_interfaces "I2C Interfaces"
I2C_DEV(0):SCL | GPIO22 | SCL | esp32_i2c_interfaces "I2C Interfaces"
LED | GPIO2 | A0 | -
PWM_DEV(0):0 | GPIO25 | D3 | esp32_pwm_channels "PWM Channels"
PWM_DEV(0):1 | GPIO16 | D5 | esp32_pwm_channels "PWM Channels"
PWM_DEV(0):2 | GPIO27 | D6 | esp32_pwm_channels "PWM Channels"
PWM_DEV(0):3 | GPIO13 | D9 | esp32_pwm_channels "PWM Channels"
PWM_DEV(0):4 | GPIO2 | A0 | esp32_pwm_channels "PWM Channels"
PWM_DEV(1):0 | GPIO5 | D10 | esp32_pwm_channels "PWM Channels"
PWM_DEV(1):1 | GPIO23 | D11 | esp32_pwm_channels "PWM Channels"
SPI_DEV(0):CLK | GPIO18 | D13 | esp32_spi_interfaces "SPI Interfaces"
SPI_DEV(0):MISO | GPIO19 | D12 | esp32_spi_interfaces "SPI Interfaces"
SPI_DEV(0):MOSI | GPIO23 | D11 | esp32_spi_interfaces "SPI Interfaces"
SPI_DEV(0):CS0 | GPIO5 | D10 | esp32_spi_interfaces "SPI Interfaces"
UART_DEV(0):TxD | GPIO1 | D1 | esp32_uart_interfaces "UART interfaces"
UART_DEV(0):RxD | GPIO3 | D0 | esp32_uart_interfaces "UART interfaces"
UART_DEV(1):TxD | GPIO10 | D4 | esp32_uart_interfaces "UART interfaces"
UART_DEV(1):RxD | GPIO9 | D5 | esp32_uart_interfaces "UART interfaces"
\n
For detailed information about the configuration of ESP32 boards, see
section esp32_peripherals “Common Peripherals”.
Back to table of contents
Board Pinout
The following figure shows the pinout of the Wemos D1 R32 board. It is exactly
the same as for the ESPDuino-32 board. The corresponding board schematics can
be found
here .
Warning: The pinout contains the following errors.
Analog Arduino pin A2 with white label IO36 is actually ADC1 Channel7
that is connected to GPIO35 and analog Arduino pin A4 with white label
IO38 is actually ADC1 Channel0 that is connected to GPIO36. That is
the colored labels are correct in the pinout.
Back to table of contents
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-wemos-d1-r32 ...
For detailed information about ESP32 as well as configuring and compiling
RIOT for ESP32 boards, see esp32_riot.
Back to table of contents