S100 Master - ESP32-WROOM-32U

Overview

The S100 Master - ESP32-WROOM-32U Module is a certified Rhomb.io module with WiFi, Bluetooth and BLE capabilities that targets a wide variety of applications ranging from low-power sensor networks to the most demanding tasks such as voice encoding, music streaming and MP3 decoding.

The integration of Bluetooth, Bluetooth LE and Wi-Fi ensures that a wide range of applications can be targeted, and that the module is future proof: using Wi-Fi allows a large physical range and direct connection to the internet through a Wi-Fi router, while using Bluetooth allows the user to conveniently connect to the phone or broadcast low energy beacons for its detection. It solves one of the major customer roadblocks for fast time-to-market as it integrates antenna connector, software and RF certifications, saving months of engineering effort and testing.

The S100 Master - ESP32-WROOM-32U Module can act as a host for standalone applications and is extraordinarily well suited for any battery operated devices as well as other systems requiring high performance and low energy consumpt.


The next figure show a 3D view for the S100 Master - ESP32-WROOM-32U Module:

S100 Master - ESP32-WROOM-32U - Top.png S100 Master - ESP32-WROOM-32U - Bottom.png


Applications:

  • Internet of Things
  • Home automation
  • Smart lighting
  • Security alarms
  • Monitor and scales
  • Mesh Networks
  • Industrial Wireless Control
  • Wereable electronics
  • WiFi Position System Beacons
  • Gateways
  • Health, sports and wellness devices
  • Smart phone, tablet and PC accessories

Module specifications

The S100 Master - ESP32-WROOM-32U Module mounts the powerful ESP32-WROOM-32 module from Espressif. Its connectivity capabilities and low power consumption has made this module well known in the IoT industry.

At the core of the S100 Master - ESP32-WROOM-32U Module can be found the ESP32-D0WDQ6 chip, who contains two low-power Tensilica Xtensa 32-bit LX6 microprocessors. The chip embedded is designed to be scalable and adaptive. There are two CPU cores that can be individually controlled, and the clock frequency is adjustable from 80 MHz to 240 MHz. The user may also power off the CPU and make use of the low-power co-processor to constantly monitor the peripherals for changes or crossing of thresholds.

The internal memory of the Module includes 448 kB of ROM for booting and core functions, 520 kB of on-chip SRAM for data and instructions and 4 MB of SPI flash. An additional 16 MB QSPI flash has been added, mapped onto the CPU code space, supporting 8, 16 and 32-bit access with support of code execution.

The S100 Master - ESP32-WROOM-32U Module integrates a rich set of peripherals, ranging from capacitive touch sensors, Hall sensors, SD card interface, Ethernet, high-speed SPI, UART, I2S and I2C. All these interfaces are accesible, making their way to the Rhomb.io connectors.

The operating system chosen for ESP32 is freeRTOS with LwIP; TLS 1.2 with hardware acceleration is built in as well. Secure (encrypted) over the air (OTA) upgrade is also supported, so that developers can continually upgrade the Module.


The following figure identifies the main components onboard:

S100 Master - ESP32-WROOM-32U - Top - Indic.png S100 Master - ESP32-WROOM-32U - Bottom - Indic.png


The next figure shows the Block Diagram for the S100 Master - ESP32-WROOM-32U Module:

S100 Master - ESP32-WROOM-32U - Diagram.png

ESP-WROOM-02 Key Features
Microcontroller: Espressif ESP32-D0WD, 32-bit dual core Xtensa LX6, 80-240 MHz
4 MB Flash, 520 KB SRAM, 448 KB ROM
Up to 16 MB QSPI Flash Memory
802.11b/g/n 2.4 GHz, up to 150 Mbps; Bluetooth v4.2 and BLE compliant; FCC/CE(RED)/TELEC/KCC/SRRC/IC/NCC; WPA/WPA2-Enterprise/WPS
MCU security: AES/RSA/ECC/SHA
USBtoUART converter
Encryption Memory: 16 Keys/ECDSA/ECDH/SHA-256/SMAC/NIST
64-bit Unique-ID Memory with 112 B User EEPROM
MCU I/O: 34xI/O (34xPWM, 18xADC, 34xINT)
Rhomb.io config.: USB, 2xUART, SPI, I2C, SDIO, QSPI, 2xINT, PWM, 12xGPIO, AD
Op. Voltage: 2.8 V / 3.3 V
Op. Temperature: -40 ºC to +85 ºC

ESP32 Specifications.png

Connections

User interfaces

The following table indicates the available serial interfaces of the Rhomb.io standard used in this Module. This table relates the interfaces of the Rhomb.io standard with the net names of the schematic and with the components to which they are connected.

