S100 Master - ESP32-WROOM-32U
This document shows the documentation for the Rhomb.io S100 Master - ESP32-WROOM-32U Module.
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:
- Internet of Things
- Home automation
- Smart lighting
- Security alarms
- Monitor and scales
- Mesh Networks
- Industrial Wireless Control
- Wereable electronics
- WiFi Position System Beacons
- Health, sports and wellness devices
- Smart phone, tablet and PC accessories
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:
The next figure shows the Block Diagram for the S100 Master - ESP32-WROOM-32U Module:
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: 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|
|IO7 / #NMI||IO7||ESP32-WROOM-32U||IO0|
- 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.
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):
- Precaution against Electrostatic Discharge. When handling Rhomb.io products, ensure that the environment is protected against static electricity. Follow the next recommendations:
- The users should wear anti-static clothing and use earth band when manipulating the device.
- All objects that come in direct contact with devices should be made of materials that do not produce static electricity that would cause damage.
- Equipment and work table must be earthed.
- 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.
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: firstname.lastname@example.org