# XC01 - MCU WIFI BLE (ESP32-WROOM-32) - R4

<figure><img src="/files/dwRx5kp8BZPz0DCYl0Mu" alt=""><figcaption><p>XC01 - MCU WIFI BLE (ESP32-WROOM-32)</p></figcaption></figure>

X-NODE MCU WIFI BLE (ESP32-WROOM-32) is based on the wireless SoC ESP32-WROOM-32 from [Espressif Systems®](https://www.espressif.com/en) that enables Bluetooth/BLE & WiFi 2.4GHz wireless communications and I2C, UART & SPI wired serial communications, it can perform as a X-NODE (slave) or a complete standalone X-BOARD system (master). Includes state-of-the-art features, such as fine-grained clock gating, various power modes and dynamic power scaling, balancing high performance, transmission speed and power consumption. Ideal for mobile devices, wearable electronics and IoT applications, like reading from sensors, controlling actuators, or even building home automation systems.

### TABLE OF CONTENTS

1. [**How does it work?**](#i.-how-does-it-work)
2. [**Layout**](#ii.-layout)
3. [**Specification**](#iii.-specification)
4. [**Pinout**](#iv.-pinout)
5. [**Software setup**](#v.-software-setup)
6. [**Downloads**](#vi.-downloads)

## I. How does it work?

The X-NODE MCU WIFI BLE (ESP32-WROOM-32) is based on the wireless SoC ESP32-WROOM-32 from [Espressif Systems®](https://www.espressif.com/en), it comes with a micro USB type B connector that makes the programming of the device a simple task, it can be easily integrated in projects to enable wireless WiFi or Bluetooth communication, to connect microcontrollers, microprocessors or even industrial equipment to mobile devices or cloud services.

The X-NODE MCU WIFI BLE (ESP32-WROOM-32) is compatible with the  [mikroBUS™](https://www.mikroe.com/mikrobus) standard, that makes it compatible with Mikroe® add-on boards ecosystem with 1000+ sensors and development boards including [X-NODE](https://microside.com/xide/) devices. It also comes with two 4-pin JST connectors compatible with Sparkfun’s  [Qwiic](https://www.sparkfun.com/qwiic) connection system to expand its capabilities even further in a fast and easy way.

## II. Layout

<figure><img src="/files/525VJ1dmGvnh2xiF4nbE" alt=""><figcaption></figcaption></figure>

1. SoC [ESP32-WROOM-32](https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32e_esp32-wroom-32ue_datasheet_en.pdf) from [Espressif Systems®.](https://www.espressif.com/en)
2. Bootloader push button and device reset push button.
3. 4-pin JST Qwiic connect connector.
4. Micro USB type B connector.
5. UART<>I2C serial ports.
6. X-NODE model.
7. X-NODE type.
8. MicroSD slot.
9. Device mode selector: X-NODE (slave) <> X-BOARD (master).
10. [mikroBUS™](https://www.mikroe.com/mikrobus) connector.
11. Jumpers to enable 3.3V & 5V power output.
12. Hardware revision.
13. Core component name of the X-NODE device

## III. Specification

<table data-header-hidden><thead><tr><th width="209"></th><th></th></tr></thead><tbody><tr><td><strong>Type</strong></td><td>BLE + WiFi</td></tr><tr><td><strong>Applications</strong></td><td>Ideal for mobile devices, wearable electronics and IoT applications, home automatization, robotics, etc.</td></tr><tr><td><strong>On-board module</strong></td><td>SoC ESP32-WROOM-32 from Espressif Systems®</td></tr><tr><td><strong>Compatibility</strong></td><td><a href="https://www.mikroe.com/mikrobus">mikroBUS™</a>  &#x26; <a href="https://www.sparkfun.com/qwiic">Qwiic®</a></td></tr><tr><td><strong>Key features</strong></td><td>Wi-Fi(2.4GHz) 802.11 b/g/n/e/i (802.11n up to 150 Mbps). Bluetooth: v4.2 BR/EDR &#x26; BLE, IEEE 802.11 WFA, WPA/WPA2 &#x26; WAPI, AES, SHA-2, RSA, ECC &#x26; RNG.</td></tr><tr><td><strong>Interfaces</strong></td><td>UART, I2C, SPI, GPIO, USB</td></tr><tr><td><strong>Dimensions</strong></td><td>72 x 26 x 21 mm </td></tr><tr><td><strong>Voltage</strong></td><td>3.3 V</td></tr></tbody></table>

## IV. Pinout

<figure><img src="/files/prcqSFJAFnT6eBrFvDwA" alt=""><figcaption></figcaption></figure>

## V. Software setup

The ESP32 module can be program with the same tools that any other Espressif SoC, therefore all development environments compatible with the ESP-IDF can be used to program the X-NODE MCU WIFI BLE (ESP32-WROOM-32). However, in order to connect to the device through the USB port the [CP210x USB to UART bridge driver](https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads) is needed. Once the driver is installed the device can be access through a virtual COM port.

<details>

<summary>Example with PlatformIO</summary>

Connect your X-NODE MCU WIFI BLE (ESP32-WROOM-32) device to the computer,

1\.       Download & install VSCode (<https://code.visualstudio.com/>)

![](/files/eFFUid2rMBwOkF6s7Me7)

2\.     Search the PlatformIO IDE extension.

![](/files/eNvgM96WrVTZ9InsgBpN)

3\.     Once PlatformIO it’s installed, open the project manager & create a new project.

![](/files/Dpi9ygPTQ5NmIuoS3xOQ)

4\.     Fill the project wizard with the following values and press Finish:

* Name: Test
* Board: Espressif ESP32 Dev Module
* Framework: Arduino
* Use default location.

![](/files/GP0aMI7ZdivnurbL18rw)

5\.     This process will download the ESP-IDF toolchain, due to file sizes this may take a while the first time, please be patient and let the initialization finish.

![](/files/N352CxUSCNgjjcdgiHuH)

6\.     When the process is finished Visual Studio Code will display the following structure.

![](/files/g6f3rL9qrMsygxY3G8wf)

7\.     Go to the official [PlatformIO documentation](https://docs.platformio.org/en/latest/tutorials/index.html) for in depth details of the IDE usage.

</details>

<details>

<summary>Example with Arduino®IDE</summary>

1. Download & install Arduino® IDE, go to “File” > “Preferences”.

![](/files/D6rf92i9bsE19nkZzEF4)

2. Copy and paste the following URL on the Additional Board field input:

```
https://dl.espressif.com/dl/package_esp32_index.json
```

![](/files/ykUjRaX1hWp5i07SKxpu)

3. Click on “Tools” > “Board” > “Board Manager”.

![](/files/5yK1NEwnlIxTQ1Cf5Lsm)

4. Search ESP32 by Espressif Systems and click on install.

![](/files/AFHUGqdvbjXAm728KXZ9)

5. Choose ESP32 Dev Module board.

![](/files/jPGfJ7pyTiVvTFYJiWaN)

6. Choose the COM port of the device.

![](/files/lcajXd5bYN9nW0G6trUL)

</details>

## VI. Downloads

<table data-card-size="large" data-view="cards"><thead><tr><th align="center"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><strong>Schematic</strong></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwzhjxMFtAHZqHlRBU68T%2Fuploads%2FBhdYIMUTSr6QKrVdxn7B%2FSCHEMATIC%20XC01%20-%20MCU%20WIFI%20BLE%20(ESP32-WROOM-32).pdf?alt=media&#x26;token=644a49bd-b8df-4a29-89bf-6b304a5c574d">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwzhjxMFtAHZqHlRBU68T%2Fuploads%2FBhdYIMUTSr6QKrVdxn7B%2FSCHEMATIC%20XC01%20-%20MCU%20WIFI%20BLE%20(ESP32-WROOM-32).pdf?alt=media&#x26;token=644a49bd-b8df-4a29-89bf-6b304a5c574d</a></td></tr><tr><td align="center"><strong>Dimensions</strong></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwzhjxMFtAHZqHlRBU68T%2Fuploads%2FPd6s4GqifkaWSE72mNhB%2FDIMENSIONS%20XC01%20-%20MCU%20WIFI%20BLE%20(ESP32-WROOM-32).pdf?alt=media&#x26;token=e4593847-1eaf-4010-9e80-59ff24e9e0eb">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwzhjxMFtAHZqHlRBU68T%2Fuploads%2FPd6s4GqifkaWSE72mNhB%2FDIMENSIONS%20XC01%20-%20MCU%20WIFI%20BLE%20(ESP32-WROOM-32).pdf?alt=media&#x26;token=e4593847-1eaf-4010-9e80-59ff24e9e0eb</a></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.microside.com/en/user-manuals/xide/x-nodes/xc01-mcu-wifi-ble/r4/xc01-mcu-wifi-ble-esp32-wroom-32-r4.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