Rhomb.io Interface Schematic Signal Component Component Pin
UART-A UART-A_TXD ESP32-WROOM-32U TXD0
CP2102N RXD
UART-A_RXD ESP32-WROOM-32U RXD0
CP2102N TXD
UART-A_RTS ESP32-WROOM-32U IO22
UART-A_CTS ESP32-WROOM-32U IO19
UART-B UART-B_TXD ESP32-WROOM-32U IO17
UART-B_RXD ESP32-WROOM-32U IO16
I2C-A I2C-A_SCL ESP32-WROOM-32U IO22
Crypto Memory SCL
I2C-A_SDA ESP32-WROOM-32U IO21
Crypto Memory SDA
SPI-A SPI-A_MISO ESP32-WROOM-32U IO19
SPI-A_MOSI ESP32-WROOM-32U IO23
SPI-A_CLK ESP32-WROOM-32U IO18
SPI-A_CS0 ESP32-WROOM-32U IO5
SDIO SDIO_CLK ESP32-WROOM-32U CLK
SDIO_CMD ESP32-WROOM-32U CMD
SDIO_DATA0 ESP32-WROOM-32U SD0
SDIO_DATA1 ESP32-WROOM-32U SD1
SDIO_DATA2 ESP32-WROOM-32U SD2
SDIO_DATA3 ESP32-WROOM-32U SD3
QSPI QSPI_CLK ESP32-WROOM-32U CLK
QSPI_IO0 ESP32-WROOM-32U SD1
QSPI_IO1 ESP32-WROOM-32U SD0
QSPI_IO2 ESP32-WROOM-32U SD3
QSPI_IO3 ESP32-WROOM-32U SD2
USB USB_N CP2102N D-
USB_P CP2102N D+


  • UART-A: ESP32 UART0 interface provides asynchronous communication (RS232 and RS485) and IrDA support, communicating at a speed of up to 5 Mbps. UART provides hardware management of the CTS and RTS signals and software flow control (XON and XOFF). All of the interfaces can be accessed by the DMA controller or directly by the CPU. UART0 is tied directly to the Rhomb.io standard UART-A bus.
  • UART-B: ESP32 UART1 interface is tied directly to the Rhomb.io standard UART-B bus.
  • I2C-A: the I2C interface provides communication between the Master and a serial I2C bus. It is capable of acting as both a master and a slave. Standard-mode and fast-mode speeds are supported, allowing transmission rates from 100 kbit/s up to 400 Mbit/s. This interface is tied directly to the Rhomb.io standard I2C-A bus.
  • SPI-A: a VSPI interface is accesible, supporting slave and master modes in 1-line full-duplex and 1/2-line half-duplex communication modes. It can be used to connect to the external flash/SRAM and LCD. VSPI can be served by DMA controllers. This interface is connected to the Rhomb.io standard SPI-A.
  • SDIO: an SD/SDIO/MMC host controller is available on ESP32, which supports Secure Digital memory (Versions 3.0 and 3.01), Secure Digital I/O (Version 3.0) and Multimedia Cards (Versions 4.41, 4.5 and 4.51). The Module allows up to 80 MHz of clock output in two different data-bus modes: 1-bit and 4-bit. It also supports one SD card operating at a 1.8V level. Additionally, a slave controller can manage the bus, allowing a host controller to access the SoC device using the SDIO bus interface and protocol, acting the Module as the slave on the SDIO bus. The host can access SDIO interface registers directly and can access shared memory via a DMA engine, thus maximizing performance without engaging the processor cores. This interface is connected to the Rhomb.io standard SDIO.
  • QSPI: an SPI interface is accesible, supporting slave and master modes in 4-line half-duplex communication mode. This interface is connected to the Rhomb.io standard QSPI.
  • USB: an USB to UART bridge has been added to facilitate the connection to a computer.

GPIOs and Control Signals

The following table summarizes the GPIOs and Control Signals used on the S100 Master - ESP32-WROOM-32U Module. This table relates the signals of the Rhomb.io standard with the net names of the schematic and with the components to which they are connected.

