# X-NODE / XC01 – ESP32 WROOM Controlador WiFi & Bluetooth R4

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FDdntTAeMQOwj5mBo8ojA%2Fuser-manual-product-image.webp?alt=media&#x26;token=3066340d-6d1f-4254-a110-9f305bc25055" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Este producto ya no se encuentra a la venta. Revisa nuestra versión actualizada:

[XC01 - R5](https://docs.microside.com/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r5/x-node-xc01-esp32-s3-controlador-wifi-and-bluetooth)
{% endhint %}

El **X-NODE MCU WIFI BLE (ESP32-WROOM-32)** integra un módulo de conectividad inalámbrica [**ESP32-WROOM-32**](https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32_datasheet_en.pdf) de [**Espressif Systems®**](https://www.espressif.com/en) conformado por Bluetooth/BLE y Wi-Fi de 2.4 GHz, dos modos de funcionamiento para usarlo como un X-NODE (Esclavo) o como una X-BOARD (Maestro) y compatible con protocolos I2C, UART y SPI. Cuenta con múltiples modos de potencia y escalado de potencia dinámico, contribuyendo así a un equilibrio óptimo entre el rango de comunicación, la velocidad de datos y el consumo de energía. Es ideal para aplicaciones de baja potencia, aplicaciones móviles, electrónica portátil e Internet de las cosas (IoT) como interactuar con un sensor, actuador o hasta un sistema de domótica, con monitoreo y control desde una computadora o servicio en la nube.

### **TABLA DE CONTENIDO**

1. [**¿Cómo funciona?**](#i.-como-funciona)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
3. [**Especificaciones**](#iii.-especificaciones)
4. [**Pinout**](#iv.-pinout)
5. [**Configuración para su uso**](#v.-configuracion-para-su-uso)
6. [**Descargas**](#vi.-descargas)
   * [**Esquemático**](https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fw0qzt2DAbXQkaOAQ0qyv%2FSCHEMATIC%20XC01%20-%20MCU%20WIFI%20BLE%20\(ESP32-WROOM-32\).pdf?alt=media\&token=109f57e7-8902-43bc-af7e-8a10d8a8aa3f)
   * [**Dimensiones**](https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FY5HyRWPLPz3m5NzwPza0%2FDIMENSIONS%20XC01%20-%20MCU%20WIFI%20BLE%20\(ESP32-WROOM-32\).pdf?alt=media\&token=e26e6631-9fb7-4c44-84d9-00cb6eb189a6)

## **I. ¿Cómo funciona?**

El módulo **X-NODE MCU WIFI BLE (ESP32-WROOM-32)** cuenta con un conector micro USB tipo B con el cual es posible establecer una comunicación y programarlo de manera sencilla, de esta forma se podrá usar en proyectos para brindar una comunicación inalámbrica WiFi o Bluetooth y así lograr una conexión hacia un dispositivo móvil o servicio en la nube, esto permite que el X-NODE sea compatible con cualquier sistema basado en un microcontrolador, microprocesador o equipos industriales

**X-NODE MCU WIFI BLE (ESP32-WROOM-32)** es compatible con el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) de [**Mikroe®**](https://www.mikroe.com/) para un uso fácil con un gran ecosistema de kits para desarrollo de hardware, también posee conectores JST compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic) de [**SparkFun®**](https://www.sparkfun.com/) para una comunicación entre diversos módulos y tarjetas de desarrollo por medio del protocolo I2C de manera rápida y sencilla.

### **II. Descripción del hardware** <a href="#ii.-descripcion-del-hardware" id="ii.-descripcion-del-hardware"></a>

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Ffy0mvqym0rDg5UHXMWW8%2Fuser-manual-hardware-description.jpg?alt=media&#x26;token=5920a52c-0b98-4e4a-aea0-a63b9d000573" alt=""><figcaption></figcaption></figure>

1. SoC [**ESP32-WROOM-32**](https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32_datasheet_en.pdf) de [**Espressif Systems®**](https://www.espressif.com/en)
2. Push button para entrar en modo bootloader y push button conectado al pin RESET
3. Conectores JST compatibles con [**Qwiic®**](https://www.sparkfun.com/qwiic)
4. Conector micro USB tipo B para comunicación y alimentación
5. Puertos de comunicación UART <> I2C
6. Modelo de X-NODE
7. Tipo de X-NODE
8. Ranura para tarjeta microSD
9. Jumpers para selección de modo X-NODE (Esclavo) <> X-BOARD (Maestro)
10. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
11. Jumpers para brindar voltaje de 3.3V y 5V en los pines [**mikroBUS™**](https://www.mikroe.com/mikrobus)
12. Versión del hardware: R4
13. Número de parte del componente principal en el X-NODE

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="148"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>BLE + WiFi</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Ideal para aplicaciones de baja potencia, aplicaciones móviles, electrónica portátil, aplicaciones de (IoT), hogar inteligente, robótica avanzada, entre otros.</td></tr><tr><td><strong>Módulo</strong></td><td>SoC ESP32-WROOM-32</td></tr><tr><td><strong>Fabricante</strong></td><td>Espressif Systems®</td></tr><tr><td><strong>Características</strong></td><td>Compatible con protocolo Wi-Fi(2.4GHz) 802.11 b/g/n/e/i (802.11n hasta 150 Mbps). Bluetooth: v4.2 BR/EDR y BLE, Seguridad IEEE 802.11 WFA, WPA/WPA2 y WAPI, Encriptación AES, SHA-2, RSA, ECC y RNG.</td></tr><tr><td><strong>Interfaz</strong></td><td>UART, I2C, SPI, GPIO, USB</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™ y</a> estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a></td></tr><tr><td><strong>Tamaño</strong></td><td>71.83 x 25.4 x 20.5 mm</td></tr><tr><td><strong>Voltaje</strong></td><td>3.3 V</td></tr></tbody></table>

{% hint style="info" %}
Para la información técnica completa, puedes descargar las especificaciones del fabricante en el siguiente link: [Datos Técnicos](https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32_datasheet_en.pdf)
{% endhint %}

## **IV. Pinout**

La siguiente tabla muestra el pinout del **X-NODE MCU WIFI BLE (ESP32-WROOM-32)** con respecto al estándar  [**mikroBUS™**](https://www.mikroe.com/mikrobus) (este último se encuentra en las dos columnas del centro).

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FWyEYkDjeibZEjwltKhGa%2Fuser-manual-mikrobus-pinout-table.jpg?alt=media&#x26;token=6dc0a5ff-7e95-4b31-8917-0771a62043b0" alt=""><figcaption></figcaption></figure>

## **V. Configuración para su uso**

Para un uso práctico del X-NODE se utiliza el módulo ESP32-WROOM-32 de forma directa, por ello es posible interactuar con sus pines nativos y brindar una conectividad inalámbrica a otros X-NODE o tarjetas de desarrollo a través de diferentes protocolos de comunicación como UART o I2C, utilizando el entorno de desarrollo de tu preferencia.

Conecta tu módulo **X-NODE MCU WIFI BLE (ESP32-WROOM-32)** a la computadora por medio del cable micro USB y configúralo dependiendo de tu sistema operativo, para los siguientes ejemplos se utiliza Windows.

{% hint style="warning" %}
En caso de que el módulo **NO** sea reconocido, instala el driver USB Silicon Labs:

[Instalar driver USB Silicon Labs](https://docs.microside.com/ambientes-de-programacion-ides/platformio-ide-visual-studio-code#instalar-driver-usb-silicon-labs)
{% endhint %}

<details>

<summary>Configuración para PlatformIO en VS Code</summary>

**1**.- Descarga e instala Visual Studio Code.

&#x20;       <https://code.visualstudio.com/>

**2**.- Ejecuta VS Code, dirígete al apartado de ***"Extensiones"***, busca **PlatformIO IDE** e instálalo.

![](https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FpT2xUYLN9KuTksopI53g%2Fuser-manual-pio-step-2.jpg?alt=media\&token=3badc0b8-f7f8-4c6f-bb12-257a8231a991)

**3**.- Dirígete al gestor de proyectos y da clic en "Create New Project".

![](https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FP06sT7kaSKkO1S7H5b5c%2Fuser-manual-pio-step-3.jpg?alt=media\&token=5158e0bc-5cbd-4fa8-ba37-953a02cd5498)

**4**.- Completa **Project Wizard** con los siguientes datos y da clic en ***"Finish"***.

![](https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F2RKjc4HzsesRHbDdm1ua%2Fuser-manual-pio-step-4.jpg?alt=media\&token=a9ce7465-9e06-482b-84b6-757406e6f6a8)

**5**.- Este proceso descarga las herramientas necesarias para el módulo ESP32 y puede llevar un poco de tiempo.

![](https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FLuK8R3UFj2jrNotJOpCW%2Fuser-manual-pio-step-5.jpg?alt=media\&token=13d94a72-ed30-497b-9350-059d7388f718)

**6**.- Por último, se muestra la siguiente estructura en VS Code y estará listo para su uso.

![](https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F4tFNY2Dz6EzMnLtnwSj3%2Fuser-manual-pio-step-6.jpg?alt=media\&token=b3edae8e-2943-48e0-a99e-5cd10ee64fb5)&#x20;

</details>

<details>

<summary>Configuración para Arduino® IDE</summary>

**1**.- Descarga e instala Arduino® IDE.

&#x20;       <https://www.arduino.cc/en/software>

**2**.- Ejecuta Arduino® IDE y da clic en “Inicio” > “Preferencias”.

<img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FrulvAKYZoH1227T4VicV%2Fuser-manual-arduino-step-2.png?alt=media&#x26;token=27e8e6a9-43e6-4e58-86b2-af9872d37383" alt="" data-size="original">

**3**.- Inserta el siguiente enlace en el campo de URLs:

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

![](https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FH3HfhRqY4sJUooNUXLKn%2Fuser-manual-arduino-step-3.png?alt=media\&token=8c83007b-6f40-492d-b145-14f6e93634e3)

**4**.- Posteriormente da clic en “Herramientas” > “Placa” > “Gestor de tarjetas”.

![](https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FxctNjYm9vXuds65BzZKu%2Fuser-manual-arduino-step-4.png?alt=media\&token=eb650678-c7a3-4109-954f-363d5b5b884c)

**5**.- En el gestor de tarjetas, busca el paquete "ESP32" e instálalo.

<img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FRnztINlFtswQfiCH8SBa%2Fuser-manual-arduino-step-5.png?alt=media&#x26;token=bb8decef-a158-42a4-8c80-4d30f2227b76" alt="" data-size="original">

**6**.- Da clic en “Herramientas” > “Placa” > "ESP32 Arduino" y selecciona la tarjeta **ESP32 Dev Module**.

<img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FLxPtnYwQCmzd7WqC1g72%2Fuser-manual-arduino-step-6.png?alt=media&#x26;token=126feb71-a99a-45ad-b9f3-f50725880437" alt="" data-size="original">

**7**.- Por último, selecciona el puerto asignado por el módulo y estará listo para usarse.

<img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FDC407grruJWEtVBo1Bef%2Fuser-manual-arduino-step-7.png?alt=media&#x26;token=a5992741-6b85-4f6c-8bce-d5d945edcac2" alt="" data-size="original">

</details>

## **VI. Descargas**

<table data-card-size="large" data-view="cards"><thead><tr><th align="center"></th><th data-hidden data-type="content-ref"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fw0qzt2DAbXQkaOAQ0qyv%2FSCHEMATIC%20XC01%20-%20MCU%20WIFI%20BLE%20(ESP32-WROOM-32).pdf?alt=media&#x26;token=109f57e7-8902-43bc-af7e-8a10d8a8aa3f">https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fw0qzt2DAbXQkaOAQ0qyv%2FSCHEMATIC%20XC01%20-%20MCU%20WIFI%20BLE%20(ESP32-WROOM-32).pdf?alt=media&#x26;token=109f57e7-8902-43bc-af7e-8a10d8a8aa3f</a></td><td><a href="https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fw0qzt2DAbXQkaOAQ0qyv%2FSCHEMATIC%20XC01%20-%20MCU%20WIFI%20BLE%20(ESP32-WROOM-32).pdf?alt=media&#x26;token=109f57e7-8902-43bc-af7e-8a10d8a8aa3f">https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fw0qzt2DAbXQkaOAQ0qyv%2FSCHEMATIC%20XC01%20-%20MCU%20WIFI%20BLE%20(ESP32-WROOM-32).pdf?alt=media&#x26;token=109f57e7-8902-43bc-af7e-8a10d8a8aa3f</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FY5HyRWPLPz3m5NzwPza0%2FDIMENSIONS%20XC01%20-%20MCU%20WIFI%20BLE%20(ESP32-WROOM-32).pdf?alt=media&#x26;token=e26e6631-9fb7-4c44-84d9-00cb6eb189a6">https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FY5HyRWPLPz3m5NzwPza0%2FDIMENSIONS%20XC01%20-%20MCU%20WIFI%20BLE%20(ESP32-WROOM-32).pdf?alt=media&#x26;token=e26e6631-9fb7-4c44-84d9-00cb6eb189a6</a></td><td><a href="https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FY5HyRWPLPz3m5NzwPza0%2FDIMENSIONS%20XC01%20-%20MCU%20WIFI%20BLE%20(ESP32-WROOM-32).pdf?alt=media&#x26;token=e26e6631-9fb7-4c44-84d9-00cb6eb189a6">https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FY5HyRWPLPz3m5NzwPza0%2FDIMENSIONS%20XC01%20-%20MCU%20WIFI%20BLE%20(ESP32-WROOM-32).pdf?alt=media&#x26;token=e26e6631-9fb7-4c44-84d9-00cb6eb189a6</a></td></tr></tbody></table>