Rhomb.io Signal Schematic Signal Component Component Pin
IO0 IO0 ESP32-WROOM-32U IO2
IO1 IO1 ESP32-WROOM-32U IO4
IO2 IO2 ESP32-WROOM-32U IO25
IO3 IO3 ESP32-WROOM-32U IO26
IO4 IO4 ESP32-WROOM-32U IO27
IO5 IO5 ESP32-WROOM-32U IO32
IO6 IO6 ESP32-WROOM-32U IO13
IO7 / #NMI IO7 ESP32-WROOM-32U IO0
AD0 AD0 ESP32-WROOM-32U IO35
PWM0 PWM0 ESP32-WROOM-32U IO33
#RESET_IN #RESET ESP32-WROOM-32U EN
RESET_OUT RESET_OUT ESP32-WROOM-32U IO14
INT0 INT0 ESP32-WROOM-32U IO34
1WIRE 1WIRE ESP32-WROOM-32U IO12
QSPI_CS QSPI_CS ESP32-WROOM-32U IO15
  • IO0 - IO7: can be assigned to various functions by programming the appropriate registers. There are several kinds of GPIOs: digital-only GPIOs, analog-enabled GPIOs, capacitive-touch-enabled GPIOs, etc. Analog-enabled GPIOs can be configured as digital GPIOs. Capacitive-touch-enabled GPIOs can be configured as digital GPIOs. Most of the digital GPIOs can be configured as internal pull-up or pull-down, or set to high impedance. When configured as an input, the input value can be read through the register. The input can also be set to edge-trigger or level-trigger to generate CPU interrupts. Most of the digital IO pins are bi-directional, non-inverting and tristate, including input and output buffer with tristate control. For low-power operations, the GPIOs can be set to hold their states.
  • IO7 / #NMI: when #NMI signal is asserted low during power up, the ESP32-WROOM-32U enters in Download Boot Mode. It can be asserted externally or by the "non-button" upload circuit. In normal operation, this signal could be used as GPIO.
  • AD0: a SAR ADC is accesible in this pin. This pins can be used to build a programmable gain amplifier which is used for the measurement of small analog signals. The ULP-coprocessor in ESP32 is also designed to measure the voltages, while operating in the sleep mode, which enables low-power consumption. The CPU can be woken up by a threshold setting and/or via other triggers.
  • PWM0: the Pulse Width Modulation (PWM) controller can be used for driving digital motors and smart lights. Additionally, a LED PWM controller can generate digital waveforms with configurable periodsand duties.
  • INT0 & #NMI: the GPIO subsystem supports asynchronous external pin interrupts.
  • QSPI_CS: the Module has and on-bard QSPI flash memory which requires a chip select line. If QSPI bus is exclusively used by the on-board memory, R16 must be mounted, while R14 and R15 must be unpopulated (in this case, IO6 can be used as GPIO). If on-board memory shares the QSPI bus with another external memory, user must solder R15 resistor (in this case, IO6 will control the chip select line of the external memory). In the case that on-board memory is not soldered (or won't be used), R15 and R16 should be unpopulated and R14 must be mounted (in this case, IO6 can be used as GPIO and the chip select of the Rhomb.io standard QSPI bus is managed by an exclusive IO).

Nevertheless, the versatility of the ESP32-WROOM-32 module lies in the multifunction of all of its pins. The above table is an adaptation of the module pinout to the Rhomb.io standard pinout. Be sure that most of the pins of the S100 Master - ESP32-WROOM-32U Module have way more functions than the ones shown in the schematics and the table.

For more details, check the Module Schematics and the BGM13P manufacturer documentation.

Power

The S100 Master - ESP32-WROOM-32U can use the 2.8V rail or the 3.3V rail. You can choose the voltage shorting the corresponding Solder Jumper. Make sure this rail is enabled on the motherboard you are going to plug this Module.

The power consumption varies with different power modes/sleep patterns and work statuses of functional modules. See the table below for details (typical conditions are: VDD = 3.3 V. T = 25 °C):

ESP Power Consumption.png

Schematics

Click the image below to download the schematic files.

Mechanical specifications

Board


S100 Master - ESP32-WROOM-32U - Dimensions.png

Warranty

  • Precaution against Electrostatic Discharge. When handling Rhomb.io products, ensure that the environment is protected against static electricity. Follow the next recommendations:
  1. The users should wear anti-static clothing and use earth band when manipulating the device.
  2. All objects that come in direct contact with devices should be made of materials that do not produce static electricity that would cause damage.
  3. Equipment and work table must be earthed.
  4. Ionizer is recommended to remove electron charge.
  • Contamination. Be sure to use semiconductor products in the environment that may not be exposed to dust or dirt adhesion.
  • Temperature/Humidity. Semiconductor devices are sensitive to environment temperature and humidity. High temperature or humidity may deteriorate semiconductor devices characteristics. Therefore avoid storage or usage in such conditions.
  • Mechanical Shock. Care should be exercised not to apply excessive mechanical shock or force on the connectors and semiconductors devices.
  • Chemical. Do not expose semiconductor device to chemical because reaction to chemical may cause deterioration of device characteristics.
  • Light Protection. In case of non-EMC (Epoxy Molding Compound) package, do not expose semiconductor IC to strong light. It may cause devices malfunction. Some special products which utilize the light or have security function are excepted from this specification.
  • Radioactive, Cosmic and X-ray. Semiconductor devices can be influenced by radioactive, cosmic ray or X-ray. Radioactive, cosmic and X-ray may cause soft error during device operation. Therefore semiconductor devices must be shielded under environment that may be exposed to radioactive, cosmic ray or X-ray.
  • EMS (Electromagnetic Susceptibility). Note that semiconductor devices characteristics may be affected by strong electromagnetic waves or magnetic field during operation.

Disclaimer

Rhomb.io reserves the right to make corrections, enhancements, improvements and other changes to its products and services, and to discontinue any product or service. Buyers should obtain the latest relevant information before placing orders and should verify that such information is current and complete. All the hardware products are sold subject to the Rhomb.io terms and conditions of sale supplied at the time of order acknowledgment.

All brand names, trademarks and registered trademarks belong to their respective owners.

We are constantly striving to improve the quality of our technical notes. If you find an error or omission please let us know.

Email us at: info@rhomb.io