# Docs

Documentación - Productos Microside

Selecciona el apartado de información que deseas consultar.

<table data-card-size="large" data-view="cards" data-full-width="false"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Tarjetas de desarrollo PICs  X-TRAINER</strong> </td><td><mark style="color:green;"><strong>Manuales de Usuario</strong></mark></td><td>Ingresa a la información de los distintos modelos de <strong>X-TRAINER.</strong></td><td><a href="/files/Y61BVrb08s8vs1VubFNt">/files/Y61BVrb08s8vs1VubFNt</a></td><td><a href="https://docs.microside.com/tarjetas-de-desarrollo/x-trainer">https://docs.microside.com/tarjetas-de-desarrollo/x-trainer</a></td></tr><tr><td><strong>Plataforma XIDE IoT</strong></td><td><mark style="color:green;"><strong>Manuales de usuario</strong></mark> </td><td>Consulta la información de los módulos <strong>X-NODE</strong>  y tarjetas <strong>X-BOARD</strong> </td><td><a href="/files/m0O7ddY0Au7etSHNkk1d">/files/m0O7ddY0Au7etSHNkk1d</a></td><td><a href="/pages/q4dZ3gMoQVQJPE0YkHd3">/pages/q4dZ3gMoQVQJPE0YkHd3</a></td></tr><tr><td><strong>Prácticas tarjetas de desarrollo PICs  X-TRAINER</strong></td><td><mark style="color:green;"><strong>Prácticas</strong></mark></td><td>Desarrolla las diferentes prácticas con los compiladores disponibles.</td><td><a href="/files/Ue48socLAsiQtvyEHCcf">/files/Ue48socLAsiQtvyEHCcf</a></td><td><a href="/pages/YNSN6zUg7gtMzQ6MDt7L">/pages/YNSN6zUg7gtMzQ6MDt7L</a></td></tr><tr><td><strong>Programadores microcontroladores Microchip PICs &#x26; AVRs</strong></td><td><mark style="color:green;"><strong>Manuales de usuario</strong></mark></td><td>Consulta información de los Programadores para <strong>PICs</strong> o <strong>AVRs</strong>.</td><td><a href="/files/LsDOuwjVcXhkyMd2Nt2G">/files/LsDOuwjVcXhkyMd2Nt2G</a></td><td><a href="/pages/aW36Xo4GohYwI36i0c13">/pages/aW36Xo4GohYwI36i0c13</a></td></tr></tbody></table>


# X-NODEs

* [X-NODE / XC01 – ESP32 Controlador WiFi & Bluetooth](/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth)
* [X-NODE / XC03 – SIM7080G Red celular LTE y GNSS](/plataforma-xide-iot/x-nodes/x-node-xc03-sim7080g-red-celular-lte-y-gnss)
* [X-NODE / XC04 - BG95 M2 Red celular LTE y GNSS](/plataforma-xide-iot/x-nodes/x-node-xc04-bg95-m2-red-celular-lte-y-gnss)
* [X-NODE / XC08 - BG95 M3 Red celular 2G, LTE y GNSS](/plataforma-xide-iot/x-nodes/x-node-xc08-bg95-m3-red-celular-2g-lte-y-gnss)
* [X-NODE / XC09 – IN100 NanoBeacon Bluetooth](/plataforma-xide-iot/x-nodes/x-node-xc09-in100-nanobeacon-bluetooth)
* [X-NODE / XC11 – Myriota M2-24 Red Satelital](/plataforma-xide-iot/x-nodes/x-node-xc11-myriota-m2-24-red-satelital)
* [X-NODE / XC12 - Interfaz RS232/RS485](/plataforma-xide-iot/x-nodes/x-node-xc12-interfaz-rs232-rs485)
* [X-NODE / XN01 - Entradas Digitales](/plataforma-xide-iot/x-nodes/xn01-entradas-digitales)
* [X-NODE / XN02 - Salidas Digitales](/plataforma-xide-iot/x-nodes/xn02-salidas-digitales)
* [X-NODE / XN03 - Entradas/Salidas Analógicas](/plataforma-xide-iot/x-nodes/xn03-entradas-salidas-analogicas)
* [X-NODE / XN04 – Sensores Temperatura/Humedad/Proximidad](/plataforma-xide-iot/x-nodes/xn04-sensores-temperatura-humedad-luminosidad)
* [X-NODE / XN09 – BME688 Sensor Ambiental con IA](/plataforma-xide-iot/x-nodes/x-node-xn09-bme688-sensor-ambiental-con-ia)
* [X-NODE / XN11 - 2 Relevadores](/plataforma-xide-iot/x-nodes/x-node-xn11-2-relevadores-1/r1/x-node-xn11-2-relevadores-a-r1)
* [X-NODE / XN13 - 1 Relevador](/plataforma-xide-iot/x-nodes/x-node-xn13-1-relevador)
* [X-NODE / XN14 - Fuente de Alimentación 24V DC](/plataforma-xide-iot/x-nodes/x-node-xn14-fuente-de-alimentacion-24v-dc)
* [X-NODE / XN15 - Fuente de Alimentación 110-220V AC](/plataforma-xide-iot/x-nodes/x-node-xn15-fuente-de-alimentacion-110-220v-ac)
* [X-NODE / XN19 - Expansor de puertos](/plataforma-xide-iot/x-nodes/x-node-xn19-expansor-de-puertos)
* [X-NODE / XN21 – BME690 Sensor Ambiental con IA](/plataforma-xide-iot/x-nodes/x-node-xn21-bme690-sensor-ambiental-con-ia)
* [X-NODE / XN26 - 4 x Entradas 24V DC](/plataforma-xide-iot/x-nodes/x-node-xn26-4-x-entradas-24v-dc)
* [X-NODE / XN27 - 4 x Salidas 24V DC](/plataforma-xide-iot/x-nodes/x-node-xn27-4-x-salidas-24v-dc)
* [X-NODE / XN29 - 4 Relevadores 1A](/plataforma-xide-iot/x-nodes/x-node-xn29-4-relevadores-1a)
* [X-NODE / XN30 - 2 x Entradas 4-20 mA](/plataforma-xide-iot/x-nodes/x-node-xn30-2-x-entradas-4-20-ma)
* [X-NODE / XN31 - 3 x Entradas Corriente AC](/plataforma-xide-iot/x-nodes/x-node-xn31-3-x-entradas-corriente-ac)


# XC01 - Controlador WiFi & Bluetooth

<table data-card-size="large" data-view="cards" data-full-width="true"><thead><tr><th align="center"></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><mark style="color:green;"><strong>XC01 versión R4</strong></mark></td><td data-object-fit="contain"><a href="/files/V37LUTUegV3HQOlpzgMC">/files/V37LUTUegV3HQOlpzgMC</a></td><td><a href="/pages/HcLUnJPVDumIHk6xsEpi">/pages/HcLUnJPVDumIHk6xsEpi</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>XC01 versión R5</strong></mark></td><td data-object-fit="contain"><a href="/files/Xyd8DS9CPuVqAhZTqylr">/files/Xyd8DS9CPuVqAhZTqylr</a></td><td><a href="/pages/6N4DbOBzAyw1OPSP5PyM">/pages/6N4DbOBzAyw1OPSP5PyM</a></td></tr></tbody></table>


# R4


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

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

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

[XC01 - R5](/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="/files/hiL0qRuY9KmQjNOxoNnQ" 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="/files/XZYY0xaOUCX5qYcGqR5V" 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.

![](/files/bbGvZQOnzrZprA6SEpVJ)

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

![](/files/nS15RByklyr3VK9zBhHB)

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

![](/files/OJUONCeDhmYmqKzbAsJT)

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

![](/files/Mf11KxeOsP04XM4W6rUj)

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

![](/files/v4PyxunnpLrGC38qPZDJ)&#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="/files/gjhE0jr1YGJ0ej18KRHz" alt="" data-size="original">

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

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

![](/files/DdJCaRBFhFudP7JSDDVP)

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

![](/files/uPzWi0gSvgZssygrfwGY)

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

<img src="/files/vNpzVEOoPCnKXXIqi9rc" alt="" data-size="original">

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

<img src="/files/u7bNOaWOXoENtlpMgSTQ" alt="" data-size="original">

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

<img src="/files/VjRXvXFaPdae8onntkWA" 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>


# R5


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

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/x-node-mcu-wifi-ble-esp32-s3-33">https://www.microside.com/shop/x-node-mcu-wifi-ble-esp32-s3-33</a></td></tr></tbody></table>

El **X-NODE MCU WIFI BLE (ESP32-S3)** integra un módulo de conectividad inalámbrica [ESP32-S3-WROOM-1](https://www.espressif.com/sites/default/files/documentation/esp32-s3-wroom-1_wroom-1u_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 USB 2.0 OTG, 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://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FYGgFo7zmIelFLhBiWTvG%2Fschematic.pdf?alt=media\&token=aeb4e92a-9844-45c9-b8b8-60ae869266f5)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FnKfucillOFYleFbOB2E5%2Fdimensions.pdf?alt=media\&token=2b6119f7-a906-4e7a-8b3d-de3c81d93fca)
   * [**Plantilla PlatformIO**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FpEC7RvUsygTQioH208cO%2Fxc01-example-platformio.zip?alt=media\&token=9c2a9436-70d1-4f25-a5be-406b79ac18f8)
   * [**Plantilla Arduino**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FFna3qg1JkgHNs4uhqB9R%2Fxc01-example-arduino.zip?alt=media\&token=f227e7c3-a33e-4687-b18a-802f921aa76a)

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

El módulo **X-NODE MCU WIFI BLE (ESP32-S3)** cuenta con un conector USB tipo C 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-S3)** 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**

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

1. SoC [ESP32-S3-WROOM-1](https://www.espressif.com/sites/default/files/documentation/esp32-s3-wroom-1_wroom-1u_datasheet_en.pdf) de [Espressif Systems®](https://www.espressif.com/en)
2. Conectores JST compatibles con [Qwiic®](https://www.sparkfun.com/qwiic)
3. Conector USB tipo C para comunicación y alimentación
4. Botón pulsador para entrar en modo bootloader y botón pulsador conectado al pin RESET
5. Puertos de comunicación UART <> I2C
6. Modelo de X-NODE
7. Tipo de X-NODE
8. Puerto de programación auxiliar (UART)
9. Puerto de depuración externo (JTAG)
10. Jumpers para selección de modo X-NODE (Esclavo) <> X-BOARD (Maestro)
11. Conectores estándar [mikroBUS™](https://www.mikroe.com/mikrobus)
12. Jumpers para brindar voltaje de 3.3V y 5V en los pines [mikroBUS™](https://www.mikroe.com/mikrobus)
13. Versión del hardware: R5
14. Número de parte del componente principal en el X-NODE

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="171"></th><th></th></tr></thead><tbody><tr><td>Tipo</td><td>BLE + WiFi</td></tr><tr><td>Aplicaciones</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>Módulo</td><td><a href="https://www.espressif.com/sites/default/files/documentation/esp32-s3-wroom-1_wroom-1u_datasheet_en.pdf">SoC ESP32-S3-WROOM-1</a></td></tr><tr><td>Fabricante</td><td>Espressif Systems®</td></tr><tr><td>Características</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>Interfaz</td><td>UART, I2C, SPI, GPIO, USB 2.0 OTG</td></tr><tr><td>Compatibilidad</td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a> y estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a></td></tr><tr><td>Tamaño</td><td>65.17 x 25.4 x 20.5 mm</td></tr><tr><td>Voltaje</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-s3-wroom-1_wroom-1u_datasheet_en.pdf)
{% endhint %}

## **IV. Pinout**

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

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

{% hint style="info" %}
El botón pulsador BOOT se encuentra en el GPIO0, en configuración pull-up.
{% endhint %}

#### Puerto de programación auxiliar

El **X-NODE MCU WIFI BLE (ESP32-S3)** puede programarse y depurarse a través de la interfaz USB tipo C, sin embargo, en aplicaciones donde se utiliza el protocolo USB del microcontrolador puede utilizar el puerto de programación auxiliar para habilitar comunicación UART y el puerto JTAG para la depuración\*.

<figure><img src="/files/jLKMNOlZmZBA3QCJOkOw" alt="" width="375"><figcaption></figcaption></figure>

{% hint style="info" %}
**Nota sobre pines JTAG:** para habilitar los pines para un depurador JTAG externo requiere *quemar* el fusible de configuración *STRAP\_JTAG\_SEL* y conectar el pin GPIO 3 a GND, para volver a habilitar la depuración por USB conecte el pin GPIO 3 a 3.3V. *Quemar* el fusible *DIS\_USB\_JTAG* deshabilitará la depuración por USB permanentemente y permitirá usar un depurador externo.\
Considere que este cambio es permanente por lo que se recomienda utilizar el puerto USB para depuración.
{% endhint %}

{% hint style="danger" %}
**¡ Advertencia !** el pin VCC del puerto de programación auxiliar es 3.3V, si está alimentando el microcontrolador desde el puerto USB o desde la interfaz mikroBUS (5V) **NO** conecte nada al pin VCC. Los pines IO0, RST, TX0 y RX0 tienen un voltaje de operación de 3.3V, utilice los niveles de voltaje correctos o puede dañar el dispositivo.
{% endhint %}

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

Para un uso práctico del X-NODE se utiliza el módulo ESP32-S3 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-S3)** a la computadora por medio del cable USB tipo C 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, presiona la secuencia:\
Presionar el botón RST -> Presionar el botón BOOT -> Soltar el botón RST -> Soltar el botón RST. Al terminar de programar su dispositivo presione el botón RST para ejecutar el programa.

Recuerde habilitar la emulación CDC en BOOT en su entorno de desarrollo para permitir la programación automática.
{% endhint %}

<details>

<summary>Configuración para PlatformIO en VS Code con el framework de Arduino</summary>

1. Descarga e instala Visual Studio Code.

<https://code.visualstudio.com/>

2. Ejecuta VS Code, dirígete al apartado de "**Extensiones**", busca **PlatformIO IDE** e instálalo. Al finalizar la instalación puede que VS Code deba reiniciarse para habilitar la extensión.

<div align="left"><figure><img src="/files/uArN5WKYmhUVl0FNPp6h" alt="" width="302"><figcaption></figcaption></figure></div>

3. Descarga y descomprime la plantilla para utilizar el XC01-R5 con PlatformIO.

<div align="left"><figure><img src="/files/vvp3WDBIXwq9OQopF18q" alt="" width="375"><figcaption></figcaption></figure></div>

4. En VS Code, abre el proyecto desde File->Open Folder. Selecciona la carpeta donde se guardó la plantilla y presiona el botón Seleccionar carpeta.

<div align="left"><figure><img src="/files/cnIrFxLhvFP9IUfGgmEx" alt="" width="375"><figcaption></figcaption></figure></div>

5. Al abrir la carpeta PlatformIO descarga las herramientas necesarias para el módulo ESP32 y puede llevar un poco de tiempo la primera vez.

<div align="left"><figure><img src="/files/1DVNeO5GKNxPViANnI0R" alt="" width="375"><figcaption></figcaption></figure></div>

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

<div align="left"><figure><img src="/files/hdmm8hzHLqyqiz7dmhEK" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

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

1. Descarga e instala Arduino® IDE.

<https://www.arduino.cc/en/software>

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

<div align="left"><figure><img src="/files/3iyKCbYjaVqmRCUwUZii" alt=""><figcaption></figcaption></figure></div>

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

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

<div align="left"><figure><img src="/files/ujpstXP66dP88gf1g7NE" alt="" width="375"><figcaption></figcaption></figure></div>

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

<div align="left"><figure><img src="/files/0XQP6r2qDlMvvftCKUSj" alt="" width="375"><figcaption></figcaption></figure></div>

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

<div align="left"><figure><img src="/files/tHKKzZzUSOig7VXv3HgJ" alt="" width="375"><figcaption></figcaption></figure></div>

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

<div align="left"><figure><img src="/files/ezOOG6dkgWptCavn5Waz" alt="" width="375"><figcaption></figcaption></figure></div>

7. Por último, configura la tarjeta como se muestra en la imagen, selecciona el puerto asignado por el módulo y estará listo para usarse.

<div align="left"><figure><img src="/files/11UHQbwErvtURYYLqCmM" alt="" width="261"><figcaption></figcaption></figure></div>

8. Descarga y descomprime la plantilla para utilizar el XC01-R5 con Arduino IDE.

<div align="left"><figure><img src="/files/enJEX07F4kmO09infpu9" alt="" width="375"><figcaption></figcaption></figure></div>

9. Abre la plantilla desde Arduino IDE y selecciona la opción Guardar Como..., asigna un nuevo nombre a tu proyecto, esta plantilla ejemplifica la configuración de los periféricos (UART, I2C, SPI) para su uso con los pines mikroBUS.

<div align="left"><figure><img src="/files/etM2JpSGXIHJokN16lsD" alt="" width="260"><figcaption></figcaption></figure></div>

</details>

## **VI. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FYGgFo7zmIelFLhBiWTvG%2Fschematic.pdf?alt=media&#x26;token=aeb4e92a-9844-45c9-b8b8-60ae869266f5">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FYGgFo7zmIelFLhBiWTvG%2Fschematic.pdf?alt=media&#x26;token=aeb4e92a-9844-45c9-b8b8-60ae869266f5</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FnKfucillOFYleFbOB2E5%2Fdimensions.pdf?alt=media&#x26;token=2b6119f7-a906-4e7a-8b3d-de3c81d93fca">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FnKfucillOFYleFbOB2E5%2Fdimensions.pdf?alt=media&#x26;token=2b6119f7-a906-4e7a-8b3d-de3c81d93fca</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Plantilla PlatformIO</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FpEC7RvUsygTQioH208cO%2Fxc01-example-platformio.zip?alt=media&#x26;token=9c2a9436-70d1-4f25-a5be-406b79ac18f8">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FpEC7RvUsygTQioH208cO%2Fxc01-example-platformio.zip?alt=media&#x26;token=9c2a9436-70d1-4f25-a5be-406b79ac18f8</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Plantilla Arduino</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FFna3qg1JkgHNs4uhqB9R%2Fxc01-example-arduino.zip?alt=media&#x26;token=f227e7c3-a33e-4687-b18a-802f921aa76a">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FFna3qg1JkgHNs4uhqB9R%2Fxc01-example-arduino.zip?alt=media&#x26;token=f227e7c3-a33e-4687-b18a-802f921aa76a</a></td></tr></tbody></table>


# X-NODE / XC03 – SIM7080G Red celular LTE y GNSS

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/x-node-lte-gnss-sim7080g-48">https://www.microside.com/shop/x-node-lte-gnss-sim7080g-48</a></td></tr></tbody></table>

El **X-NODE LTE GNSS** [**(SIM7080G)**](https://www.simcom.com/product/SIM7080G.html) integra un módulo de conectividad celular [**SIM7080G**](https://www.simcom.com/product/SIM7080G.html) de [**SIMCom®**](https://www.simcom.com/), brindando soluciones CAT-M1 y NB-IoT con cobertura global, geolocalización GPS/GLONASS, ahorro de energía PSM y recepción discontinua eDRX. También cuenta con una eSIM – MFF2 precargada con 50 MB para un uso inmediato, además de una bandeja para microSIM – 3FF (solo es posible utilizar una SIM a la vez). Es ideal para la integración en dispositivos móviles portátiles alimentados por baterías, proyectos de IoT, Industria 4.0 y aplicaciones M2M que requieran baja latencia como medición, seguimiento de activos, monitoreo remoto, E-Health, terminales móviles, etc.

### **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. [**Modo de uso**](#v.-modo-de-uso)
6. [**Descargas**](#vi.-descargas)
   * [**Proyecto de ejemplo**](https://raw.githubusercontent.com/MICROSIDE-TECHNOLOGY/microside_download_archive/main/Code%20Examples/XC03/XC03-Arduino-Project.zip)
   * [**Información técnica**](https://www.simcom.com/product/SIM7080G.html)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F4cnOn7QYgA17peymofBa%2FSCHEMATIC%20X-NODE%20LTE%20GNSS%20SIM7080G.pdf?alt=media\&token=3f645499-83f9-404b-85d8-7a985103ac0e)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FeZbfUNbdvqmR8ZEj50J6%2FDIMENSIONS%20X-NODE%20LTE%20GNSS%20SIM7080G.pdf?alt=media\&token=1e23943c-f7b8-43bb-8b5d-79c7655fb287)

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

El **X-NODE LTE GNSS** [**(SIM7080G)**](https://www.simcom.com/product/SIM7080G.html) cuenta con un conector micro USB para establecer una comunicación con el módulo y lograr el envío de comandos AT o actualización del firmware de manera sencilla. Este X-NODE es compatible con cualquier sistema basado en un microcontrolador, microprocesador o equipos industriales.

**X-NODE LTE GNSS** [**(SIM7080G)**](https://www.simcom.com/product/SIM7080G.html) es compatible con el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) de [**Mikroe®**](https://www.mikroe.com/) para un uso fácil, rápido y sencillo con un gran entorno de kits para desarrollo de hardware, en el también es posible enviar los comandos AT para su funcionamiento.

{% hint style="info" %}
Los comandos AT puedes encontrarlos en la hoja de datos del fabricante a través del siguiente enlace: [**Datos Técnicos**](https://www.simcom.com/product/SIM7080G.html).
{% endhint %}

{% hint style="success" %}
El **X-NODE LTE GNSS** [**(SIM7080G)**](https://www.simcom.com/product/SIM7080G.html) integra una **eSIM precargada con 50 MB y vigencia de 6 meses**, si se ha acabado es posible comprar más MB, solicita tu recarga en:\
[**ventas@microside.com**](mailto:ventas@microside.com)
{% endhint %}

## **II. Descripción del hardware**

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

1. Conectores SMA hembra y U.FL macho para antenas LTE y GPS
2. Módulo SoC [**SIM7080G**](https://www.simcom.com/product/SIM7080G.html)
3. Multiplexor para uso de microSIM o eSIM
4. Selector de entrada para comandos AT, mB (mikroBUS™) <> USB (puerto micro USB)
5. Modo de funcionamiento en el puerto micro USB, AT (Mandar comandos AT) <> FW (Actualizar firmware)
6. eSIM – MFF2 integrada, precargada con 50 MB y vigencia de 6 meses
7. Conector micro USB
8. Push button conectado al pin PWRKEY (Al presionarlo por más de 10 seg se ejecutará RESET)
9. Puerto de comunicación UART
10. Modelo de X-NODE
11. Tipo de X-NODE
12. Jumpers para alimentar el SoC SIM7080G desde el conector mikroBUS™ (3.3VmB) o desde el regulador de la tarjeta (VCC)

{% hint style="danger" %}
**Nota:** NO conectar ambos jumpers a la vez
{% endhint %}

13. &#x20;Test Points:

&#x20; TP1: PWRKEY\
&#x20; TP2: Boot config\
&#x20; TP3: VDD externo\
&#x20; TP4: 3.3V from regulator\
&#x20; TP5: ADC\
&#x20; TP6: I2C (SCL)\
&#x20; TP7: I2C (SDA)\
&#x20; TP8: PCM\_DIN\
&#x20; TP9: PCM\_DOUT\
&#x20; TP10: PCM\_CLK\
&#x20; TP11: PCM\_SYNC

14. Bandeja para tarjeta microSIM – 3FF
15. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
16. Versión de hardware: R1
17. Número de parte del componente principal en el X-NODE

### **Características de conectores SMA y U.FL**

<table><thead><tr><th width="380">Conector SMA:</th><th>Conector IPEx UFL:</th><th data-hidden></th></tr></thead><tbody><tr><td><img src="/files/uboq4ZVDxNiMeYJqLEt9" alt=""></td><td><img src="/files/tjAi1b2AWrpjgKNnQUfM" alt="" data-size="original"></td><td></td></tr><tr><td>Frecuencia máxima: 18 GHz<br>Impedancia: 50 Ohms<br>Polaridad: Standard<br>Género: Hembra</td><td>Serie RF: RP-UMCC<br>Frecuencia máxima: 6 GHz<br>Impedancia: 50 Ohms<br>Polaridad: Reverse</td><td></td></tr></tbody></table>

### **Selección entre conector SMA y U.FL**

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

El **X-NODE LTE GNSS** [**(SIM7080G)**](https://www.simcom.com/product/SIM7080G.html) viene configurado de fábrica para uso con antenas SMA, para utilizar antenas U.FL es necesario cambiar de posición la resistencia que viene cerca de los conectores, esta configuración se debe realizar para cada lado de los conectores (izquierdo-derecho).

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="173"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Comunicación GPS / GLONASS / LTE CAT-M1 / eMTC / NB-IoT</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Integración en proyectos para IoT y aplicaciones M2M de baja latencia, como medición, seguimiento de activos, monitoreo remoto, E-Health, terminales móviles, etc.</td></tr><tr><td><strong>Módulo</strong></td><td><a href="https://www.simcom.com/product/SIM7080G.html">SIM7080G</a></td></tr><tr><td><strong>Fabricante</strong></td><td><a href="https://www.simcom.com/">SIMCom®</a></td></tr><tr><td><strong>Características</strong></td><td><p></p><p>LTE CAT-M1:</p><ul><li>Enlace de subida de hasta 1119 kbps</li><li>Enlace de bajada de hasta 589 kbps</li></ul><p>NB-IoT:</p><ul><li>Enlace de subida de hasta 150 kbps</li><li>Enlace de bajada de hasta 136 kbps</li></ul></td></tr><tr><td>Bandas compatibles</td><td><p><strong>B</strong>anda global LTE CAT-M1:</p><p>B1 / B2 / B3 / B4 / B5 / B8 / B12 / B13 / B14 / B18 / B19 / B20 / B25 /B26 / B27 /B28 / B66 /B85;</p><p>Banda global LTE NB-IoT:</p><p>B1 / B2 / B3 / B4  /B5 / B8 / B12 / B13 / B18 / B19 / B20 / B25 / B26 / B28 / B66 / B71 / B85 ;</p></td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a></td></tr><tr><td><strong>Tamaño</strong></td><td>86.55 x 26.92 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.simcom.com/product/SIM7080G.html)
{% endhint %}

## **IV. Pinout**

La siguiente tabla muestra el pinout del **X-NODE LTE GNSS** [**(SIM7080G)**](https://www.simcom.com/product/SIM7080G.html) con respecto al estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) (este último se encuentra en las dos columnas del centro).

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

## **V. Modo de uso**

Para un uso práctico del X-NODE se utiliza el módulo SIM7080G de forma directa por medio de sus comandos AT, de esta forma es posible brindar una conectividad celular a proyectos utilizando módulos X-NODE o tarjetas de desarrollo con diferentes entornos de programación.

<details>

<summary>Ejemplo de uso con Arduino® IDE y Blynk® IoT</summary>

Para este ejemplo necesitas contar con los siguientes módulos:

* **X-NODE LTE GNSS (SIM7080G) con antena LTE**
* [**X-NODE MCU WIFI BLE (ESP32-WROOM-32)**](https://docs.microside.com/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r4/x-node-xc01-esp32-wroom-controlador-wifi-and-bluetooth-r4)
* [**X-NODE Temp-Hum / Prox-Lum**](https://docs.microside.com/plataforma-xide-iot/x-nodes/xn04-sensores-temperatura-humedad-luminosidad/r1/x-node-xn04-sensores-temperatura-humedad-luminosidad-proximidad-a-r1)

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, en este caso se utiliza Windows.

**1.** Ejecuta Arduino® IDE, abre el ejemplo de Arduino que se encuentra en el apartado “Descargas” del  **X-NODE LTE GNSS (SIM7080G)** y después da clic en “Inicio” > “Preferencias”.

![](/files/In4jQ2qmSQfa0wtVKVCF)

**2.** Inserta el siguiente enlace en el campo de URLs:

```
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
```

<img src="/files/ujpstXP66dP88gf1g7NE" alt="" data-size="original">

&#x20;**3.** Posteriormente da clic en “Herramientas” > “Placa” > “Gestor de tarjetas”.

![](/files/0XQP6r2qDlMvvftCKUSj)

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

<img src="/files/tHKKzZzUSOig7VXv3HgJ" alt="" data-size="original">

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

<img src="/files/ezOOG6dkgWptCavn5Waz" alt="" data-size="original">

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

<img src="/files/11UHQbwErvtURYYLqCmM" alt="" data-size="original">

**7.** Da clic en “Programa” > “Incluir librería” > “Añadir biblioteca.ZIP” e instala la librería X-NODE.zip que se encuentra en la carpeta del proyecto.

<img src="/files/s2kCG69jDOFlSO4508wS" alt="" data-size="original">

<img src="/files/pdFer2mD8jT9vFao58s7" alt="" data-size="original">

**8.** Ahora, conecta tus módulos X-NODE de la siguiente forma

<img src="/files/JmDSMKdRxe1ViFS5y97g" alt="" data-size="original">

</details>

<details>

<summary><strong>Configuración de Blynk® IoT</strong></summary>

**1.** Entra a la página oficial de Blynk®

<https://blynk.io/>

<img src="/files/0m6yAgpBOtvJ7fnPOgut" alt="" data-size="original">

**2.**  Crea una cuenta, si ya posees una accede a ella

<img src="/files/PQyJ1IHn5Aqcr0GgYtfN" alt="" data-size="original">

**3.** Crea un nuevo template.

&#x20;<img src="/files/iNXNgM4PyHXf0pNPWYC3" alt="" data-size="original">

**4.**  Configura cada “Datastream” como se muestra a continuación:

<img src="/files/uY8th6Ih2WWVMEjF9Gv2" alt="" data-size="original">

**5.** Agrega y personaliza los widgets al gusto para cada variable.

<img src="/files/zBraSPBP6xFPXAox6Las" alt="" data-size="original">

**6. Después agrega un nuevo dispositivo desde el template.**

<img src="/files/unG5BUdo7uDtVgGQfsj3" alt="" data-size="original">

<img src="/files/nDLBtZfoy1pfQSCrWF1C" alt="" data-size="original">

**7.** Dirígete a la información del dispositivo, copia el token y agrégalo en el código ejemplo de Arduino® IDE.

<img src="/files/pclmVfUC2GjWI7BXCGyN" alt="" data-size="original">

<img src="/files/truIlnA6nbogvOkzgYN0" alt="" data-size="original">

**8.** Compila y carga el código.

<img src="/files/71QVfJb0Yi2OiDLFQWK1" alt="" data-size="original">

**Nota:** Si la carga no pudo ser concretada, es posible que sea necesario volver a cargar y al mismo tiempo mantener presionado el botón “boot” durante la carga.

Una vez cargado el código, se hace la conexión a la red celular automáticamente, el dispositivo comienza a reportar y se observa los datos enviados a la nube a través del Monitor serial.

<img src="/files/p8N8J3GbKZzGdXRTB6yj" alt="" data-size="original">

Finalmente se visualiza en la plataforma Blynk® de la siguiente forma.

</details>

### **Configuraciones adicionales**

El **X-NODE LTE GNSS (SIM7080G)** está configurado de fábrica para trabajar con eSIM de manera inmediata, por lo que no se necesita realizar alguna configuración adicional. Los siguientes comandos AT son parte de la configuración del **X-NODE LTE GNSS (SIM7080G)**, se utilizan en casos específicos y solo una vez antes de conectarse a la red.

### **Cambio de SIM (Multiplexeo):**

Toma en cuenta que para el uso de una microSIM es necesario conocer el APN con el que se va a trabajar para su configuración.

**eSIM > microSIM:**

&#x20;               AT+SGPIO=0,5,1,1

**microSIM > eSIM:**

&#x20;               AT+SGPIO=0,5,1,0

Se reinicia para finalizar

&#x20;               AT+CFUN=0

&#x20;               AT+CFUN=1

### **Configuración del APN:**

La eSIM puede trabajar con los siguientes APN:

&#x20;               **eSIM Telcel**: m2m.tag.com

&#x20;               **eSIM Multicarrier:** Internet4gd.gdsp

Se configura con el siguiente comando:

&#x20;               AT+CGDCONT=1,”IP”,”APN”

Se reinicia para finalizar

&#x20;               AT+CFUN=0

&#x20;               AT+CFUN=1

Para usar una microSIM, utiliza la misma secuencia de comandos, pero con su respectivo APN.

### **SIM en uso**

Las SIM tienen un identificador único llamado ICCID, es posible verlo con el siguiente comando:

&#x20;               AT+ICCID

## **VI. Descargas**

<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"><mark style="color:green;"><strong>Proyecto de ejemplo</strong></mark></td><td><a href="https://raw.githubusercontent.com/MICROSIDE-TECHNOLOGY/microside_download_archive/main/Code%20Examples/XC03/XC03-Arduino-Project.zip">https://raw.githubusercontent.com/MICROSIDE-TECHNOLOGY/microside_download_archive/main/Code%20Examples/XC03/XC03-Arduino-Project.zip</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Información técnica</strong></mark></td><td><a href="https://www.simcom.com/product/SIM7080G.html">https://www.simcom.com/product/SIM7080G.html</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F4cnOn7QYgA17peymofBa%2FSCHEMATIC%20X-NODE%20LTE%20GNSS%20SIM7080G.pdf?alt=media&#x26;token=3f645499-83f9-404b-85d8-7a985103ac0e">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F4cnOn7QYgA17peymofBa%2FSCHEMATIC%20X-NODE%20LTE%20GNSS%20SIM7080G.pdf?alt=media&#x26;token=3f645499-83f9-404b-85d8-7a985103ac0e</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FeZbfUNbdvqmR8ZEj50J6%2FDIMENSIONS%20X-NODE%20LTE%20GNSS%20SIM7080G.pdf?alt=media&#x26;token=1e23943c-f7b8-43bb-8b5d-79c7655fb287">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FeZbfUNbdvqmR8ZEj50J6%2FDIMENSIONS%20X-NODE%20LTE%20GNSS%20SIM7080G.pdf?alt=media&#x26;token=1e23943c-f7b8-43bb-8b5d-79c7655fb287</a></td></tr></tbody></table>


# X-NODE / XC04 - BG95 M2 Red celular LTE y GNSS

<figure><img src="/files/7ADK7uKtQid0mvMYGBre" alt=""><figcaption></figcaption></figure>

El **X-NODE LTE GNSS (BG95-M2)** integra un módulo de conectividad celular [**BG95-M2**](https://www.quectel.com/product/lpwa-bg95-cat-m1-cat-nb2-egprs-series) de [**Quectel®**](https://www.quectel.com/), brindando soluciones CAT-M1 y NB2-IoT con cobertura global, geolocalización GPS/GLONASS, consumo de energía ultra bajo y soporte para VoLTE (solo en CAT-M1). También cuenta con una **eSIM – MFF2 precargada con 50 MB** para un uso inmediato, además de una bandeja para microSIM – 3FF (solo es posible utilizar una SIM a la vez). Es ideal para la integración en dispositivos móviles portátiles alimentados por baterías, proyectos de IoT, Industria 4.0 y aplicaciones M2M como puntos de venta inalámbricos, medición inteligente en diversas industrias (agricultura, distribución de gas, distribución de agua), seguimiento de activos, monitoreo remoto, etc.

### **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. [**Modo de uso**](#v.-modo-de-uso)
6. [**Descargas**](#vi.-descargas)
   * [**Software QCOM\_v1.6**](https://www.quectel.com/download/qcom_v1-8_en/)
   * [**Esquemático**](https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FTb8MBhighAiOGoMDIqf4%2FSCHEMATIC%20XC04%20-%20LTE%20GNSS%20\(BG95-M2\).pdf?alt=media\&token=ca002f1d-ff25-477a-997c-0cca76af1762)
   * [**Dimensiones**](https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F5UIJC7U9oquFCGfOyFAb%2FDIMENSIONS%20XC04%20-%20LTE%20GNSS%20\(BG95-M2\).pdf?alt=media\&token=00dd0463-6318-4942-b8ed-ac749ea7f8ee)

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

El **X-NODE LTE GNSS (BG95-M2)** cuenta con un conector micro USB para establecer una comunicación con el módulo y lograr el envío de comandos AT o actualización del firmware de manera sencilla. Este X-NODE es compatible con cualquier sistema basado en un microcontrolador, microprocesador o equipos industriales.

**X-NODE LTE GNSS (BG95-M2)** es compatible con el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) de [**Mikroe®**](https://www.mikroe.com/) para un uso fácil, rápido y sencillo con un gran entorno de kits para desarrollo de hardware, en él también es posible enviar los comandos AT para su funcionamiento.

{% hint style="info" %}
Los comandos AT puedes encontrarlos en la hoja de datos del fabricante a través del siguiente enlace: [**Datos Técnicos**](https://www.quectel.com/product/lpwa-bg95-cat-m1-cat-nb2-egprs-series).
{% endhint %}

{% hint style="success" %}
El **X-NODE LTE GNSS (BG95-M2)** integra una **eSIM precargada con 50 MB y vigencia de 6 meses**, si se ha acabado es posible comprar más MB, solicita tu recarga en:  [**ventas@microside.com**](mailto:ventas@microside.com)
{% endhint %}

## **II. Descripción del hardware**

<figure><img src="/files/4EyyUJgHkzB9izcvLmM5" alt=""><figcaption></figcaption></figure>

1. Conectores SMA hembra y U.FL macho para antenas LTE y GNSS
2. Módulo SoC [**BG95-M2**](https://www.quectel.com/product/lpwa-bg95-cat-m1-cat-nb2-egprs-series)
3. Modo de funcionamiento en el puerto micro USB, AT (Mandar comandos AT) <> FW (Actualizar firmware)
4. Selector de entrada para comandos AT, mB ([**mikroBUS™**](https://www.mikroe.com/mikrobus)) <> USB (puerto micro USB)
5. Conector micro USB
6. Puerto de comunicación UART
7. Push button conectado al pin PWRKEY (Al presionarlo por 1 segundo se activará o apagará el módulo y por más de 3 seg se ejecutará RESET)
8. Modelo de X-NODE
9. Tipo de X-NODE
10. Multiplexor para uso de microSIM o eSIM
11. Bandeja para tarjeta microSIM – 3FF
12. eSIM – MFF2 integrada, **precargada con 50 MB y vigencia de 6 meses**
13. Test Points:

&#x20;         TP1: PWRKEY\
&#x20;         TP2: USB Boot\
&#x20;         TP3: 10k Pull to VDD Ext\
&#x20;         TP4: 3.3V from regulator\
&#x20;         TP5: DBG TXD\
&#x20;         TP6: DBG RXD

14. &#x20;Jumpers para alimentar el SoC [**BG95-M2**](https://www.quectel.com/product/lpwa-bg95-cat-m1-cat-nb2-egprs-series) desde el conector [**mikroBUS™**](https://www.mikroe.com/mikrobus) (3.3VmB) o desde el regulador de la tarjeta (VCC)

{% hint style="warning" %}
**Nota**: NO conectar ambos jumpers a la vez
{% endhint %}

15. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
16. Versión de hardware: R1
17. Número de parte del componente principal en el X-NODE

### **Características de conectores SMA y U.FL**

<table><thead><tr><th width="386">Conector SMA:</th><th>Conector IPEx UFL:</th><th data-hidden></th></tr></thead><tbody><tr><td><img src="/files/uboq4ZVDxNiMeYJqLEt9" alt=""></td><td><img src="/files/tjAi1b2AWrpjgKNnQUfM" alt="" data-size="original"></td><td></td></tr><tr><td>Frecuencia máxima: 18 GHz<br>Impedancia: 50 Ohms<br>Polaridad: Standard<br>Género: Hembra</td><td>Serie RF: RP-UMCC<br>Frecuencia máxima: 6 GHz<br>Impedancia: 50 Ohms<br>Polaridad: Reverse</td><td></td></tr></tbody></table>

### **Selección entre conector SMA y U.FL**

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

El **X-NODE LTE GNSS (BG95-M2)** viene configurado de fábrica para uso con antenas SMA, para utilizar antenas U.FL es necesario cambiar de posición la resistencia que viene cerca de los conectores, esta configuración se debe realizar para cada lado de los conectores (izquierdo-derecho).

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="171"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Comunicación GPS / GLONASS / LTE CAT-M1 / NB2-IoT</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Integración en proyectos para IoT y aplicaciones M2M de baja latencia, como medición inteligente, seguimiento de activos, monitoreo remoto, puntos de venta inalámbricos, etc.</td></tr><tr><td><strong>Módulo</strong></td><td><a href="https://www.quectel.com/product/lpwa-bg95-cat-m1-cat-nb2-egprs-series">BG95-M2</a></td></tr><tr><td><strong>Fabricante</strong></td><td><a href="https://www.quectel.com/">Quectel®</a></td></tr><tr><td><strong>Características</strong></td><td><p>LTE CAT-M1:</p><ul><li>Enlace de subida de hasta 1119 kbps</li><li>Enlace de bajada de hasta 588 kbps</li></ul><p>NB1-IoT:</p><ul><li>Enlace de subida de hasta 70 kbps</li><li>Enlace de bajada de hasta 32 kbps</li></ul><p>NB2-IoT:</p><ul><li>Enlace de subida de hasta 158 kbps</li><li>Enlace de bajada de hasta 127 kbps</li></ul></td></tr><tr><td><strong>Bandas compatibles</strong></td><td><p>Banda global LTE CAT-M1:</p><p>B1 / B2 / B3 / B4 / B5 / B8 / B12 / B13 / B18 / B19 / B20 / B25 / B26 / B27 / B28 / B66 / B85;</p><p>Banda global LTE NB-IoT:</p><p>B1 / B2 / B3 / B4 / B5 / B8 / B12 / B13 / B18 / B19 / B20 / B25 / B28 / B66 / B71 / B85;</p></td></tr><tr><td><strong>Interfaz</strong></td><td>UART, USB</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a></td></tr><tr><td><strong>Tamaño</strong></td><td>86.55 x 26.92 x 20.5 mm</td></tr><tr><td><strong>Voltaje</strong></td><td>3.3V </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.quectel.com/product/lpwa-bg95-cat-m1-cat-nb2-egprs-series)
{% endhint %}

## **IV. Pinout**

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

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

## **V. Modo de uso**

Para un uso práctico del X-NODE se utiliza el módulo BG95-M2 de forma directa por medio de sus comandos AT, de esta forma es posible brindar una conectividad celular a proyectos utilizando módulos X-NODE o tarjetas de desarrollo con diferentes entornos de programación.

{% hint style="info" %}
Los comandos AT puedes encontrarlos en la hoja de datos del fabricante a través del siguiente enlace: [**Datos Técnicos**](https://www.quectel.com/product/lpwa-bg95-cat-m1-cat-nb2-egprs-series).
{% endhint %}

### **Ejemplo de uso con terminal serial**

{% hint style="success" %}
Para este ejemplo el **módulo integra una eSIM (SIM virtual) con un plan de datos de 50 MB y vigencia de 6 meses**, listo para conectarse a las redes celulares de IoT y usarse en cualquier momento.
{% endhint %}

Descarga la terminal serial oficial de Quectel ***"QCOM"*** a través del siguiente [**enlace**](https://microside.com/?sdm_process_download=1\&download_id=19421).

Verifica que la antena LTE del **X-NODE LTE GNSS (BG95-M2)** está conectada de manera correcta (por medio del conector SMA o U.FL) y ambos switches estén orientados hacia la etiqueta “USB” (Punto 3 y 4 en “Descripción del Hardware”).

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

Conecta el **X-NODE LTE GNSS (BG95-M2)** a tu computadora y automáticamente aparece un puerto virtual COM, identifícalo entrando al administrador de dispositivos.

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

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

<https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads>
{% endhint %}

Ejecuta la terminal serial **“QCOM”** de Quectel®, elige el puerto COM identificado del **X-NODE LTE GNSS (BG95-M2)** y abre el puerto.

<figure><img src="https://microside.com/wp-content/uploads/2022/07/ubi2.2-740x496.png" alt=""><figcaption></figcaption></figure>

Presiona brevemente el botón **“PK”** del **X-NODE LTE GNSS (BG95-M2)** para encender el módulo y ver los siguientes mensajes:

<figure><img src="https://microside.com/wp-content/uploads/2022/07/ubi3.3-716x496.png" alt=""><figcaption></figcaption></figure>

Lo siguiente es mandar los comandos AT para el funcionamiento del dispositivo.

Importa el archivo “AT\_Example”, para ello da clic en ***Load Test Script*** y selecciona el archivo que se encuentra dentro de la carpeta QCOM\_V1.6, de esta forma se cargará de manera automática una lista de comandos AT básicos.

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

### **Descripción de comandos AT** &#x20;

<table data-header-hidden><thead><tr><th></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td><strong>AT+CFUN=1,1</strong></td><td>Reinicia el módulo.</td><td></td></tr><tr><td><strong>AT+COPS?</strong> </td><td>Pregunta por la red en uso.</td><td></td></tr><tr><td><strong>AT+QPOWD=1</strong></td><td>Apaga el módulo.</td><td></td></tr></tbody></table>

### **Configuraciones adicionales**

El **X-NODE LTE GNSS (BG95-M2)** está configurado de fábrica para trabajar con eSIM de manera inmediata, por lo que no se necesita realizar alguna configuración adicional.&#x20;

Los siguientes comandos AT son parte de la configuración del **X-NODE LTE GNSS (BG95)**, se utilizan en casos específicos y solo una vez antes de conectarse a la red.

### **Cambio de SIM (Multiplexeo)**

Toma en cuenta que para el uso de una microSIM es necesario conocer el APN con el que se va a trabajar para su configuración, consulta a tu proveedor de servicios para obtener dicha información.

&#x20;       **eSIM > microSIM:**

&#x20;                AT+QCFG=”gpio”,1,66,1,0,7,1

&#x20;                AT+QCFG=”gpio”,3,66,1,1

&#x20;       **microSIM > eSIM:**

&#x20;                AT+QCFG=”gpio”,1,66,1,0,7,0

&#x20;                AT+QCFG=”gpio”,3,66,0,0

&#x20;       Se reinicia para finalizar

&#x20;                AT+CFUN=1,1

### &#x20;**Configuración del APN**

La eSIM puede trabajar con los siguientes APN:

&#x20;               **eSIM Telcel**: m2m.tag.com

&#x20;               **eSIM Multicarrier:** Internet4gd.gdsp

Se configura con el siguiente comando:

&#x20;               AT+CGDCONT=1,"IP","APN"

Se reinicia para finalizar

&#x20;               AT+CFUN=1,1

Para usar una microSIM, utiliza la misma secuencia de comandos, pero con su respectivo APN.

### &#x20;**SIM en uso**

&#x20;       Las SIM tienen un identificador único llamado ICCID, es posible verlo con el siguiente comando:

&#x20;                AT+ICCID

## VI. Descargas

<table 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"><mark style="color:green;"><strong>Software QCOM_v1.6</strong></mark></td><td><a href="https://www.quectel.com/download/qcom_v1-8_en/">https://www.quectel.com/download/qcom_v1-8_en/</a></td></tr><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%2FTb8MBhighAiOGoMDIqf4%2FSCHEMATIC%20XC04%20-%20LTE%20GNSS%20(BG95-M2).pdf?alt=media&#x26;token=ca002f1d-ff25-477a-997c-0cca76af1762">https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FTb8MBhighAiOGoMDIqf4%2FSCHEMATIC%20XC04%20-%20LTE%20GNSS%20(BG95-M2).pdf?alt=media&#x26;token=ca002f1d-ff25-477a-997c-0cca76af1762</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%2F5UIJC7U9oquFCGfOyFAb%2FDIMENSIONS%20XC04%20-%20LTE%20GNSS%20(BG95-M2).pdf?alt=media&#x26;token=00dd0463-6318-4942-b8ed-ac749ea7f8ee">https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F5UIJC7U9oquFCGfOyFAb%2FDIMENSIONS%20XC04%20-%20LTE%20GNSS%20(BG95-M2).pdf?alt=media&#x26;token=00dd0463-6318-4942-b8ed-ac749ea7f8ee</a></td></tr></tbody></table>


# X-NODE / XC05 - Adaptador de conexión Click a Qwiic

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://store.microside.com/productos/x-node-click-to-qwiic/">https://store.microside.com/productos/x-node-click-to-qwiic/</a></td></tr></tbody></table>

El **X-NODE Click to Qwiic (Controller – ATMEGA4808)** es un módulo que integra un MCU [ATMEGA4808](https://www.microchip.com/en-us/product/ATMEGA4808) de [Microchip Technology®](https://www.microchip.com/) conformado por un procesador AVR® con características de bajo consumo, sistema de eventos y periféricos avanzados, con 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. Diseñado principalmente como controlador entre [**Click Boards™**](https://www.mikroe.com/click-boards) y herramientas con el estándar de conexión [**Qwiic®**](https://www.sparkfun.com/qwiic). Es ideal para aplicaciones de bajo consumo, aplicaciones móviles, electrónica portátil e Internet de las cosas (IoT) como controlador de sensores, indicadores, actuadores o módulos de comunicación.

### **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. [**Descargas**](#v.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fjro0ZLqNRfxWdU7KMxDn%2FSCHEMATIC%20X-NODE%20CLICK%20TO%20QWIIC.pdf?alt=media\&token=c7b41fd8-738e-4364-b406-a7810afe01b0)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FdpJNWCVKdF5avys9oLM7%2FDIMENSIONS%20X-NODE%20CLICK%20TO%20QWIIC.pdf?alt=media\&token=2c945b9e-de83-4d75-874f-7f9ccc0c9b69)

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

El módulo **X-NODE Click to Qwiic (Controller – ATMEGA4808)** cuenta con un puerto de conexión con el que es posible establecer una comunicación serial rápidamente, y un pin UPDI para programar el MCU de manera sencilla, esto permite que el X-NODE sea compatible con cualquier sistema basado en un microcontrolador, microprocesador o equipos industriales.

**X-NODE Click to Qwiic (Controller – ATMEGA4808)** 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**

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

1. Puerto de conexión (Serial – UPDI)
2. Conectores JST compatibles con  [**Qwiic®**](https://www.sparkfun.com/qwiic)
3. MCU ATMEGA4808 de Microchip Technology®
4. Puertos de comunicación UART <> I2C
5. Modelo de X-NODE
6. LEDs indicadores
7. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
8. Jumpers para selección de modo X-NODE (Esclavo) <> X-BOARD (Maestro)
9. Versión de hardware: R1
10. Número de parte del componente principal en el X-NODE

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="173"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>MCU</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Ideal para aplicaciones de bajo consumo, 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><a href="https://www.microchip.com/en-us/product/ATMEGA4808">ATMEGA4808</a></td></tr><tr><td><strong>Fabricante</strong></td><td><a href="https://www.microchip.com/">Microchip Technology®</a></td></tr><tr><td><strong>Características</strong></td><td>Procesador AVR® de 8 bits con funcionamiento de hasta 20 MHz y 48 KB de memoria Flash, 6 KB de SRAM y 256 bytes de EEPROM.</td></tr><tr><td><strong>Interfaz</strong></td><td>UART, I2C y SPI</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a> y estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a> </td></tr><tr><td><strong>Tamaño</strong></td><td>41 x 25.5 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.microchip.com/en-us/product/ATMEGA4808)
{% endhint %}

## **IV. Pinout**

La siguiente tabla muestra el pinout del **X-NODE Click to Qwiic (Controller – ATMEGA4808)** con respecto al estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) (este último se encuentra en las dos columnas del centro).

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

## **V. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fjro0ZLqNRfxWdU7KMxDn%2FSCHEMATIC%20X-NODE%20CLICK%20TO%20QWIIC.pdf?alt=media&#x26;token=c7b41fd8-738e-4364-b406-a7810afe01b0">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fjro0ZLqNRfxWdU7KMxDn%2FSCHEMATIC%20X-NODE%20CLICK%20TO%20QWIIC.pdf?alt=media&#x26;token=c7b41fd8-738e-4364-b406-a7810afe01b0</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FdpJNWCVKdF5avys9oLM7%2FDIMENSIONS%20X-NODE%20CLICK%20TO%20QWIIC.pdf?alt=media&#x26;token=2c945b9e-de83-4d75-874f-7f9ccc0c9b69">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FdpJNWCVKdF5avys9oLM7%2FDIMENSIONS%20X-NODE%20CLICK%20TO%20QWIIC.pdf?alt=media&#x26;token=2c945b9e-de83-4d75-874f-7f9ccc0c9b69</a></td></tr></tbody></table>


# X-NODE / XC08 - BG95 M3 Red celular 2G, LTE y GNSS

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

El **X-NODE 2G LTE GNSS (BG95-M3)** integra un módulo de conectividad celular [**BG95-M3**](https://www.quectel.com/product/lpwa-bg95-cat-m1-cat-nb2-egprs-series) de [**Quectel®**](https://www.quectel.com/), brindando soluciones **EGPRS, CAT-M1 y NB2-IoT** con cobertura global, geolocalización **GPS/GLONASS**, consumo de energía ultra bajo y soporte para **VoLTE** (solo en CAT-M1). Cuenta con una una bandeja para **nanoSIM – 4FF,** además de un footprint para **eSIM – MFF2 (No incluida)**. También cuenta con un administrador e indicador de carga de baterías lo que lo convierte en una solución ideal para la integración en dispositivos móviles portátiles, proyectos de IoT, Industria 4.0 y aplicaciones M2M como puntos de venta inalámbricos, medición inteligente en diversas industrias (agricultura, distribución de gas, distribución de agua), seguimiento de activos, monitoreo remoto, etc.

### **TABLA DE CONTENIDO**

1. [**¿Cómo funciona?**](#i.-como-funciona)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
3. [**Especificaciones**](#iii.-especificaciones)
   * [**Características de conectores SMA y U.FL**](#caracteristicas-de-conectores-sma-y-u.fl)
4. [**Pinout**](#iv.-pinout)
5. [**Configuración**](#v.-modo-de-uso)
   * [**Selección entre conector SMA y U.FL**](#id-1.-seleccion-entre-conector-sma-y-u.fl)
   * [**Selección del voltaje de alimentación**](#id-2.-seleccion-del-voltaje-de-alimentacion)
   * [**Insertar la batería**](#id-3.-insertar-la-bateria)
   * [**Selección del puerto de comunicación**](#id-4.-seleccion-del-puerto-de-comunicacion)
   * [**Selección de la tarjeta SIM**](#id-5.-seleccion-de-la-tarjeta-sim)
   * [**Configuración de la operadora**](#id-6.-configuracion-de-la-operadora)
   * [**Configuración del APN**](#id-7.-configuracion-del-apn)
6. [**Ejemplo de uso**](#vi.-ejemplo-de-uso)
   * [**Ping a un servidor remoto**](#ping-a-un-servidor-remoto)
   * [**Protocolo MQTT sobre comandos AT**](#protocolo-mqtt-sobre-comandos-at)
   * [**Protocolo MQTT con TinyGSM en Arduino Framework**](#protocolo-mqtt-con-tinygsm-en-arduino-framework)
   * [**GNSS sobre AT**](#gnss-sobre-at)
   * [**GNSS con TinyGSM en Arduino Framework**](#gnss-con-tinygsm-en-arduino-framework)
   * [**Indicador de carga de batería**](#indicador-de-carga-de-bateria)
   * [**Ciclo de aprendizaje de la batería**](#ciclo-de-aprendizaje-de-la-bateria)
   * [**Ejemplo Indicador de carga con Arduino Framework**](#ejemplo-indicador-de-carga-con-arduino-framework)
7. [**Solución de problemas y preguntas frecuentes**](#vii.-solucion-de-problemas-y-preguntas-frecuentes)
8. [**Descargas**](#vi.-descargas)
   * [**Software QCOM\_v1.6**](https://www.quectel.com/download/qcom_v1-8_en/)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FNwfqiWCrn3x28Ir4TLzV%2Fxc08-r2-schematic.pdf?alt=media\&token=f6f17b00-b2ba-4573-8229-75452feac9b6)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FQzuHmnHsJcnfGMRbNHBb%2Fxc08-r2-dimensions.pdf?alt=media\&token=cb1ffdd7-c30b-4341-a208-a77d8ed6fe86)

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

El **X-NODE 2G LTE GNSS (BG95-M3)** cuenta con un conector **USB tipo C** para establecer una comunicación con el módulo [**BG95-M3**](https://www.quectel.com/product/lpwa-bg95-cat-m1-cat-nb2-egprs-series) de [**Quectel®**](https://www.quectel.com/) y para controlar/actualizar el dispositivo. Este módulo integra una antena conmutada para transmisión/recepción de datos y geolocalización, **solo una antena** puede utilizarse a la vez.

Este X-NODE es compatible con cualquier sistema basado en un microcontrolador, microprocesador o equipos industriales. **X-NODE 2G LTE GNSS (BG95-M3)** es compatible con el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) de [**Mikroe®**](https://www.mikroe.com/) para un uso fácil, rápido y sencillo con un gran entorno de kits para desarrollo de hardware. Cuenta con bandeja para **nanoSIM – 4FF** y un footprint para **eSIM MFF2 (No incluida)**, solo es posible utilizar una SIM a la vez, consulte la sección Selección de la tarjeta SIM para configurar la SIM a utilizar.

{% hint style="danger" %}
El **X-NODE 2G LTE GNSS (BG95-M3)** puede incluir una **tarjeta SIM precargada con un plan de datos**, [consulte el plan y la vigencia al momento de realizar la compra del dispositivo](https://www.microside.com/shop), si se ha acabado es posible comprar más MB, solicita tu recarga en la página o a través de: [**ventas@microside.com**](mailto:ventas@microside.com). Considere que si el plan de datos de la tarjeta **nanoSIM** no se renueva por un largo periodo de tiempo la tarjeta SIM puede **desactivarse** definitivamente sin previo aviso.
{% endhint %}

Ideal para la integración en dispositivos móviles portátiles gracias a su administrador e indicador de carga para baterías Li-Po/Li-Ion de una sola celda (revise la polaridad/composición de la batería antes de insertarla).

El administrador de carga [MCP7383](https://ww1.microchip.com/downloads/en/DeviceDoc/MCP73831-Family-Data-Sheet-DS20001984H.pdf) de [Microchip Technology®](https://www.microchip.com/) entrega una corriente de carga de hasta 500mA. El indicador de carga de batería I2C [BQ27441](https://www.ti.com/lit/gpn/bq27441-g1) de [Texas Instruments](https://www.ti.com/) permite medir características de baterías de hasta 8000 mAh.

Para hacer uso del dispositivo debe utilizar comandos **AT** o protocolo punto a punto (**PPPoS**), puede encontrar la especificación completa en la hoja de datos del fabricante a través del siguiente enlace: [**Datos Técnicos**](https://www.quectel.com/product/lpwa-bg95-cat-m1-cat-nb2-egprs-series).

## **II. Descripción del hardware**

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

1. Conectores SMA hembra y U.FL macho para antenas LTE y GNSS
2. Módulo SoC [**BG95-M3**](https://www.quectel.com/product/lpwa-bg95-cat-m1-cat-nb2-egprs-series)
3. Indicador del estado de carga de batería (<mark style="color:red;">**CHG**</mark>)
4. Selector de entrada para comandos **AT**, **mB** ([**mikroBUS™**](https://www.mikroe.com/mikrobus)) <> **USB** (puerto USB tipo C)
5. Modo de funcionamiento en el puerto USB tipo C, **AT** (Mandar comandos AT) <> **FW** (Actualizar firmware)
6. Conector USB tipo C
7. Push button conectado al pin **PWRKEY** (Al presionarlo por 1 segundo se activará o apagará el módulo y por más de 3 segundos se ejecutará RESET)
8. Puerto de comunicación UART e I2C
9. Modelo de X-NODE
10. Tipo de X-NODE
11. Multiplexor para selección entre **nanoSIM** o **eSIM**
12. Bandeja para tarjeta **nanoSIM – 4FF**
13. Footprint para **eSIM – MFF2** (eSIM no incluida)
14. Jumper para habilitar/deshabilitar el administrador e indicador de baterías.
15. Test Points: TP1: PWRKEY\
    TP2: USB Boot\
    TP3: 10k Pull to VDD Ext\
    TP4: 3.3V from regulator\
    TP5: DBG TXD\
    TP6: DBG RXD\
    TP7: VDD Ext
16. Indicador de carga de batería [**BQ27441**](https://www.ti.com/lit/gpn/bq27441-g1) de [**Texas Instruments**](https://www.ti.com/)
17. Conector JST PHR-2 de 2mm para uso con baterías Li-Po/Li-Ion de una celda.
18. Jumpers para alimentar el SoC [**BG95-M3**](https://www.quectel.com/product/lpwa-bg95-cat-m1-cat-nb2-egprs-series) desde el conector [**mikroBUS™**](https://www.mikroe.com/mikrobus) (3.3VmB) o desde el regulador de la tarjeta (VCC).

{% hint style="danger" %}
**¡ Advertencia !**: Revise la sección [Configuración](#v.-configuracion) antes de conectar el dispositivo y suelde los jumpers apropiadamente.
{% endhint %}

19. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
20. Versión de hardware: **R2**
21. Número de parte del componente principal en el **X-NODE**

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="205"></th><th></th></tr></thead><tbody><tr><td>Tipo</td><td>Comunicación GPS / GLONASS / EGPRS / LTE CAT-M1 / NB2-IoT</td></tr><tr><td>Aplicaciones</td><td>Integración en proyectos para <strong>IoT</strong> y aplicaciones <strong>M2M</strong> de bajo consumo, como medición inteligente, seguimiento de activos, monitoreo remoto, puntos de venta inalámbricos, etc.</td></tr><tr><td>Módulo</td><td><a href="https://www.quectel.com/product/lpwa-bg95-cat-m1-cat-nb2-egprs-series">BG95-M3</a></td></tr><tr><td>Fabricante</td><td><a href="https://www.quectel.com">Quectel®</a></td></tr><tr><td>Características</td><td><strong>EDGE:</strong><br>* Enlace de subida de hasta 236.8 kbps<br>* Enlace de bajada de hasta 296 kbps<br><strong>GPRS:</strong><br>* Enlace de subida de hasta 85.5 kbps<br>* Enlace de bajada de hasta 107 kbps<br><strong>LTE CAT-M1:</strong><br>* Enlace de subida de hasta 1119 kbps<br>* Enlace de bajada de hasta 588 kbps<br><strong>NB1-IoT:</strong><br>* Enlace de subida de hasta 70 kbps<br>* Enlace de bajada de hasta 32 kbps<br><strong>NB2-IoT:</strong><br>* Enlace de subida de hasta 158 kbps<br>* Enlace de bajada de hasta 127 kbps</td></tr><tr><td>Bandas compatibles</td><td><strong>EGPRS:</strong><br>GSM 850 / EGSM 900 / DCS 1800 / PCS 1900<br><strong>Banda global LTE CAT-M1:</strong><br>B1 / B2 / B3 / B4 / B5 / B8 / B12 / B13 / B18 / B19 / B20 / B25 / B26 / B27 / B28 / B66 / B85;<br><strong>Banda global LTE NB-IoT:</strong><br>B1 / B2 / B3 / B4 / B5 / B8 / B12 / B13 / B18 / B19 / B20 / B25 / B28 / B66 / B71 / B85;</td></tr><tr><td>Administrador de carga</td><td><a href="https://ww1.microchip.com/downloads/en/DeviceDoc/MCP73831-Family-Data-Sheet-DS20001984H.pdf">MCP7383</a></td></tr><tr><td>Fabricante</td><td><a href="https://www.microchip.com/">Microchip Technology®</a></td></tr><tr><td>Características</td><td>Para baterías LiPo-Li-Ion de una sola celda, corriente de carga de hasta 500 mA. Con detección de batería automática y mecanismo de recarga automático.</td></tr><tr><td>Indicador de carga de batería</td><td><a href="https://www.ti.com/lit/gpn/bq27441-g1">BQ27441</a></td></tr><tr><td>Fabricante</td><td><a href="https://www.ti.com/">Texas Instruments</a></td></tr><tr><td>Características</td><td>Para baterías LiPo-Li-Ion de una sola celda de hasta 8000mAh, permite medir: estado de carga (SoC), estado de salud (SoH), capacidad (mAh), voltaje (mV) y corriente de carga/descarga (mA).</td></tr><tr><td>Interfaz</td><td>UART, USB, I2C</td></tr><tr><td>Compatibilidad</td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a></td></tr><tr><td>Tamaño</td><td>86.55 x 26.92 x 20.5 mm</td></tr><tr><td>Voltaje</td><td>3.3 VDC</td></tr></tbody></table>

### **Características de conectores SMA y U.FL**

| Conector SMA:                                                                                    | Conector IPEx UFL:                                                                                |
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------- |
| ![](/files/uboq4ZVDxNiMeYJqLEt9)                                                                 | ![](/files/tjAi1b2AWrpjgKNnQUfM)                                                                  |
| <p>Frecuencia máxima: 18 GHz<br>Impedancia: 50 Ohms<br>Polaridad: Standard<br>Género: Hembra</p> | <p>Serie RF: RP-UMCC<br>Frecuencia máxima: 6 GHz<br>Impedancia: 50 Ohms<br>Polaridad: Reverse</p> |

## **IV. Pinout**

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

La siguiente tabla muestra el pinout del **X-NODE 2G LTE GNSS (BG95-M3)** con respecto al estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) (este último se encuentra en las dos columnas del centro)

* **WK**: Pin GPOUT del indicador de baterías, puede configurarse por software para salir del modo de apagado del indicador o para indicar cuando la batería está por agotarse.
* **PK**: PWRKEY del módulo celular, enviar un 1 lógico (3.3VDC) a este pin permite encender, apagar y reiniciar el módulo.
* **TX** y **RX**: Puerto de comunicación para enviar comandos AT.
* **SCL** y **SDA**: Puerto de comunicación del indicador de batería.
* **5V**: Voltaje de alimentación 5VDC, si el jumper VCC está conectado este pin servirá para alimentar el módulo.
* **3V3**: Voltaje de funcionamiento del módulo 3.3VDC, si el jumper 3V3 mB está conectado este pin servirá para alimentar el módulo.

## **V. Configuración**

{% hint style="danger" %}
**¡ Advertencia !**: Lea cuidadosamente las siguientes instrucciones antes de operar el equipo y consúltelas si es necesario para garantizar el correcto funcionamiento del mismo. No hacerlo puede resultar en lesiones, daños a la propiedad o destrucción del dispositivo.
{% endhint %}

### **1. Selección entre conector SMA y U.FL**

El **X-NODE 2G LTE GNSS (BG95-M3)** viene configurado de fábrica para uso con antenas **SMA**, para utilizar antenas **U.FL** es necesario cambiar de posición la resistencia que viene cerca de los conectores, puede configurar la antena **LTE** y **GNSS** por separado para utilizar diferentes tipos de antena.&#x20;

{% hint style="warning" %}
Considere que cambiar el tipo de antena requiere habilidades para soldar componentes de montaje superficial (SMD).
{% endhint %}

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

También considere que los conectores **U.FL** tienen **menos ciclos de acoplamiento**, típicamente unas cuantas decenas de ciclos, mientras que los conectores **SMA** tienen típicamente al menos 100 ciclos. Superar el número de ciclos de acoplamiento resultará en una unión más frágil y propensa a desconectarse, además de causar una pérdida del rendimiento de la antena.

Se recomienda utilizar el conector **SMA** durante la etapa de pruebas y solo utilizar el conector **U.FL** durante el despliegue del dispositivo y solo si es absolutamente necesario. Si el módulo tiene problemas de cobertura revise que la antena instalada coincida con la antena seleccionada con la resistencia SMD.

### **2. Selección del voltaje de alimentación**

El **X-NODE 2G LTE GNSS (BG95-M3)** tiene cuatro fuentes de alimentación:

1. 5VDC a través del puerto USB tipo C
2. 5VDC a través del pin 5V en el zócalo [**mikroBUS™**](https://www.mikroe.com/mikrobus)
3. 3.3-4.2 VDC de una batería tipo Li-Po/Li-Ion a través del conector JST PHR-2 de 2mm.
4. 3.3VDC a través del pin 3V3 en el zócalo [**mikroBUS™**](https://www.mikroe.com/mikrobus)

Es importante configurar correctamente los jumpers soldables VCC, 3V3mB y EN para obtener el comportamiento deseado.

<details>

<summary>Pruebas de escritorio</summary>

Esta es la configuración por defecto y le permite probar todas las funcionalidades del dispositivo de manera segura. Configure los jumpers <mark style="color:green;">**VCC y EN**</mark>, desuelde el jumper **3V3mB** como se muestra en la figura:

<figure><img src="/files/oIQzVTDfO6FKfUzDa4HL" alt="" width="375"><figcaption></figcaption></figure>

En esta configuración el **X-NODE 2G LTE GNSS (BG95-M3)** puede alimentarse y **cargar la batería desde el puerto USB tipo C o el pin 5V** del zócalo [**mikroBUS™**](https://www.mikroe.com/mikrobus), pero desconectará la salida de 3.3VDC hacia el pin 3V3 del zócalo [**mikroBUS™**](https://www.mikroe.com/mikrobus). Bajo esta configuración la batería solo alimentará al **X-NODE 2G LTE GNSS (BG95-M3)** pero no otros dispositivos. Esta configuración es útil durante la etapa de desarrollo o si su sistema no puede entregar suficiente corriente para la transmisión/recepción de datos, la batería entregará la corriente faltante y se cargará mientras el dispositivo no esté en uso. Se recomienda cambiar esta configuración a otra más apropiada al desplegar la solución.

**Uso recomendado**: Durante la etapa de desarrollo para probar el funcionamiento del dispositivo de manera segura.

</details>

<details>

<summary>Dispositivo portátil: 5VDC + Batería Li-Po/Li-Ion</summary>

Configure todos los jumpers: <mark style="color:green;">**VCC, 3V3mB y EN**</mark> como se muestra en la figura:

<figure><img src="/files/ofefi27UBSK73hFdu9Ol" alt="" width="375"><figcaption></figcaption></figure>

En esta configuración el **X-NODE 2G LTE GNSS (BG95-M3)** puede alimentarse y **cargar la batería desde el puerto USB tipo C o el pin 5V** del zócalo [**mikroBUS™**](https://www.mikroe.com/mikrobus) y regulará un voltaje de 3.3VDC hacia el pin 3V3 del zócalo [**mikroBUS™**](https://www.mikroe.com/mikrobus) con una salida **máxima de&#x20;**<mark style="color:red;">**100mA**</mark>**&#x20;en redes 2G y&#x20;**<mark style="color:red;">**300mA**</mark>**&#x20;en redes LTE/NB**. Bajo esta configuración deberá **desactivar** cualquier otro regulador de 3.3VDC en el zócalo [**mikroBUS™**](https://www.mikroe.com/mikrobus), no hacerlo puede destruir el regulador integrado. **NO debe conectar** motores, servomotores, relevadores o cualquier tipo de carga inductiva o cargas superiores a <mark style="color:red;">**100mA**</mark> si utiliza **2G** o <mark style="color:red;">**300mA**</mark> si utiliza **LTE/NB**.

**Uso recomendado**: Sistemas de monitoreo portátiles de bajo consumo de corriente, dispositivos de uso personal, equipos de laboratorio, puntos de venta inalámbricos.

</details>

<details>

<summary>Fuente externa de 5VDC</summary>

Configure únicamente el jumper <mark style="color:green;">**VCC**</mark>, desuelde los jumpers **3V3mB y EN** como se muestra en la figura:

<figure><img src="/files/xpepQ4RfS5uTvCOD97cl" alt="" width="375"><figcaption></figcaption></figure>

En esta configuración el **X-NODE 2G LTE GNSS (BG95-M3)** se **alimenta desde el puerto USB tipo C o el pin 5V** del zócalo [**mikroBUS™**](https://www.mikroe.com/mikrobus), pero <mark style="color:red;">**no carga la batería**</mark>. Esto es útil si el sistema ya cuenta con una batería o una fuente de poder de mayor voltaje, en ese caso necesitará un regulador para entregar 5VDC y 3.3VDC al zócalo [**mikroBUS™**](https://www.mikroe.com/mikrobus), por ejemplo, nuestro **XN14 - Fuente de Alimentación 24V DC** admite fuentes de voltaje desde 7VDC hasta 24VDC. También al deshabilitar la carga de la batería la dirección I2C del indicador de la batería se deshabilita (**0x55**), esto puede <mark style="color:$success;">**resolver conflictos**</mark> si cuenta con otro dispositivo que utilice la **misma dirección I2C**.

**Uso recomendado**: Sistemas de monitoreo y control de mediano/alto consumo energético como robots, sistemas con motores eléctricos, electroválvulas, contactores, relevadores, rastreadores en vehículos.

</details>

<details>

<summary>Fuente externa de 3.3VDC</summary>

Configure únicamente el jumper <mark style="color:green;">**3V3mB**</mark>, desuelde los jumpers **VCC y EN** como se muestra en la figura:

<figure><img src="/files/IybfFYzo8Uzgus1ZFRGY" alt="" width="375"><figcaption></figcaption></figure>

En esta configuración el **X-NODE 2G LTE GNSS (BG95-M3)** se alimenta desde el pin 3V3 del zócalo [**mikroBUS™**](https://www.mikroe.com/mikrobus), no carga la batería y se desactiva el regulador LDO. Esto es útil si el sistema ya cuenta con una fuente de 3.3VDC de al menos 2 amperios y un administrador de baterías de alta eficiencia energética. También al deshabilitar la carga de la batería la dirección I2C del indicador de la batería se deshabilita (**0x55**), que puede <mark style="color:$success;">**resolver conflictos**</mark> si cuenta con otro dispositivo que utilice la **misma dirección I2C**.

**Uso recomendado**: Sistemas de ultra bajo consumo energético que se encuentran en zonas aisladas o de difícil acceso, sin disponibilidad de redes de energía eléctrica. Sistemas alimentados por paneles solares, baterías de alta capacidad que no son recargables o baterías recargables de otro tipo de composición química, p.ej. plomo-ácido, NiCd, NiMH, o paquetes de 2 o más baterías en configuración serie/paralelo.

</details>

### **3. Insertar la batería**

Estas instrucciones solo aplican si el módulo se encuentra en la configuración [**Pruebas de escritorio**](#id-2.-seleccion-del-voltaje-de-alimentacion) o [**5VDC + Batería Li-Po/Li-Ion**](#id-2.-seleccion-del-voltaje-de-alimentacion), si no lo ha hecho, <mark style="color:red;">**lea cuidadosamente el paso anterior**</mark>.

{% hint style="danger" %}
**¡ Advertencia !**: Es importante que revise la polaridad antes de conectar la batería. No hacerlo puede dañar el módulo, causar fuego o explosión de la batería.

Solo conecte baterías tipo Li-Po o Li-Ion de **una celda**, nunca conecte baterías no recargables, baterías de múltiples celdas o baterías recargables de otro tipo de composición química.
{% endhint %}

Para usar la batería asegúrese de soldar los jumpers VCC, 3V3mB y EN de acuerdo a la configuración 5VDC + Batería Li-Po/Li-Ion. Se recomienda utilizar una batería con circuito de protección integrado (PCM), común en las baterías Li-Po.

**Revise que la polaridad** de la batería sea correcta, de ser necesario puede invertir la polaridad del conector PH de 2.0mm en la batería, no es necesario cortar ni soldar, simplemente retire los pines metálicos y reubíquelos en la posición correcta.

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

Inserte la batería, para cargar solo conecte el cable USB tipo C a un regulador o una computadora, el indicador <mark style="color:red;">**CHG**</mark> se iluminará durante la carga y se apagará al finalizar.

### **4. Selección del puerto de comunicación**

El **X-NODE 2G LTE GNSS (BG95-M3)** cuenta con 2 interfaces de comunicación para su uso y configuración, el puerto de comandos **AT** y el puerto compuesto **USB**.

* **Puerto de comandos AT**: La comunicación utiliza el protocolo UART con la siguiente configuración:\
  Velocidad de comunicación: 115,200 bps\
  Paridad: Ninguna\
  Bits de datos: 8\
  Bits de paro: 1

{% hint style="info" %}
Los comandos AT puede encontrarlos en la hoja de datos del fabricante a través del siguiente enlace: [**Datos Técnicos**](https://www.quectel.com/product/lpwa-bg95-cat-m1-cat-nb2-egprs-series).
{% endhint %}

* **Puerto compuesto USB**: La comunicación utiliza el protocolo USB2.0 creando un dispositivo compuesto con hasta 4 interfaces:\
  **USB DM**: Puerto de depuración, permite enviar y recibir comandos AT.\
  **NMEA**: Puerto para recibir sentencias de geolocalización en formato NMEA.\
  **Módem**: Configurable con uno o dos puertos de módem bajo CDC ACM.\
  **RmNet**: Puerto de red remota **R**e**m**ote **Net**work, puerto de control y datos para la gestión de datos inalámbricos y comunicación con la tarjeta SIM, requiere un driver USB compatible con mensajes QMI (Qualcomm MSM Interface).\
  **ECM**: Puerto de comunicación bajo la clase USB CDC-Ethernet, lo que permite emular una interfaz de red Ethernet a través del puerto USB.

El puerto de comandos AT se recomienda para pruebas de escritorio y para microcontroladores con poca memoria o que no cuenten con periférico USB2.0 con modo huésped. El puerto compuesto USB se recomienda para sistemas que ejecuten Linux embebido.

Para configurar el puerto de comunicación el **X-NODE 2G LTE GNSS (BG95-M3)** cuenta con dos interruptores: **AT** y **FW**.

<details>

<summary>AT sobre USB</summary>

Esta es la configuración por defecto, le permite comunicarse con el módulo utilizando el puente USB a serial integrado utilizando comandos **AT** o protocolo **PPP**, ambos interruptores deben encontrarse en la posición **USB**:

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

En esta configuración el **X-NODE 2G LTE GNSS (BG95-M3)** enumera una interfaz de comunicación serial (CDC-RS232) al conectarse a través del puerto USB tipo C. Para utilizar el dispositivo deberá tener instalado el driver de [Silicon Labs CP210x](https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads), en macOS deberá reiniciar el equipo después de la instalación, en Linux deberá contar con privilegios de super usuario. Puede seguir nuestra guía para instalar estos drivers en el siguiente [enlace](https://docs.microside.com/ambientes-de-programacion-ides/platformio-ide-visual-studio-code#instalar-driver-usb-silicon-labs).

Puede identificar el puerto de comunicación con el nodo en Windows revisando el **Administrador de dispositivos**:

En el caso de macOS puede utilizar el comando:

```
ls -lha /dev/tty*
```

y en Linux el comando:

```
dmesg | grep tty
```

**Uso recomendado**: Permite seleccionar la tarjeta SIM a utilizar, editar configuración de la operadora/APN y explorar el funcionamiento de los comandos AT.

</details>

<details>

<summary>AT sobre mikroBUS™</summary>

Esta configuración le permite hacer lo mismo que la configuración **AT sobre USB** a través del puerto [mikroBUS™](https://www.mikroe.com/mikrobus), el interruptor **AT** deben encontrarse en la posición **mB**, la posición del interruptor **FW** es irrelevante:

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

En esta configuración el **X-NODE 2G LTE GNSS (BG95-M3)** se comunica utilizando el protocolo UART usando comandos **AT** o protocolo **PPP**.

**Uso recomendado**: En proyectos que requieran comunicación celular utilizando microcontroladores con poca cantidad de memoria o que no cuenten con periférico USB2.0 con modo huésped.

</details>

<details>

<summary>Modem sobre USB</summary>

Esta configuración enumera un dispositivo compuesto USB, lo que le permite tener hasta 4 interfaces de 5 tipos: USB DM, NMEA, Modem, RmNet y ECM. Revise el comando **AT+QCFGEXT="usbnet"** del manual [**Quectel\_BG95\&BG77\&BG600L\_Series\_QCFGEXT\_AT\_Commands\_Manual**](https://www.quectel.com/product/lpwa-bg95-cat-m1-cat-nb2-egprs-series/) para obtener más información.

El interruptor **FW** deben encontrarse en la posición **FW**, la posición del interruptor **AT** debe encontrarse en la posición USB:

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

En esta configuración el **X-NODE 2G LTE GNSS (BG95-M3)** enumera un dispositivo compuesto al conectarse a través del puerto USB tipo C, dependiendo de la configuración **AT+QCFGEXT="usbnet"** el dispositivo requerirá una serie de drivers genéricos y propietarios que pueden encontrarse en la sección de drivers en la [página del fabricante](https://www.quectel.com/product/lpwa-bg95-cat-m1-cat-nb2-egprs-series/). Este puerto también permite realizar actualizaciones de firmware con la herramienta [QFlash](https://www.quectel.com/download/qflash_v7-5_en/).

**Uso recomendado**: En proyectos que requieran comunicación celular de baja potencia y área amplia (LPWA), con sistemas que ejecuten Linux embebido o computadoras de una sola tarjeta o durante el proceso de actualización del módulo.

</details>

### **5. Selección de la tarjeta SIM**

El **X-NODE 2G LTE GNSS (BG95-M3)** cuenta con una una bandeja para **nanoSIM – 4FF** y un footprint para soldar una **eSIM**, sin embargo, **solo puede usar una SIM a la vez**, al cambiar entre SIM deberá reiniciar el módulo y después **reconfigurar la operadora y el APN**.

El proceso requiere enviar comandos AT, por lo que requerirá una terminal serial, puede utilizar la terminal serial oficial de Quectel ***"QCOM"*** para Windows a través del siguiente [**enlace**](https://microside.com/?sdm_process_download=1\&download_id=19421), para macOS o Linux puede usar cualquier terminal serial, incluso la terminal de <mark style="color:blue;">**ArduinoIDE**</mark>.

En el **X-NODE 2G LTE GNSS (BG95-M3)** configure el puerto de comunicación en modo **AT sobre USB** y conecte el dispositivo a la computadora, no olvide **instalar los drivers** y colocar las antenas si no lo ha hecho todavía.

<figure><img src="/files/n7HBOC2IUszO1mKzbaN5" alt="" width="328"><figcaption></figcaption></figure>

Si está en Windows ejecute **QCOM**, en Linux/macOS ejecute la terminal serial, configure la comunicación con los siguientes parámetros:<br>

* Velocidad de comunicación: 115,200 bps
* Paridad: Ninguna
* Bits de datos: 8
* Bits de paro: 1
* Send with Enter/Send with CRLF

Después abra el puerto, en **QCOM** presione el botón **Open Port**, si la comunicación es correcta se mostrará el mensaje:

```
Open COM Port Success
```

Si tiene problemas consulte la sección de [Solución de problemas y preguntas frecuentes](#solucion-de-problemas-y-preguntas-frecuentes).

Inserte la tarjeta SIM en la bandeja para **nanoSIM – 4FF**, después presione brevemente el botón "PK" del **X-NODE 2G LTE GNSS (BG95-M3)** para encender el módulo, si la configuración es correcta se mostrarán los siguientes mensajes:

```
RDY

APP RDY
```

En **QCOM** escriba el comando en el campo **Input String**, marque la casilla **Send With Enter**, desmarque la casilla **HEX String** y presione el botón **Send Command** para enviar comandos.

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

Para identificar la SIM seleccionada actualmente envíe el siguiente comando **AT+ICCID**, la respuesta mostrará el identificador de la tarjeta SIM, este número es importante para **administrar la tarjeta SIM** y solicitar recargas.

```
AT+ICCID
```

```
+ICCID: xxxxxxxxxxxxxxxxxxxx

OK
```

Si la respuesta muestra un error 13 y si la **tarjeta nanoSIM** está correctamente insertada, entonces significa que la tarjeta SIM configurada es la **eSIM**. Para el resto de los códigos de error revise la nota de aplicación [**Quectel\_BG95BG77BG600L\_Series\_AT\_Commands\_Manual**](https://www.quectel.com/product/lpwa-bg95-cat-m1-cat-nb2-egprs-series/) sección 23.5. Summary of CME ERROR Codes.

```
+CME ERROR: 13
```

El multiplexor de la tarjeta SIM se controla por el pin 66 del módulo, para cambiar la SIM configurada deberá enviar comandos para controlar este pin, recuerde que para usar una tarjeta **eSIM** deberá soldar una en el footprint destinado para este propósito, a continuación, se muestran los comandos para seleccionar la tarjeta SIM actual:

<details>

<summary>Utilizar la eSIM</summary>

Inicializa el Pin 66 como salida

```
AT+QCFG="gpio",1,66,1,0,7,1
```

Escribe 0 en el pin 66

```
AT+QCFG="gpio",3,66,0,1
```

Reinicia el módulo para aplicar los cambios

```
AT+CFUN=1,1
```

</details>

<details>

<summary>Utilizar la nanoSIM</summary>

Inicializa el Pin 66 como salida

```
AT+QCFG="gpio",1,66,1,0,7,1
```

Escribe 1 en el pin 66

```
AT+QCFG="gpio",3,66,1,1
```

Reinicia el módulo para aplicar los cambios

```
AT+CFUN=1,1
```

</details>

{% hint style="warning" %}
Después de seleccionar la tarjeta SIM es importante que configure la operadora y el APN. De lo contrario no podrá conectarse a internet.
{% endhint %}

### **6. Configuración de la operadora**

Cada vez que cambie la tarjeta SIM deberá configurar la operadora y el APN. Primero deberá identificar las redes disponibles con el comando **AT+COPS=?** para confirmar que su operadora tenga cobertura en la región, este comando puede demorar hasta 5 minutos en finalizar la búsqueda de redes, por favor espere.

```
AT+COPS=?
```

Ejemplo de respuesta (en México):

{% code overflow="wrap" %}

```
+COPS: (1,"TELCEL","TELCEL","334020",8),(1,"AT&T","AT&T","334050",8),(1,"Movistar","TEMM","33403",8),(1,"AT&T","AT&T","334090",8),(1,"AT&T","AT&T","334050",9),(1,"TELCEL","TELCEL","334020",9),,(0,1,2,3,4),(0,1,2)

OK
```

{% endcode %}

Este comando brinda información de las redes disponibles separadas por paréntesis, el formato es el siguiente ( \<con\_status>,\<oper\_long>,\<oper\_short>,\<oper\_num>,\<Ac\_T>):

1. **\<con\_status>**: Estado de la conexión, de tipo numérico:
   * 0: Desconocido
   * 1: Operadora disponible
   * 2: Conectado a esta operadora
   * 3: Operadora no disponible
2. **\<oper\_long>**: Nombre completo de la operadora en formato alfanumérico.
3. **\<oper\_short>**: Nombre corto de la operadora en formato alfanumérico.
4. **\<oper\_num>**: [Código de país móvil](https://en.wikipedia.org/wiki/Mobile_country_code) de la operadora en formato numérico.
5. **\<Ac\_T>**: Tecnología de conexión:
   * 0: GSM - 2G
   * 8: eMTC - LTE
   * 9: NB-IoT

utilizando la respuesta de ejemplo podemos identificar las siguientes redes:

| Estado     | Nombre   | Nombre corto | MCC/MNC | Tecnología |
| ---------- | -------- | ------------ | ------- | ---------- |
| Disponible | TELCEL   | TELCEL       | 334020  | LTE        |
| Disponible | AT\&T    | AT\&T        | 334050  | LTE        |
| Disponible | Movistar | TEMM         | 33403   | LTE        |
| Disponible | AT\&T    | AT\&T        | 334090  | LTE        |
| Disponible | AT\&T    | AT\&T        | 334050  | NB-IoT     |
| Disponible | TELCEL   | TELCEL       | 334020  | NB-IoT     |

{% hint style="danger" %}
**¡ Advertencia !**: Aunque el estado de la red es disponible, no significa que el dispositivo pueda conectarse a esa red, se requiere una tarjeta SIM autorizada por la operadora. Nuestros servicios ofrecen membresías **multicarrier**, lo que le permite conectarse a redes de múltiples operadoras, [puede consultar con nuestro equipo de soporte las operadoras compatibles con nuestras tarjetas eSIM y la cobertura de nuestros servicios](https://www.microside.com/contacto)
{% endhint %}

Para seleccionar una operadora puede utilizar el método automático, manual o una combinación de ambos:

<details>

<summary>Seleccionar una operadora con el método automático</summary>

El método automático es más fácil de implementar, el módulo intentará conectarse a una de las redes disponibles, sin embargo, el módulo solo verifica si la conexión con la operadora es exitosa, no verifica si la conexión a internet funciona correctamente, si no tiene acceso a internet o experimenta desconexiones se recomienda utilizar el método manual.

Comienza el proceso automático de conexión a la red:

```
AT+COPS=0
```

Si la conexión es exitosa el módulo responderá:

```
OK
```

De lo contrario se mostrará un mensaje de error, revise la sección de [solución de problemas y preguntas frecuentes](#solucion-de-problemas-y-preguntas-frecuentes) para obtener más información.

</details>

<details>

<summary>Seleccionar una operadora con el método manual</summary>

Este método permite el control total de la red a la que se va a intentar conectar el módulo, requiere enviar un comando con la siguiente estructura:

```
AT+COPS=1,2,"<oper_num>",<Ac_T>
```

Por ejemplo, para conectarse a la red **LTE** de **AT\&T** el comando es el siguiente:

```
AT+COPS=1,2,"334050",8
```

Si la conexión es exitosa el modulo responderá:

```
OK
```

De lo contrario se mostrará un mensaje de error, revise la sección de [solución de problemas y preguntas frecuentes](#solucion-de-problemas-y-preguntas-frecuentes) para obtener más información.

</details>

<details>

<summary>Seleccionar una operadora combinando el método manual y el automático</summary>

Este método permite establecer una operadora manualmente, pero, si la conexión falla el módulo intentará conectarse a cualquier otra red disponible, el comando tiene la estructura

```
AT+COPS=4,2,"<oper_num>",<Ac_T>
```

Por ejemplo, para conectarse a la red **LTE** de **AT\&T** el comando es el siguiente:

```
AT+COPS=4,2,"334050",8
```

Si la conexión es exitosa el modulo responderá:

```
OK
```

De lo contrario se mostrará un mensaje de error, revise la sección de [solución de problemas y preguntas frecuentes](#solucion-de-problemas-y-preguntas-frecuentes) para obtener más información.

Considere que si la red de AT\&T no se encuentra disponible el módulo intentará conectarse a cualquier otra red disponible.

</details>

Para consultar la red a la que se encuentra conectado actualmente puede utilizar el comando **AT+COPS?** :

```
AT+COPS?
```

Si el módulo se encuentra conectado a una red responderá:

```
+COPS: <mode_conn>,<oper_format>,"<oper>",<Ac_T>
```

* \<mode\_>: Modo de conexión utilizado
  * 0: Automático
  * 1: Manual
  * 2: Desconexión manual de la red
* \<oper\_format>: Formato del siguiente campo
  * 0: Nombre completo de la operadora en formato alfanumérico.
  * 1: Nombre corto de la operadora en formato alfanumérico.
  * 2: [Código de país móvil](https://en.wikipedia.org/wiki/Mobile_country_code) de la operadora en formato numérico.
* \<oper\_>: Operadora en el formato especificado en el campo anterior
* \<Ac\_T>: Tecnología utilizada para la conexión:
  * 0: GSM - 2G
  * 8: eMTC - LTE
  * 9: NB-IoT

### **7. Configuración del APN**

Un nombre de punto de acceso o [**APN**](https://en.wikipedia.org/wiki/Access_Point_Name) es el nombre de la [**puerta de enlace**](https://es.wikipedia.org/wiki/Puerta_de_enlace) entre la conexión móvil y la red de internet o una red privada. Aunque el dispositivo se encuentre conectado a una operadora **no tendrá acceso a internet** hasta proporcionar los **datos del APN**, durante este proceso la operadora identificará el tipo de conexión y asignará una IP apropiada para el ruteo de datos. En la mayoría de los casos se recomienda utilizar el **mecanismo de suscripción por petición (automático)**, sin embargo, es posible que este mecanismo falle por múltiples motivos cuya explicación escapa al alcance de este manual. En general si la suscripción por petición falla entonces deberá consultar con el proveedor de la tarjeta SIM cuáles son los valores correctos del APN y configurarlos en un contexto PDP, recuerde que solo hace falta configurarlo **cada vez que cambie de SIM**.

Cada sesión a internet requiere un [contexto PDP](https://en.wikipedia.org/wiki/GPRS_core_network#PDP_context) (Packet Data Protocol), en este contexto se define el APN, que se enviará al solicitar una dirección IP a la red de la operadora. El **X-NODE 2G LTE GNSS (BG95-M3)** soporta hasta 16 contextos PDP, para mantener el manual simple se configurará exclusivamente el contexto con identificador 1, lea el manual del fabricante si quiere obtener más información.

<details>

<summary>Usar el mecanismo de suscripción por petición (recomendado)</summary>

El mecanismo de suscripción por petición permite obtener los datos del APN automáticamente, se recomienda utilizar esta configuración debido a que puede funcionar incluso si cambia la tarjeta SIM, lo que lo hace más fácil de implementar, sin embargo, puede que su operadora no soporte este mecanismo o su tarjeta SIM requiera declarar manualmente los datos del APN.

Debe enviar dos comandos para configurar el método automático:

```
AT+CGDCONT=1,"IP",""
```

```
AT+QICSGP=1,1,"","","",0
```

Para ambos comandos, si se enviaron correctamente el módulo responderá con:

```
OK
```

</details>

<details>

<summary>Definir el contexto PDP</summary>

El mecanismo manual requiere conocer previamente los valores del APN de su operadora, deberá enviar dos comandos con la siguiente estructura:

**AT+CGDCONT=\<context\_id>,"\<PDP\_type>","\<APN\_str>","\<PDP\_addr>"**

* \<context\_id>: ID del contexto PDP a configurar, en este manual se utiliza el valor 1
* \<PDP\_type>: Tipo de protocolo de paquetes de datos, debe enviarse con comillas dobles
  * "IP": IPv4
  * "PPP": Protocolo punto a punto
  * "IPV6": IPv6
  * "IPV4V6": Permite utilizar IPv6 y para compatibilidad IPv4
  * "Non-IP": Protocolos No-IP, generalmente sobre UDP.
* \<APN\_str>: APN proporcionado por la operadora, debe enviarse con comillas dobles
* \<PDP\_addr>: Dirección física, en los protocolos tipo IP permite definir una IP estática, si se omite entonces se solicitará una dirección de manera dinámica. Debe enviarse con comillas dobles

**AT+QICSGP=\<context\_id>,\<context\_type>,"\<APN\_str>","\<user\_name>","\<user\_pass>",\<auth\_type>**

* \<context\_id>: ID del contexto PDP a configurar, en este manual se utiliza el valor 1
* \<context\_type>: Tipo de IP en formato numérico.
  * 1: IPv4
  * 2: IPv6
  * 3: Permite utilizar IPv6 y para compatibilidad IPv4
* \<APN\_str>: APN proporcionado por la operadora, debe enviarse con comillas dobles.
* \<user\_name> y \<user\_pass>: Nombre de usuario y contraseña, debe enviarse con comillas dobles.
* \<auth\_types>: Tipo de autenticación en formato númerico
  * 0: Ninguna
  * 1: PAP
  * 2: CHAP
  * 3: PAP o CHAP

Si el comando se envió correctamente el módulo responderá con:

```
OK
```

</details>

Después active la sesión a internet en el contexto 1

```
AT+QIACT=1
```

Si la conexión se activó correctamente el módulo responderá

```
OK
```

Puede consultar la dirección IP con el comando **AT+QIACT?**:

```
AT+QIACT?
```

```
+QIACT: 1,1,1,"xxx.xxx.xxx.xxx"

OK
```

Para terminar la sesión a internet debe cerrar la sesión PDP con el comando:

```
AT+QIDEACT=1
```

## **VI. Ejemplo de uso**

### **Ping a un servidor remoto**

{% hint style="info" %}
**Nota**: Antes de seguir este ejemplo asegúrese de haber leído todos los pasos de la sección V. Modo de uso.

Para este ejemplo se utilizará la herramienta [**QCOM**](https://microside.com/?sdm_process_download=1\&download_id=19421) en la configuración **AT sobre USB**. Sin embargo, los comandos pueden enviarse desde cualquier terminal serial o incluso un microcontrolador con puerto UART.
{% endhint %}

En la terminal serial abra el puerto del **X-NODE 2G LTE GNSS (BG95-M3)** con la siguiente configuración:\
**Velocidad de comunicación**: 115,200 bps\
**Paridad**: Ninguna\
**Bits de datos**: 8\
**Bits de paro**: 1

Después presione brevemente el botón **"PK"** del **X-NODE 2G LTE GNSS (BG95-M3)** para encender el módulo, espere hasta que el nodo finalice el proceso de inicialización indicado por el mensaje:

```
APP RDY
```

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

Inicie una sesión PDP para obtener una dirección IP con el comando **AT+QIACT=1**, confirme que cuente con una dirección IP válida con el comando **AT+QIACT?**:

```
AT+QIACT=1
```

```
AT+QIACT?
```

Si el comando indica que hubo un error, deberá revisar la sección: [6. Configuración de la operadora](#id-6.-configuracion-de-la-operadora) y la sección [7. Configuración del APN](#id-7.-configuracion-del-apn), si tiene problemas revise la sección de [preguntas frecuentes](#solucion-de-problemas-y-preguntas-frecuentes).

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

Para hacer un Ping a un servidor remoto deberá utilizar el comando&#x20;

**AT+QPING=1,"\<remote\_servername>"**

por ejemplo, para hacer un Ping a Google el comando es:

```
AT+QPING=1,"www.google.com"
```

Si la comunicación es correcta el módulo responderá con los mensajes:

{% code overflow="wrap" %}

```
+QPING: 0,"<remote_serverip>",32,<time_in_ms>,255

+QPING: 0,<packets_sent>,<packets_recieved>,<packets_lost>,<min_time_ms>,<max_time_ms>,<average_time_ms>
```

{% endcode %}

* \<remote\_serverip>: IP del servidor remoto obtenida del servidor DNS.
* \<time\_in\_ms>: Tiempo de respuesta del servidor (valores menores son mejores).
* \<max\_time\_ms>, \<min\_time\_ms>, \<average\_time\_ms>: Estadísticas de tiempo de los mensajes como máximo, mínimo y promedio.
* \<packets\_sent>, \<packets\_recieved>, \<packets\_lost>: Estadísticas de cantidad de paquetes enviados, recibidos y perdidos.

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

Finalice la sesión PDP para desconectarse de internet con el comando:

```
AT+QIDEACT=1
```

### **Protocolo MQTT sobre comandos AT**

Este ejemplo asume que el usuario conoce los conceptos básicos del protocolo [MQTT](https://www.hivemq.com/mqtt/), la sesión se hará sin [SSL](https://en.wikipedia.org/wiki/Transport_Layer_Security), puede obtener más información en la nota de aplicación: [**Quectel\_BG95BG77BG600L\_Series\_MQTT\_Application\_Note\_V1.1.pdf**](https://www.quectel.com/product/lpwa-bg95-cat-m1-cat-nb2-egprs-series/).

{% hint style="info" %}
**Nota**: Antes de seguir este ejemplo asegúrese de haber leído todos los pasos de la sección [V. Configuración](#v.-configuracion).

Para este ejemplo se utilizará la herramienta [**QCOM**](https://microside.com/?sdm_process_download=1\&download_id=19421) en la configuración **AT sobre USB**. Sin embargo, los comandos pueden enviarse desde cualquier terminal serial o incluso un microcontrolador con puerto UART.
{% endhint %}

En la terminal serial abra el puerto del **X-NODE 2G LTE GNSS (BG95-M3)** con la siguiente configuración:\
**Velocidad de comunicación**: 115,200 bps\
**Paridad**: Ninguna\
**Bits de datos**: 8\
**Bits de paro**: 1

Después presione brevemente el botón **"PK"** del **X-NODE 2G LTE GNSS (BG95-M3)** para encender el módulo, espere hasta que el nodo finalice el proceso de inicialización indicado por el mensaje:

```
APP RDY
```

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

El bróker que se usará es [Mosquitto](https://test.mosquitto.org/) en el puerto 1883, pero las instrucciones aplican para cualquier otro bróker sin **SSL**, para esta prueba solo se requiere un **X-NODE 2G LTE GNSS (BG95-M3)** y una computadora/teléfono con un cliente MQTT, en este ejemplo se utilizará el cliente para navegadores [MQTT.Cool](https://testclient-cloud.mqtt.cool/).

{% hint style="warning" %}
**¡ Advertencia !**: El bróker test.mosquitto.org es un servidor experimental para realizar pruebas, **NO** lo utilice en el despliegue de proyectos y **NUNCA** publique información confidencial en el.
{% endhint %}

En el cliente seleccionaremos el bróker **(1)**, después debe configurar el usuario y contraseña **(2)**, en el bróker de mosquitto puede dejar estos campos vacíos, pero si está utilizando otro bróker y así lo requiere puede ingresar estos datos manualmente **(3)**. Después presione el botón **Connect**.

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

Bróker:

```
test.mosquitto.org:1883
```

En el campo de **suscripciones** escriba el tópico con un **QoS** de nivel 0 **(1)**, esto nos permitirá tener un canal en donde **recibir** información, por ejemplo:

Tópico:

```
xide-xc08/dev-123
```

Recuerde que puede personalizar este tópico y puede suscribirse a múltiples tópicos. Después presione el botón de **Suscribir**, el tópico se agregará a su lista de suscripciones **(2)**.

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

Deberemos hacer lo mismo en el **X-NODE 2G LTE GNSS (BG95-M3)** a través de comandos AT. El segundo comando debe enviarse uno inmediatamente después del primero, ya que el servidor puede terminar la conexión si no recibe información del cliente. El primer comando define el bróker y el puerto:

**AT+QMTOPEN=0,"\<mqtt\_broker>",\<port\_number>**

Reemplazamos los datos con la información del bróker de mosquitto:

```
AT+QMTOPEN=0,"test.mosquitto.org",1883
```

El segundo comando define la información del cliente, los parámetros \<client\_username> y \<client\_password> son opcionales dependiendo de la configuración del bróker:

**AT+QMTCONN=0,"\<client\_unique\_id>","\<client\_username>","\<client\_password>"**

Para utilizar el bróker de mosquitto personalice el \<client\_unique\_id> con un valor aleatorio por cada dispositivo que conecte al bróker, por ejemplo:

```
AT+QMTCONN=0,"xide-client-id-f497002f"
```

Después debemos suscribirnos a al mismo tópico:

**AT+QMTSUB=0,\<msg\_id>,"\<topic\_id>",\<qos\_level>**

El campo **\<msg\_id>** se utiliza cuando el nivel QoS es mayor que 0, y sirve para identificar si algunos mensajes no fueron enviados correctamente, acepta valores de 1-65535, como utilizaremos un nivel 0 este valor es irrelevante.

```
AT+QMTSUB=0,1,"xide-test/dev-123",0
```

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

Ahora podemos empezar a enviar y recibir mensajes entre los dos equipos, primero enviaremos un mensaje de hola mundo desde el cliente al bróker, que lo reenviará al **X-NODE 2G LTE GNSS (BG95-M3)**, al enviar mensajes en MQTT debemos especificar el tópico, recuerda que la suscripción solo es para **recibir** información.

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

Para enviar información desde el **X-NODE 2G LTE GNSS (BG95-M3)** al bróker, que lo reenviará a nuestro cliente MQTT se utiliza el comando:

**AT+QMTPUB=0,\<msg\_id>,\<qos\_level>,\<server\_retain>,"\<topic\_id>",\<msg\_length>**

* **\<msg\_id>**: Identificador del mensaje, en QoS nivel 0 este valor es irrelevante.
* **\<qos\_level>**: Nivel QoS, utilizaremos el nivel 0.
* **\<server\_retain>**: Le indica al servidor si debe conservar el mensaje (1) o puede descartarlo después de entregarlo a los suscriptores activos (0), esta opción permite enviar mensajes a cliente que se encuentren desconectados una vez se conecten con el bróker. Sin embargo, dependiendo de la configuración del bróker este valor puede ser ignorado.
* **\<topic\_id>**: El tópico en donde se publicará el mensaje.
* **\<msg\_length>**: Longitud del mensaje

El parámetro **\<msg\_length>** es muy importante, una vez que se envíe el comando **AT+QMTPUB** el dispositivo responderá con el carácter "**>**", y no enviará el mensaje hasta recibir la cantidad de caracteres especificado por este parámetro. Por ejemplo, el mensaje **"Hello World from XC08!"** tiene una longitud de 22 caracteres por lo que este es el valor que debemos enviar:

```
AT+QMTPUB=0,0,0,0,"xide-test/dev-123",22
```

```
Hello World from XC08!
```

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

### **Protocolo MQTT con TinyGSM en Arduino Framework**

Para poder compilar el ejemplo deberá descargar e instalar la librería de [TinyGSM](https://github.com/vshymanskyy/TinyGSM) y [PubSubClient](https://github.com/knolleary/pubsubclient), en PlatformIO puede instalarlas agregando la siguiente línea a su archivo platformio.ini:

```ini
lib_deps =
    https://github.com/vshymanskyy/TinyGSM.git
    https://github.com/knolleary/pubsubclient.git
```

En ArduinoIDE puede instalarlas desde el **Administrador de librerías**.

{% hint style="info" %}
Código de ejemplo para el [**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), revisa el manual para utilizar nuestro [XC01 - R5 en **Arduino IDE/PlatformIO**](https://docs.microside.com/plataforma-xide-iot/xc01-controlador-wifi-and-bluetooth/r5/x-node-xc01-esp32-s3-controlador-wifi-and-bluetooth#configuracion-para-platformio-en-vs-code)

Coloque los interruptores del **X-NODE 2G LTE GNSS (BG95-M3)** en la posición [AT sobre mikroBUS™](#id-4.-seleccion-del-puerto-de-comunicacion), apile el nodo sobre el **XC01 - R5** para utilizar este ejemplo.

**Nota**: Este ejemplo requiere un plan activo de datos. Puede utilizar la herramienta [MQTT.Cool](https://testclient-cloud.mqtt.cool/) para conectarse al bróker y validar el funcionamiento de la conexión. Revise la sección [Protocolo MQTT sobre comandos AT](#protocolo-mqtt-sobre-comandos-at) donde se detalla cómo utilizar esta herramienta.
{% endhint %}

{% code lineNumbers="true" expandable="true" %}

```cpp
// Este ejemplo utiliza TinyGSM y el XC08 para
// conectarse a un bróker MQTT, esta operación
// requiere un plan activo de datos
#define TINY_GSM_MODEM_BG95

#include <Arduino.h>
#include <TinyGsmClient.h>

// ********** CONFIGURACION DE COMUNICACIONES SERIALES ********
#define SerialMonitor Serial
#define SerialModem Serial2
#define TINY_GSM_DEBUG SerialMonitor

// ************ CONFIGURACION DE PINOUT MIKROBUS ***************
#define MIKROBUS_AN 4
#define MIKROBUS_RST 15
#define MIKROBUS_CS 6
#define MIKROBUS_SCK 8
#define MIKROBUS_MISO 18
#define MIKROBUS_MOSI 17
#define MIKROBUS_PWM 5
#define MIKROBUS_INT 7
#define MIKROBUS_RX 9
#define MIKROBUS_TX 10
#define MIKROBUS_SCL 13
#define MIKROBUS_SDA 12

#define BOARD_LED 16

#define PIN_MODEM_PK MIKROBUS_INT

// Broker MQTT
const char* broker = "test.mosquitto.org";

// Tópico MQTT
const char* topic = "xide-xc08/dev-123";

#include <Arduino.h>
#include <TinyGsmClient.h>
#include <PubSubClient.h>

TinyGsm modem(SerialModem);
TinyGsmClient client(modem);
PubSubClient mqtt(client);

// APN, nombre y usuario de la tarjeta SIM
const char apn[]  = "";
const char user[] = "";
const char pass[] = "";

// Contador de intentos de conexión
uint32_t lastReconnectAttempt = 0;

// Función que recibe los mensajes desde el bróker MQTT
void mqttCallback(char* topic, byte* payload, unsigned int len) {
  SerialMonitor.print("Mensaje [");
  SerialMonitor.print(topic);
  SerialMonitor.print("]: ");
  SerialMonitor.write(payload, len);
  SerialMonitor.println();
}

boolean mqttConnect() {
  SerialMonitor.print("MQTT broker: ");
  SerialMonitor.print(broker);

  // Conectar al Bróker con el id de cliente: xide-client-id-f258491f
  // recuerde personalizar este id por cada dispositivo conectado al bróker
  boolean status = mqtt.connect("xide-client-id-f258491f");

  // Si el bróker requiere autenticación, ingrese el nombre de usuario y contraseña
  // boolean status = mqtt.connect("xide-client-id-f258491f", "mqtt_user", "mqtt_pass");

  if (status == false) {
    SerialMonitor.println(" error");
    return false;
  }
  SerialMonitor.println("OK");

  // Publicar un mensaje en el tópico MQTT
  mqtt.publish(topic, "Hello World from XC08!");

  // Suscripción al tópico
  mqtt.subscribe(topic);
  return mqtt.connected();
}


void setup() {
  // Configuración de comunicaciones seriales
  SerialMonitor.begin(115200);
  SerialModem.begin(115200, SERIAL_8N1, MIKROBUS_RX, MIKROBUS_TX);

  // Inicialización de I/O
  pinMode(BOARD_LED, OUTPUT);
  digitalWrite(BOARD_LED, HIGH);
  pinMode(PIN_MODEM_PK, OUTPUT);

  // Reinicio del modem LTE por hardware
  digitalWrite(PIN_MODEM_PK, HIGH);
  delay(3000);
  digitalWrite(PIN_MODEM_PK, LOW);

  // Configuración inicial del modem LTE
  SerialMonitor.println("Iniciando modem LTE...");
  modem.restart();
  String modemInfo = modem.getModemInfo();
  SerialMonitor.print("Modem: ");
  SerialMonitor.println(modemInfo);

  SerialMonitor.print("Espera hasta conectarse a la red...");
  if (!modem.waitForNetwork()) {
    SerialMonitor.println(" error");
    delay(10000);
    return;
  }
  SerialMonitor.println(" OK");

  if (modem.isNetworkConnected()) { SerialMonitor.println("Conectado a la red"); }

  // Iniciar una sesión PDP
  SerialMonitor.println("Iniciando PDP");

  if (!modem.gprsConnect(apn, user, pass)) {
    SerialMonitor.println(" error");
    delay(10000);
    return;
  }
  SerialMonitor.println("OK");

  if (modem.isGprsConnected()) { SerialMonitor.println("Sesion PDP iniciada"); }

  // Conectar al broker en el puerto 1883
  mqtt.setServer(broker, 1883);
  mqtt.setCallback(mqttCallback);
}

void loop() {
  // Revisa que la conexión a la red funcione
  if (!modem.isNetworkConnected()) {
    SerialMonitor.println("Error de red, reconectando... ");
    if (!modem.waitForNetwork(180000L, true)) {
      SerialMonitor.println("Error");
      delay(10000);
      return;
    }

    if (modem.isNetworkConnected()) {
      SerialMonitor.println("Reconectado a la red");
    }

    // Revisa que la sesión PDP funcione
    if (!modem.isGprsConnected()) {
      SerialMonitor.println("PDP desconectado!");
      SerialMonitor.println("Iniciando PDP... ");
      if (!modem.gprsConnect(apn, user, pass)) {
        SerialMonitor.println("Error");
        delay(10000);
        return;
      }
      if (modem.isGprsConnected()) { SerialMonitor.println("Sesion PDP iniciada"); }
    }
  }

  if (!mqtt.connected()) {
    SerialMonitor.println("=== MQTT NO CONECTADO ===");
    // Intentar conectar a bróker MQTT cada 10 segundos
    uint32_t t = millis();
    if (t - lastReconnectAttempt > 10000L) {
      lastReconnectAttempt = t;
      if (mqttConnect()) { lastReconnectAttempt = 0; }
    }
    delay(100);
    return;
  }

  mqtt.loop();
}

```

{% endcode %}

### **GNSS sobre AT**

El **X-NODE 2G LTE GNSS (BG95-M3)** cuenta con solo **una antena**, lo que significa que para utilizar la funcionalidad GNSS deberá desactivar los contextos PDP activos, que puede consultar con el comando:

```
AT+QIACT?
```

```
+QIACT: <context_id>,1,1,"xxx.xxx.xxx.xxx"

OK
```

Puede cerrar los contextos PDP con el comando **AT+QIDEACT**, debe enviar este comando por cada \<context\_id> encontrado por el comando anterior:

```
AT+QIDEACT=<context_id>
```

Para activar la funcionalidad GNSS debe utilizar el comando:

```
AT+QGPS=1
```

El módulo demorará unos cuantos minutos en obtener las efemérides de los satélites y determinar la posición global, si es la primera vez que activa la funcionalidad GNSS después de encender el módulo el tiempo de obtención será más largo.

{% hint style="info" %}
**Nota**: La funcionalidad GNSS requiere de cielo abierto, el tiempo de obtención y la precisión de la misma puede verse negativamente afectada al utilizarse en interiores, en casas o edificios con muros gruesos podría no obtener una posición.
{% endhint %}

Puede obtener la posición con el comando **AT+QGPSLOC=2**, si el comando regresa un error 516, significa que aún no se obtiene la posición, deberá esperar un tiempo antes de volver a intentarlo.

```
AT+QGPSLOC=2
```

Si el módulo ya ha calculado la posición entonces responderá con un mensaje con el siguiente formato:

```
+QGPSLOC: <utc_time>,<latitude_deg>,<longitude_deg>,<horizontal_precision>,<altitude_m>,<d_position>,<course_over_ground>,<speed_kmh>,<speed_k>,<utc_date>,<no_sats>
```

* **\<utc\_time>**: Tiempo universal coordinado (UTC) en formato hhmmss.sss
* **\<latitude\_deg>**: Latitud en grados.
* **\<longitude\_deg>**: Longitud en grados.
* **\<horizontal\_precision>**: Precisión horizontal ([HDOP](https://en.wikipedia.org/wiki/Dilution_of_precision)), valores más bajos son mejores.
* **\<altitude\_m>**: Altitud de la antena con respecto al nivel del mar en metros.
* **\<d\_position>**: Tipo de posición GNSS
  * 2: Posición 2D
  * 3: Posición 3D
* **\<course\_over\_ground>**: Dirección de movimiento en grados con respecto al norte.
* **\<speed\_kmh>**: Velocidad relativa con respecto a tierra en kilómetros por hora.
* **\<speed\_k>**: Velocidad relativa con respecto a tierra en nudos.
* **\<utc\_date>**: Tiempo universal coordinado (UTC) en formato ddmmyy
* **\<no\_sats>**: Número de satélites utilizados para calcular la posición.

Por ejemplo, de la siguiente respuesta podemos obtener la información:

```
+QGPSLOC: 153010.000,19.42692,-99.16774,1.1,2240.6,3,220.16,5.154,2.782,250925,06
```

* **153010**: Hora 15:30:10 UTC que en la zona horaria de México son las 09 de la mañana con 30 minutos y 10 segundos.
* **19.42692**,**-99.16774**: [Longitud y latitud](https://maps.app.goo.gl/AEeRfWjpqN7tZTkT7).
* **1.1**: Precisión horizontal excelente.
* **2240**: Altitud de 2240 metros sobre el nivel del mar.
* **3**: La posición obtenida es tridimensional (latitud, longitud, altitud).
* **220.16**: La dirección del curso es de 220.16 grados (suroeste).
* **5.154**: Velocidad de 5.154 kilómetros por hora.
* **2.782**: Velocidad de 2.782 nudos.
* **250925**: Fecha 25 de noviembre de 2025.
* **06**: Para calcular la posición se utilizaron 6 satélites.

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

### **GNSS con TinyGSM en Arduino Framework**

Para poder compilar el ejemplo deberá descargar e instalar la librería de [TinyGSM](https://github.com/vshymanskyy/TinyGSM), en PlatformIO puede instalarla agregando la siguiente línea a su archivo platformio.ini:

```ini
lib_deps =
    https://github.com/vshymanskyy/TinyGSM.git
```

{% hint style="info" %}
Código de ejemplo para el [**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), revisa el manual para utilizar nuestro [XC01 - R5 en **Arduino IDE/PlatformIO**](https://docs.microside.com/plataforma-xide-iot/xc01-controlador-wifi-and-bluetooth/r5/x-node-xc01-esp32-s3-controlador-wifi-and-bluetooth#configuracion-para-platformio-en-vs-code)

Coloque los interruptores del **X-NODE 2G LTE GNSS (BG95-M3)** en la posición [AT sobre mikroBUS™](#id-4.-seleccion-del-puerto-de-comunicacion), apile el nodo sobre el **XC01 - R5** para utilizar este ejemplo.

**Nota**: La funcionalidad GNSS requiere de cielo abierto, el tiempo de obtención y la precisión de la misma puede verse negativamente afectada al utilizarse en interiores, en casas o edificios con muros gruesos podría no obtener una posición.
{% endhint %}

{% code overflow="wrap" expandable="true" %}

```cpp
// Este ejemplo utiliza el GNSS para obtener posición, fecha y hora (UTC)
// Para hacer uso del GNSS la antena debe estar a cielo abierto ( en exterior )
#define TINY_GSM_MODEM_BG95

#include <Arduino.h>
#include <TinyGsmClient.h>

// ********** CONFIGURACION DE COMUNICACIONES SERIALES ********
#define SerialMonitor Serial
#define SerialModem Serial2
#define TINY_GSM_DEBUG SerialMonitor

// ************ CONFIGURACION DE PINOUT MIKROBUS ***************
#define MIKROBUS_AN 4
#define MIKROBUS_RST 15
#define MIKROBUS_CS 6
#define MIKROBUS_SCK 8
#define MIKROBUS_MISO 18
#define MIKROBUS_MOSI 17
#define MIKROBUS_PWM 5
#define MIKROBUS_INT 7
#define MIKROBUS_RX 9
#define MIKROBUS_TX 10
#define MIKROBUS_SCL 13
#define MIKROBUS_SDA 12

#define BOARD_LED 16

// Pin de encendido del XC08
#define PIN_MODEM_PK MIKROBUS_INT

// *************** CONFIGURACION OPERADORA LTE ******************
const char apn[]  = "";
const char user[] = "";
const char pass[] = "";


// ******************* VARIABLES GLOBALES ***********************
static TinyGsm modem(SerialModem);

// ********************* FUNCIONES GNSS *************************
bool getGNSS();

void setup() {

  // Configuración de comunicaciones seriales
  SerialMonitor.begin(115200);
  SerialModem.begin(115200, SERIAL_8N1, MIKROBUS_RX, MIKROBUS_TX );

  // Inicialización de I/O
  pinMode( BOARD_LED, OUTPUT );
  digitalWrite( BOARD_LED, LOW );
  pinMode( PIN_MODEM_PK, OUTPUT );
  
  // Reinicio del modem LTE por hardware
  digitalWrite( PIN_MODEM_PK, HIGH );
  delay(3000);
  digitalWrite( PIN_MODEM_PK, LOW );

  // Configuración inicial del modem LTE
  SerialMonitor.println("Iniciando modem LTE...");
  modem.restart();
  String modemInfo = modem.getModemInfo();
  SerialMonitor.print("Modem: ");
  SerialMonitor.println(modemInfo);

  // Finaliza las comunicaciones LTE e inicia
  // GNSS
  modem.gprsDisconnect();

  // Inicia la antena GNSS
  if ( !modem.enableGPS() ) {
    Serial.println( "Error al iniciar GNSS" );
    while(1){
      delay( 1000 );
    }
  }

}

void loop() {

  // Obtener posición
  updateGNSS();
  delay( 1000UL );

}

bool updateGNSS() {
  // Colocamos un tiempo de espera máximo de 30 segundos y 90 para coldboot
  static bool coldboot = true;
  const unsigned long timeout_coldboot = 90000;
  const unsigned long timeout_run = 30000;

  float latitude;
  float longitude;
  float speed;
  float alt;
  int vsat;
  int usat;
  float accuracy;
  int year;
  int month;
  int day;
  int hour;
  int minute;
  int second;

  unsigned long timer = 0;
  unsigned long timeout = 0;
  bool success = false;

  if ( coldboot ){
    Serial.println( "Iniciando GNSS desde Coldboot, coloque la antena en cielo abierto y espere al menos 1 minuto y 30 segundos" );
    timeout = timeout_coldboot;
  } else {
    Serial.println( "Iniciando GNSS desde warmboot..." );
    timeout = timeout_run;
  }

  // Comenzamos el temporizador
  timer = millis();

  // Mientras no se agote el tiempo de espera intentar obtener la posición
  while ( ( millis() - timer ) < timeout ) {

    success = modem.getGPS( &latitude, &longitude, &speed, &alt, &vsat, &usat, &accuracy,
                            &year, &month, &day, &hour, &minute, &second );

    // Si se obtiene la posición exitosamente entonces finalizar el bucle
    if ( success ) {
      break;
    }
  }

  // Retorna el resultado de la operación, si se obtuvo la posición
  // deshabilita el abanderamiento de Coldboot y muestra los datos
  if ( !success ) {
    Serial.println( "Error: Tiempo de espera agotado, reintentando..." );
    return false;
  }

  // La posición requiere mayor precisión que una variable tipo float,
  // utiliza la promoción de float a doble:
  // (double) myFloatVar // Al usar el valor en funciones
  // (double) myFloatVar + (double) myFloatVar2 // Al realizar operaciones aritméticas
  // para evitar perder precisión.
  Serial.print( "Latitud: " );
  Serial.println( (double)latitude, 5 );

  Serial.print( "Longitud: " );
  Serial.println( (double)longitude, 5 );

  Serial.print( "Velocidad ( km/h ): " );
  Serial.println( speed );

  Serial.print( "Altitud (mts): " );
  Serial.println( alt );

  Serial.print( "Satelites (en vista): " );
  Serial.println( vsat );

  Serial.print( "Satelites (utilizados): " );
  Serial.println( usat );

  Serial.print( "Precision (mts): " );
  Serial.println( accuracy );

  Serial.print( "Fecha/Hora: " );
  Serial.print( day );
  Serial.print( "/" );
  Serial.print( month );
  Serial.print( "/" );
  Serial.print( year );
  Serial.print( " " );
  Serial.print( hour );
  Serial.print( ":" );
  Serial.print( minute );
  Serial.print( ":" );
  Serial.println( second );

  // Una vez obtenida la posición el estado del GNSS cambia a warmboot
  coldboot = false;
  return true;
}

```

{% endcode %}

### **Indicador de carga de batería**

<details>

<summary>Características del indicador de batería</summary>

La siguiente tabla resume las características del indicador de carga de batería [BQ27441](https://www.ti.com/lit/gpn/bq27441-g1) de [Texas Instruments](https://www.ti.com/):

<table data-header-hidden><thead><tr><th width="231"></th><th></th></tr></thead><tbody><tr><td><strong>Baterías</strong></td><td>Li-Ion/Li-Po</td></tr><tr><td><strong>Número de celdas</strong></td><td>1</td></tr><tr><td><strong>Protocolo de comunicación</strong></td><td>I2C</td></tr><tr><td><strong>Capacidad mínima</strong></td><td>200 mAh</td></tr><tr><td><strong>Capacidad máxima</strong></td><td>8000 mAh</td></tr><tr><td><strong>Algoritmo</strong></td><td>Algoritmo <strong>Impedance Track™</strong> de <a href="https://www.ti.com/">Texas Instruments</a></td></tr><tr><td><strong>Parámetros medidos</strong></td><td>Voltaje de la batería en mV, Estado de carga (SoC) en %, Capacidad nominal en mAh, Capacidad de carga completa en mAh, Estado de salud (SoH) en %, Corriente promedio en mA, Corriente máxima en mA, Potencia promedio en mW</td></tr></tbody></table>

</details>

{% hint style="info" %}
**Nota**: Revise la página del fabricante en la sección de [**Documentación técnica**](https://www.ti.com/product/es-mx/BQ27441-G1#tech-docs) para obtener más información
{% endhint %}

### Ciclo de aprendizaje de la batería

Para obtener los mejores resultados el usuario deberá modificar 4 parámetros para emparejar estos valores con los de la batería: **Capacidad Nominal** (**Design Capacity**), **Energía Nominal (Design Energy**), **Voltaje de finalización (Terminate Voltage**) y **Tasa de disminución** (**Taper Rate**).

<details>

<summary>Capacidad nominal (Design Capacity)</summary>

Es el valor de capacidad de la batería indicado por el fabricante en mAh. Definir este valor permite al gauge tener una referencia de las especificaciones de la batería, incluso si los valores reales varían entre diferentes celdas.

</details>

<details>

<summary>Energía Nominal (Design Energy)</summary>

Es el valor de energía nominal de la batería, este valor se obtiene multiplicando la capacidad nominal (en mAh) por el voltaje nominal (en V) de la batería indicado por el fabricante, en las baterías Li-Ion/Li-Po este valor siempre es 3.7. Por ejemplo, para una batería de 2000 mAh el valor es:

$$DE = DC \* DV = 2000 mAh \* 3.7V = 7400 mWh$$

</details>

<details>

<summary>Voltaje de finalización (Terminate Voltage)</summary>

Valor de operación mínimo del sistema, al alcanzar este valor el indicador de batería reportará un estado de carga de 0%, si el usuario desea tener energía de reserva el usuario puede editar el valor de **Capacidad de reserva(Reserve Capacity)**, en donde el sistema reportará 0% incluso antes de alcanzar el **voltaje de finalización**.

</details>

<details>

<summary>Tasa de disminución (Taper Rate)</summary>

Valor que representa el umbral de corriente en donde se considera a la batería totalmente cargada ( 35 mA ), se obtiene como la tasa de la capacidad de la batería sobre el producto de 0.1-hr por 35mA. Por ejemplo, para una batería de 2000 mAh el valor de taper current es:

$$TC = DC / (0.1-hr \* 35mA) = 2000 mAh / 3.5 mAh = 571$$

</details>

Estos valores se deben configurar cada vez que desconecte y vuelva a conectar una batería, hacerlo mejorará la precisión del indicador en los primeros ciclos, sin embargo, si no está seguro de cómo inicializar/administrar estos valores puede solo inicializar la **Capacidad nominal (Nominal Capacity)**, mientras la batería se mantenga conectada el dispositivo se encargará de ajustar los parámetros con el tiempo hasta obtener valores precisos, esto se conoce como ciclo de aprendizaje.

### Ejemplo Indicador de carga con Arduino Framework

Para poder compilar el ejemplo deberá descargar e instalar la librería de [SparkFun\_BQ27441\_Arduino\_Library](https://github.com/sparkfun/SparkFun_BQ27441_Arduino_Library/tree/v1.1.0), deberá colocar los jumpers del módulo en la configuración [**Pruebas de escritorio**](#id-2.-seleccion-del-voltaje-de-alimentacion) o [**5VDC + Batería Li-Po/Li-Ion**](#id-2.-seleccion-del-voltaje-de-alimentacion), si no lo ha hecho, [<mark style="color:red;">**lea cuidadosamente la sección 2. Selección del voltaje de alimentación**</mark>](#id-2.-seleccion-del-voltaje-de-alimentacion):

{% hint style="info" %}
Código de ejemplo para el [**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), revisa el manual para utilizar nuestro [XC01 - R5 en **Arduino IDE/PlatformIO**](https://docs.microside.com/plataforma-xide-iot/xc01-controlador-wifi-and-bluetooth/r5/x-node-xc01-esp32-s3-controlador-wifi-and-bluetooth#configuracion-para-platformio-en-vs-code)
{% endhint %}

{% code overflow="wrap" expandable="true" %}

```cpp
// Este ejemplo permite controlar la intensidad del
// LED RGB del X-NODE utilizando el potenciómetro.

#include <Arduino.h>
#include <Wire.h>
#include <SparkFunBQ27441.h>

// Capacidad Nominal de la batería en mAh
const unsigned int BATTERY_CAPACITY = 2000; // mAh

void setupBQ27441( void )
{
   // Usa la función lipo.begin() para inicializar la comunicación con
   // el indicador de batería
   if ( !lipo.begin() ) // begin() true si la comunicación funciona
   {
      // Si la comunicación falla revisar la posición de los jumpers soldables:
      // VCC, 3V3mB y EN. Revise la sección "2. Selección del voltaje de alimentación"
      // del manual para obtener más información

      Serial.println( "Error: No hay respuesta del BQ27441." );
      Serial.println( "  Revise la posición de los jumpers. VCC, 3V3mB y EN" );
      while ( 1 )
         ;
   }
   Serial.println( "Conectado al BQ27441!" );

   // Utilice la función lipo.setCapacity(BATTERY_CAPACITY) para
   // configurar la capacidad nominal de la batería
   lipo.setCapacity( BATTERY_CAPACITY );
}

void printBatteryStats()
{
   // Leer el estado del indicador de la batería BQ27441-G1A
   unsigned int soc = lipo.soc();                     // Leer Estado de carga SoC (%)
   unsigned int volts = lipo.voltage();               // Leer Voltaje actual de la batería (mV)
   int current = lipo.current( AVG );                 // Leer Corriente promedio (mA)
   unsigned int fullCapacity = lipo.capacity( FULL ); // Leer Capacidad total (mAh)
   unsigned int capacity = lipo.capacity( REMAIN );   // Leer Capacidad restante (mAh)
   int power = lipo.power();                          // Leer Potencia promedio (mW)
   int health = lipo.soh();                           // Leer Estado de salud SoH (%)

   // Now print out those values:
   String toPrint = String( soc ) + "% | ";
   toPrint += String( volts ) + " mV | ";
   toPrint += String( current ) + " mA | ";
   toPrint += String( capacity ) + " / ";
   toPrint += String( fullCapacity ) + " mAh | ";
   toPrint += String( power ) + " mW | ";
   toPrint += String( health ) + "%";

   Serial.println( toPrint );
}

void setup()
{
   Serial.begin( 115200 );
   Wire.setPins( 12, 13 );

   setupBQ27441();
}

void loop()
{
   printBatteryStats();
   delay( 1000 );
}
```

{% endcode %}

## **VII. Solución de problemas y preguntas frecuentes**

<details>

<summary>¿Por qué usar una resistencia para elegir el tipo de antena?</summary>

Los interruptores suelen causar pérdidas en el desempeño de señales RF, incluso los diseñados específicamente para este propósito. Una resistencia de 0 ohm suele tener menor pérdida por lo que es un método muy utilizado para seleccionar diferentes configuraciones de antenas.

</details>

<details>

<summary>El dispositivo está conectado a la computadora por cable USB, pero no aparece el puerto serial</summary>

Verifique que el cable USB admite transmisión de datos, intente con un cable diferente. Si no lo ha hecho, instale los drivers de [Silicon Labs de acuerdo a nuestro manual](https://docs.microside.com/ambientes-de-programacion-ides/platformio-ide-visual-studio-code#instalar-driver-usb-silicon-labs). Asegúrese que la interfaz de comunicación seleccionada sea **AT sobre USB**. Si está intentando utilizar el modo **modem sobre USB** puede que requiera instalar drivers adicionales, consulte la página del [fabricante](https://www.quectel.com/product/lpwa-bg95-cat-m1-cat-nb2-egprs-series/).

</details>

<details>

<summary>No puedo abrir el puerto serial del dispositivo en la computadora, indica que está ocupado</summary>

Solo un programa puede utilizar un puerto de comunicación serial a la vez, asegúrese que la interfaz de comunicación seleccionada sea **AT sobre USB**, cierre todos los programas y vuelva a intentarlo, si la falla persiste reinicie su computadora e inicie sesión con una cuenta con privilegios de administrador. Si está intentando utilizar el modo **modem sobre USB** puede que requiera instalar drivers adicionales, consulte la página del [fabricante](https://www.quectel.com/product/lpwa-bg95-cat-m1-cat-nb2-egprs-series/)

</details>

<details>

<summary>El dispositivo no puede conectarse a una operadora, error: x</summary>

Los errores más comunes al intentar conectarse a una red son:

* +CME ERROR: 30
  * No network service: la operadora ha denegado el acceso a la red, puede deberse a que la SIM no cuenta con una membresía activa, consulte con su proveedor para obtener más información.
* +CME ERROR: 31
  * Network timeout: existe un problema con la operadora, puede deberse a una falla en la infraestructura de la operadora. Intente con otra operadora.
* +CME ERROR: 32
  * Network not allowed - emergency calls only: la operadora ha permitido el acceso a servicios de emergencia, pero no el acceso a la red. Puede deberse a que la SIM no cuenta con una membresía activa o la operadora está experimentado fallas en la infraestructura. Consulte con su proveedor para obtener más información.

Para obtener información respecto al resto de códigos de error consulte la nota de aplicación: [**Quectel\_BG95BG77BG600L\_Series\_AT\_Commands\_Manual**](https://www.quectel.com/product/lpwa-bg95-cat-m1-cat-nb2-egprs-series/) sección 23.5. Summary of CME ERROR Codes.

</details>

<details>

<summary>Mi dispositivo no se conecta a internet</summary>

Para poder utilizar las comunicaciones LTE es necesario contar con un plan de datos vigente con una operadora con servicio LTE Cat-M1, NBIoT o 2G (EDGE, EGRPS) y con cobertura en la región, deberá corroborar esta información con su provedor de servicios.

El **X-NODE 2G LTE GNSS (BG95-M3)** integra una **eSIM precargada con un plan de datos**, [puede consultar con nuestro equipo de soporte la vigencia del plan de datos y la cobertura de nuestros servicios](https://www.microside.com/contacto). Si utilizó el comando para cambiar la tarjeta SIM deberá configurar una operadora y un APN. También considere que solo puede usar una antena a la vez (GNSS o LTE), desactive la antena GNSS o reinicie el módulo e intente otra vez.

</details>

<details>

<summary>El comando AT+QMTOPEN muestra el error X</summary>

La lista de errores y sus posibles soluciones son las siguientes:

* **-1**: El dispositivo no está conectado a una operadora, siga los pasos en la sección 6. Configuración de la operadora, revise la cobertura en la zona y consulte con su proveedor de la tarjeta SIM si cuenta con un paquete activo o si hay fallas de conexión a internet en la zona, intente con otra tarjeta SIM.
* **1**: Los parámetros son incorrectos, verifique que el nombre del bróker sea correcto y se encuentre entre comillas dobles (") y no las comillas dobles izquierdas/derechas ( " / " ), revise que el puerto sea correcto y si utiliza o no SSL.
* **2**: El cliente MQTT está ocupado, consulte los clientes conectados con el comando **AT+QMTOPEN?**

```
AT+QMTOPEN?
```

Si ya está conectado a otro bróker deberá utilizar un cliente diferente o cerrar la conexión con el comando **AT+QMTCLOSE=\<mqqt\_client\_id>**, por ejemplo para el cliente MQTT con ID 0 el comando es:

```
AT+QMTCLOSE=0
```

* **3**: Fallo al iniciar el contexto PDP, siga los pasos en la sección 7. Configuración del APN, asegúrese de obtener una dirección IP, consulte con su proveedor de servicios si hay fallas de conexión a internet en la zona, intente con otra operadora/tarjeta SIM.
* **4**: Fallo al obtener el nombre de dominio, el nombre del bróker no se escribió correctamente o hay fallas en el servidor DNS, intente realizar un **PING** al servidor MQTT, si falla y el nombre del servidor es correcto entonces consulte con su proveedor de servicios si hay fallas de conexión a internet en la zona, intente con otra operadora/tarjeta SIM.
* **5**: Error de conexión con la red, puede deberse a un problema con el servidor o a una mala cobertura de la red en la zona, intente conectarse a otro servidor MQTT para descartar problemas en la red, si la falla continua consulte con su proveedor de servicios si hay fallas de conexión a internet en la zona, intente con otra operadora/tarjeta SIM.

</details>

<details>

<summary>El comando AT+QMTCONN muestra el error X</summary>

La lista de errores y sus posibles soluciones son las siguientes:

* **1**: Versión de protocolo errónea, el bróker utiliza una versión de protocolo MQTT diferente a la configurada en el **X-NODE 2G LTE GNSS (BG95-M3)** o éste no soporta la versión MQTT del bróker. Consulte con el equipo de soporte del bróker para conocer la versión requerida, puede que el **X-NODE 2G LTE GNSS (BG95-M3)** no sea compatible con está versión o requiera una actualización de firmware, puede obtener más información contactando a nuestro [equipo de soporte](https://www.microside.com/contacto).
* **2**: Identificador rechazado, el identificador ya se encuentra con una sesión activa en el bróker, personalice el campo \<client\_unique\_id>, si la falla persiste consulte con el equipo de soporte del bróker si el identificador de cliente debe seguir alguna nomenclatura especifica.
* **3**: Servidor no disponible, el bróker se encuentra ocupado, fuera de línea o hubo algún problema con la red.
* **4**: Nombre de usuario y/o contraseña incorrecta, revise los campos \<client\_username> y \<client\_password>, consulte con el equipo de soporte del bróker para garantizar que la información es correcta.
* **5**: No autorizado, el nombre de usuario y contraseña existen, pero el bróker ha bloqueado la conexión, consulte con el equipo de soporte del bróker para obtener más información.

</details>

<details>

<summary>El comando AT+QGPSLOC=2 no muestra la posición</summary>

La funcionalidad GNSS en el **X-NODE 2G LTE GNSS (BG95-M3)** requiere desactivar los contextos PDP y la antena debe encontrarse en cielo abierto.

Asegúrese de desactivar todos los contextos PDP con el comando **AT+DEACT=\<context\_id>**, también puede forzar el cierre de todos los contextos PDP con el comando:

```
AT+CFUN=1,1
```

Ubique la antena con vista a cielo abierto, edificios cercanos también pueden afectar el tiempo de obtención de posición, este proceso puede llegar a demorar hasta 10 minutos.

</details>

## VIII. Descargas

<table 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"><mark style="color:green;"><strong>Software QCOM_v1.6</strong></mark></td><td><a href="https://www.quectel.com/download/qcom_v1-8_en/">https://www.quectel.com/download/qcom_v1-8_en/</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FNwfqiWCrn3x28Ir4TLzV%2Fxc08-r2-schematic.pdf?alt=media&#x26;token=f6f17b00-b2ba-4573-8229-75452feac9b6">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FNwfqiWCrn3x28Ir4TLzV%2Fxc08-r2-schematic.pdf?alt=media&#x26;token=f6f17b00-b2ba-4573-8229-75452feac9b6</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FQzuHmnHsJcnfGMRbNHBb%2Fxc08-r2-dimensions.pdf?alt=media&#x26;token=cb1ffdd7-c30b-4341-a208-a77d8ed6fe86">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FQzuHmnHsJcnfGMRbNHBb%2Fxc08-r2-dimensions.pdf?alt=media&#x26;token=cb1ffdd7-c30b-4341-a208-a77d8ed6fe86</a></td></tr></tbody></table>


# X-NODE / XC09 – IN100 NanoBeacon Bluetooth

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/x-node-nanobeacon-bluetooth-in100-124">https://www.microside.com/shop/x-node-nanobeacon-bluetooth-in100-124</a></td></tr></tbody></table>

El **X-NODE NanoBeacon (IN100)** integra un módulo de conectividad inalámbrica **IN100** de **InPlay®** que otorga tecnología Bluetooth 5.3 para soluciones de IIoT e I4.0. Cuenta con un consumo de energía ultra bajo y un diseño compacto sin firmware que alberga dos tipos de memoria (OTP de 4Kb y SRAM de 4KB) que ayuda a centrarse en las necesidades y requisitos de su aplicación mediante el uso del software NanoBeacon™ Config Tool de InPla&#x79;**®**, una plataforma para probar y realizar configuraciones con una interfaz gráfica intuitiva y que permite brindar una comunicación inalámbrica fácilmente a sensores analógicos y digitales. El **X-NODE NanoBeacon (IN100)** también **incorpora una antena SMD de 2.4GHz** de **Johanson Technology**, una antena compacta de chip cerámico con gran fiabilidad y estabilidad, que mantiene el tamaño del dispositivo reducido y sin pérdidas de rendimiento, además **posee un conector UF.L** para uso de una antena externa. Gracias a sus características es ideal para diversas aplicaciones como seguimiento de activos, sistemas de ubicación en tiempo real, aplicaciones industriales inalámbricas y más.

### **TABLA DE CONTENIDO**

1. [**¿Cómo funciona?**](#i.-como-funciona)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
   * [**Configuración de jumpers**](#configuracion-de-jumpers)
   * [**Selección entre Antena SMD y conector U.FL**](#seleccion-entre-antena-smd-y-conector-u.fl)
3. [**Especificaciones**](#iii.-especificaciones)
4. [**Pinout**](#iv.-pinout)
5. [**Modo de uso**](#v.-modo-de-uso)
   * [**Ejemplo de uso con X-NODE MCU WIFI BLE**](#ejemplo-de-uso-con-x-node-mcu-wifi-ble-esp32-wroom-32)
6. [**Descargas**](#vi.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fj5beYNp4fYyLXztmwz3l%2FSCHEMATIC%20X-NODE%20NanoBeacon.pdf?alt=media\&token=88bad9c2-8076-4a25-9770-2f18151536fa)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FZtPaIynRUnauryL8lk8c%2FDIMENSIONS%20X-NODE%20NanoBeacon%20XC09.pdf?alt=media\&token=3459a4bb-33c0-4de0-b7a3-1b44e9827e6d)

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

El **X-NODE NanoBeacon (IN100)** cuenta con un puerto serial UART con el cual es posible establecer rápidamente una comunicación para la configuración del módulo, esto permite que el X-NODE sea compatible con cualquier sistema basado en un microcontrolador, microprocesador o equipos industriales.

**X-NODE NanoBeacon (IN100)** 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**

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

1. [**Antena SMD**](https://www.johansontechnology.com/datasheets/2450AT18D0100/2450AT18D0100.pdf) **2.4 GHz** tipo chip de [**Johanson Technology**](https://www.johansontechnology.com/)
2. Jumper selector entre antena SMD y conector U.FL
3. **Conector U.FL** macho **para antena externa** de 2.4 GHz
4. SoC NanoBeacon [**IN100**](https://inplay-tech.com/in100) by [**InPlay**](https://inplay-tech.com/)**®**
5. Conectores JST compatibles con [**Qwiic®**](https://www.sparkfun.com/qwiic)
6. Push button conectado al pin Reset
7. Pines de alimentación interna
8. Puertos de comunicación UART <> I2C
9. Modelo de X-NODE
10. Tipo de X-NODE
11. Portabatería CR1225
12. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
13. Versión de hardware: R1
14. Número de parte del componente principal en el X-NODE

### Configuración de jumpers

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

### **Selección entre Antena SMD y conector U.FL**

{% hint style="warning" %}
El **X-NODE NanoBeacon (IN100)** está configurado de fábrica para trabajar con la antena SMD integrada, en caso de querer utilizar una antena con conector U.FL es necesario cambiar de posición la resistencia.
{% endhint %}

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

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="245"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>BLE</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Ideal para aplicaciones de baja potencia, aplicaciones móviles, electrónica portátil, seguimiento de activos, sistemas de localización en tiempo real (RTLS), RFID activo, aplicaciones de (IoT), hogar inteligente, robótica avanzada, entre otros. </td></tr><tr><td><strong>Módulo</strong></td><td>SoC NanoBeacon <a href="https://inplay-tech.com/in100">IN100</a></td></tr><tr><td><strong>Fabricante</strong></td><td> <a href="https://inplay-tech.com/">InPlay</a>®</td></tr><tr><td><strong>Características</strong></td><td>Bluetooth Low Energy 5.3., tres modos de beacon, autenticación basada en AES-128, Anti-Cloning y protección de la privacidad, potencia de salida TX programable, hasta +4 dBm y dos tipos de memoria (OTP y SRAM).</td></tr><tr><td><strong>Interfaz</strong></td><td>UART, I2C, GPIO, ADC</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>66.42 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://inplay-tech.com/in100)
{% endhint %}

## **IV. Pinout**

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

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

## **V. Modo de uso**

El **X-NODE NanoBeacon (IN100)** utiliza el puerto de comunicación serial UART para su programación, cualquier convertidor USB-UART se puede emplear para programarlo usando la herramienta de software NanoBeacon™ Config Tool de InPla&#x79;**®**.&#x20;

El módulo cuenta con múltiples jumpers de configuración, ajústalos según tus necesidades con ayuda de la siguiente información:

<table><thead><tr><th width="140"></th><th></th></tr></thead><tbody><tr><td><strong>SW0&#x3C;V-Q> VCC</strong></td><td>Jumper que establece la fuente de voltaje para el bus de conexión Qwiic y los pull up I2C (V-Q). SW0 es configurable por software para los ajustes de wake-up y sleep, utilízalo para mejorar la eficiencia de la batería. VCC está siempre activo, utilízalo para facilitar las condiciones de prueba.</td></tr><tr><td><strong>3V3&#x3C;VCC> VBAT</strong></td><td>Jumper que establece la fuente de tensión para VCC, selecciona VBAT si se utiliza una pila de botón o 3V3 si se alimenta el dispositivo desde una fuente externa.</td></tr><tr><td><strong>TX</strong></td><td>Jumper que habilita la línea de transmisión para programación y depuración, deshabilítalo sólo después de la programación eFuse y si se espera que el dispositivo funcione en un bus UART de colector abierto como la plataforma XIDE.</td></tr><tr><td> <strong>RX</strong></td><td>Jumper que habilita la línea de recepción para programación y depuración, deshabilítalo sólo después de la programación eFuse y si se espera que el dispositivo funcione en un bus UART de colector abierto como la plataforma XIDE.</td></tr><tr><td> <strong>OPT</strong></td><td>Jumper que habilita el pin de programación hardware eFuse, habilítalo <strong>ÚNICAMENTE</strong> cuando se realice la programación de la memoria OTP (One-Time Programmable memory).</td></tr><tr><td><strong>CURRENT</strong></td><td>Jumper que conecta el pin 3V3 con el resto del circuito, habilítalo durante un funcionamiento normal o conéctalo a un amperímetro para medir el consumo de corriente.</td></tr><tr><td><strong>LED</strong></td><td>Jumper que activa el LED de encendido, puedes desactivar este jumper mientras el dispositivo está en funcionamiento con una batería para ahorrar energía.</td></tr></tbody></table>

Una vez realizada la configuración de jumpers adecuada para tu aplicación, conecta cualquier convertidor USB-UART a las terminales RX-TX del conector mikroBUS™ (Punto 8 - Descripción del hardware).

{% hint style="warning" %}
Recuerda que la lógica TTL debe ser la misma que el voltaje suministrado por el **X-NODE NanoBeacon (IN100)**, por ejemplo, si el **X-NODE NanoBeacon (IN100)** está siendo alimentado por 3.3V del mikroBUS™, entonces tu convertidor USB-UART debe trabajar en el mismo voltaje.
{% endhint %}

### Ejemplo de uso con X-NODE MCU WIFI BLE (ESP32-WROOM-32)

Puedes utilizar el **X-NODE NanoBeacon (IN100)** junto al **X-NODE MCU WIFI BLE (ESP32-WROOM-32)** para comunicarte con el dispositivo usando el siguiente código en Arduino IDE:

```arduino
void setup() {
  Serial.begin(115200);
  Serial2.begin(115200);
}

void loop() {
  if (Serial.available()) {        // If anything comes in Serial (USB),
    Serial2.write(Serial.read());  // read it and send it out Serial2 (pins TX & RX)
  }

  if (Serial2.available()) {       // If anything comes in Serial2 (pins TX & RX)
    Serial.write(Serial2.read());  // read it and send it out Serial (USB)
  }
}
```

{% hint style="warning" %}
Asegúrate de tener configurado el **X-NODE MCU WIFI BLE (ESP32-WROOM-32)** para su uso con los controladores necesarios, si aún no lo tienes configurado visita el siguiente enlace.

[**Configuración para su uso - X-NODE MCU WIFI BLE (ESP32-WROOM-32)**](https://docs.microside.com/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r4/x-node-xc01-esp32-wroom-controlador-wifi-and-bluetooth-r4#i.-como-funciona)
{% endhint %}

{% hint style="success" %}
Visita la página oficial de **InPlay NanoBeacon™ Config Tool** para ver su manual de usuario y video tutoriales completos para aprender todo sobre los ajustes de configuración de este módulo.

[**NanoBeacon™ Config Tool**](https://inplay-tech.com/nanobeacon-config-tool)
{% endhint %}

## **VI. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FPrbH8jW5s2LQx1PL3Dee%2FSCHEMATIC%20%20XC09%20X-NODE%20NanoBeacon.pdf?alt=media&#x26;token=cb9c2ff1-483b-4c54-806b-c1ab72780380">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FPrbH8jW5s2LQx1PL3Dee%2FSCHEMATIC%20%20XC09%20X-NODE%20NanoBeacon.pdf?alt=media&#x26;token=cb9c2ff1-483b-4c54-806b-c1ab72780380</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FZtPaIynRUnauryL8lk8c%2FDIMENSIONS%20X-NODE%20NanoBeacon%20XC09.pdf?alt=media&#x26;token=3459a4bb-33c0-4de0-b7a3-1b44e9827e6d">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FZtPaIynRUnauryL8lk8c%2FDIMENSIONS%20X-NODE%20NanoBeacon%20XC09.pdf?alt=media&#x26;token=3459a4bb-33c0-4de0-b7a3-1b44e9827e6d</a></td></tr></tbody></table>


# X-NODE / XC11 – Myriota M2-24 Red Satelital

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

El **X-NODE Satellite Network (M2-24)** integra un módulo de conectividad inalámbrica [**M2-24**](https://support.myriota.com/hc/en-us/articles/6158643449871-Module-Overview) de **Myriota** de satélites de órbita terrestre baja (**LEO**) de ultra bajo consumo de energía que puede operar hasta 3 años con una sola batería de 3 Ah\* y un módulo de geolocalización **GNSS**. También cuenta con un administrador e indicador de carga compatible con baterías Li-Po/Li-Ion, ideal para integración de sistemas de monitoreo de bajo volumen de datos en ubicaciones remotas o de difícil acceso como equipos de mantenimiento basado en condiciones (CBM) utilizados en la industria petrolera, minera, generación/distribución eléctrica y agrícola.

{% hint style="warning" %}
**\*NOTA:** El tiempo de vida útil de la batería puede variar dependiendo del uso que se le dé al sistema, recuerde estimar el consumo de corriente que demanda su solución antes de estimar el tiempo de funcionamiento de la batería.
{% endhint %}

### **TABLA DE CONTENIDO**

1. [**¿Cómo funciona?**](#i.-como-funciona)
2. [**Especificaciones**](#iii.-especificaciones)
3. [**Pinout**](#iv.-pinout)

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

El **X-NODE Satellite Network (M2-24)** está basado en el módulo [**M2-24**](https://support.myriota.com/hc/en-us/articles/6158643449871-Module-Overview) de [**Myriota**](https://myriota.com/), un módulo de comunicación compatible con la red [**Myriota UltraLite™**](https://myriota.com/es/myriota-ultralite/)<sup>**1**</sup>, una constelación de nanosatélites de órbita terrestre baja que permite registrar, procesar y transmitir datos a la nube con cobertura global. Este módulo integra una antena de ultra alta frecuencia (**UHF**) para enviar/recibir información y una antena **GNSS** utilizada para obtener la fecha/hora y estimar la posición de los satélites. La comunicación requiere de cielo abierto para funcionar correctamente, por lo que las antenas **NO** pueden usarse en **interiores**.

El módulo está basado en un microcontrolador (**MCU**) con arquitectura **ARM Cortex-M4** dispone **32kB** de memoria flash y **4kB** de RAM, cuenta con periféricos **SPI**, **I2C**, **UART**, **PCNT** y **ADC**. El **MCU** cuenta con un bootloader lo que permite reprogramar<sup>2</sup> el dispositivo a través del puerto USB tipo C y el convertidor USB a UART integrado. También puede utilizarse como modem a través de comandos **AT** sobre los pines **TX/RX** lo que permite brindar comunicación satelital a otros dispositivos.

{% hint style="warning" %}
**NOTA:**&#x20;

**1 -** La conexión con la red [**Myriota UltraLite™**](https://myriota.com/es/myriota-ultralite/) requiere una suscripción activa a los servicios de [**Myriota**](https://myriota.com/)**.** Consulte su página de [**preguntas frecuentes**](https://myriota.com/faqs/) para obtener más informació&#x6E;**.**

**2-** Para programar el dispositivo deberá contar con un equipo con **Linux/macOS** o instalar el **Subsistema de Windows para Linux (WSL)**. Puede leer las instrucciones para configurar el entorno de desarrollo (**SDK**) en la página de [desarrolladores de **Myriota**](https://support.myriota.com/hc/en-us/articles/6531032660879-UltraLite-Developer-Toolkit-QuickStart-Guide)**.**
{% endhint %}

Ideal para la integración en dispositivos basados en baterías gracias a su administrador e indicador de carga para baterías Li-Po/Li-Ion de una sola celda (revise la polaridad/composición de la batería antes de insertarla). El administrador de carga [MCP7383](https://ww1.microchip.com/downloads/en/DeviceDoc/MCP73831-Family-Data-Sheet-DS20001984H.pdf) de [Microchip Technology®](https://www.microchip.com/) entrega una corriente de carga de hasta 500mA. El indicador de carga de batería I2C [BQ27441](https://www.ti.com/lit/gpn/bq27441-g1) de [Texas Instruments](https://www.ti.com/) permite medir características de baterías de hasta 8000 mAh.

El **X-NODE Satellite Network (M2-24)** 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. Especificaciones**

<table data-header-hidden><thead><tr><th width="216.20001220703125"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Comunicación satelital de órbita terrestre baja</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Ideal para integración de sistemas de monitoreo de bajo volumen de datos en ubicaciones remotas o de difícil acceso como equipos de mantenimiento basado en condiciones (CBM) utilizados en la industria petrolera, minera, generación/distribución eléctrica y agrícola. </td></tr><tr><td><strong>Módulo</strong></td><td><a href="https://support.myriota.com/hc/en-us/articles/6158643449871-Module-Overview"><strong>Myriota M2-24</strong></a></td></tr><tr><td><strong>Fabricante</strong></td><td><a href="https://myriota.com/"><strong>Myriota</strong></a></td></tr><tr><td><strong>Características</strong></td><td><p>Comunicación <strong>UHF</strong> (400.15 - 435 MHz) hasta +28dBm.</p><p>Microcontrolador <strong>ARM Cortex-M4</strong> de 32-bit a <strong>48MHz</strong> con <strong>32kB</strong> de memoria flash y <strong>4kB</strong> de RAM.</p><p>Consumo de corriente en descanso profundo de hasta ~2 uA.</p></td></tr><tr><td><strong>Administrador de carga</strong></td><td><a href="https://ww1.microchip.com/downloads/en/DeviceDoc/MCP73831-Family-Data-Sheet-DS20001984H.pdf">MCP7383</a></td></tr><tr><td><strong>Fabricante</strong></td><td><a href="https://www.microchip.com/">Microchip Technology®</a></td></tr><tr><td><strong>Características</strong></td><td>Para baterías LiPo-Li-Ion de una sola celda, corriente de carga de hasta 500 mA. Con detección de batería automática y mecanismo de recarga automático.</td></tr><tr><td><strong>Indicador de carga de batería</strong></td><td><a href="https://www.ti.com/lit/gpn/bq27441-g1">BQ27441</a></td></tr><tr><td><strong>Fabricante</strong></td><td><a href="https://www.ti.com/">Texas Instruments</a></td></tr><tr><td><strong>Características</strong></td><td>Para baterías LiPo-Li-Ion de una sola celda de hasta 8000mAh, permite medir: estado de carga (SoC), estado de salud (SoH), capacidad (mAh), voltaje (mV) y corriente de carga/descarga (mA).</td></tr><tr><td><strong>Interfaz</strong></td><td>UART, I2C, GPIO, ADC</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>66.42 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://www2.myriota.com/module-datasheet)
{% endhint %}

## **III. Pinout**

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

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


# X-NODE / XC12 - Interfaz RS232/RS485

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

El **X-NODE RS232/RS485 Interface** es un módulo que permite a los X-NODE (configuración **X|B**) comunicarse con dispositivos bajo el estándar RS-232 o en una red RS-485. Este módulo es ideal para conectar dispositivos creados con la plataforma de XIDE con equipos industriales como PLCs, terminales de control y sensores, equipos de laboratorio y OEMs. Comunicación de dispositivos IoT con redes industriales que utilicen el estándar RS-232/485 como redes Modbus ASCII/RTU.

{% hint style="info" %}
**Nota:** El **X-NODE RS232/RS485 Interface** solo puede utilizarse junto a un X-NODE con configuración [mikroBUS™](https://www.mikroe.com/mikrobus) tipo **X|B** (pin RX arriba, TX abajo), como el [**XC01 R5**](/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r5/x-node-xc01-esp32-s3-controlador-wifi-and-bluetooth), consulte la sección Modo de uso para obtener más detalles.
{% endhint %}

### **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. [**Modo de uso**](#v.-modo-de-uso)
   * [**RS-232**](#rs-232)
   * [**RS-485**](#rs-485)
   * [**Ejemplo de uso con Arduino Framework**](#ejemplo-de-uso-con-el-framework-de-arduino)
6. [**Descargas**](#vi.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FAca45StRDEeyskQGn80w%2Fxc12-r1-schematic.pdf?alt=media\&token=3bcb1855-6c45-4158-a834-ef483bd6082a)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FYtYwM410Edr0WKb9tB7e%2Fxc12-r1-dimensions.pdf?alt=media\&token=379fe816-72a7-4785-9ed2-54e14901b4d7)

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

El **X-NODE RS232/RS485 Interface** es un módulo que implementa dos transceptores: el [**MAX3232**](https://www.ti.com/product/es-mx/MAX3232#tech-docs), un driver RS-232 que puede operar hasta 250 kbps y el [**THVD1426**](https://www.ti.com/product/es-mx/THVD1426#tech-docs), un transceptor RS-485 con autodireccionamiento y una velocidad de hasta 12 Mbps.

El módulo integra un conector **DE-9**\* común en los dispositivos que implementan comunicaciones seriales RS-232 en configuración **3-wire** tipo **DCE**, además una terminal de pines macho de 2.54 mm con las señales RX, TX y GND. Cuenta con un puerto con conector tipo clema de 3 pines para cables AWG de calibre 26 a 18 que permite acceder a las señales A, B y GND del transceptor RS-485, un jumper para habilitar una resistencia de terminación de 120 ohms que permite igualar la impedancia del cable y minimizar las interferencias en comunicaciones de largo alcance.

**X-NODE RS232/RS485 Interface** 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.

{% hint style="info" %}
***\**** El conector **DE-9** también es usualmente conocido como **DB-9**, a pesar de que éste último utiliza un conector de tamaño diferente.
{% endhint %}

## **II. Descripción del hardware**

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

1. Conector DE-9 para comunicaciones RS-232 en configuración **3-wire** tipo **DCE**.
2. Puerto serigrafiado con pines macho con separación de 2.54mm (0.1 pulgadas) para comunicaciones RS-232
3. Transceptor RS-232 [MAX3232](https://www.ti.com/product/es-mx/MAX3232#tech-docs)
4. Conector para comunicaciones RS-485 tipo clema de 9 pines para cables AWG de calibre 26 a 18
5. Transceptor RS-485 [THVD1426](https://www.ti.com/product/es-mx/THVD1426#tech-docs)
6. Jumper habilitador de resistencia de terminación de 120ohm.
7. Selector de transceptor para seleccionar comunicaciones: RS-232 <> RS-485
8. Puerto de comunicación UART
9. Modelo de X-NODE
10. Tipo de X-NODE
11. Jumpers para habilitar las señales A y B del transceptor RS-485 a los pines del conector DE-9
12. Conectores estándar [mikroBUS™](https://www.mikroe.com/mikrobus)
13. Versión del hardware: R1
14. Número de parte del componente principal en el X-NODE

> #### *<mark style="color:$info;">Acerca del protocolo RS-232 y el conector DE-9</mark>*
>
> *En comunicaciones RS-232 (**R**ecommended **S**tandard 232) existen hasta 25 señales para la especificación completa, que permiten el control de flujo de datos, transmisiones síncronas, etc., sin embargo, en la mayoría de los dispositivos se encuentran solo algunas, siendo el mínimo requerido para la comunicación 3 señales: **TX**, **RX** y GND. A esta configuración se le conoce como **3-wire** y es la implementada en el **X-NODE RS232/RS485 Interface**.*
>
> *El conector **DE-9**, también llamado **DB-9**, es comúnmente utilizado en comunicaciones RS-232, que designa una norma de patillaje para el intercambio de datos entre un **equipo terminal de datos** (**D**ata **T**erminal **E**quipment) y un **equipo de comunicación de datos** (**D**ata **C**ommunication **E**quipment). Dependiendo del tipo de equipo las señales RX y TX estarán ubicadas en pines diferentes del conector **DE-9**. En el caso del **X-NODE RS232/RS485 Interface** las señales siguen el patillaje tipo **DCE**, lo que permite la comunicación directa con dispositivos tipo **DTE** o a través de un cable **straight-through**, mientras que la comunicación con otros **DCE** requiere un cable tipo **null-modem** que cruce las señales **TX** y **RX**.*
>
> {% hint style="warning" %}
> ***Nota:** Si tiene problemas para enviar/recibir información entre el **X-NODE RS232/RS485 Interface** y otro dispositivo, revise si se trata de un dispositivo **DCE**, de ser así utilice un cable **null-modem**.*
> {% endhint %}

> #### *Acerca del protocolo RS-485*
>
> *En comunicaciones RS-485 la comunicación utiliza un modo de operación diferencial entre las señales A, B y GND, utilizando como medio cables de par trenzado. Esta configuración permite alcanzar velocidades de hasta 10 Mbps a una distancia de hasta 1200 metros (4000 ft). Para evitar perdida de datos, producto de imperfecciones en la fabricación o por degradación del cable, se suele emparejar las **impedancias** del cable utilizando una resistencia, con un valor típico de 120 ohm, el **X-NODE RS232/RS485 Interface** incluye un jumper que permite habilitar/deshabilitar esta resistencia de ese valor.*
>
> *RS-485 suele ocuparse en topologías tipo BUS, para lograrlo utiliza comunicaciones Half-Duplex, lo que significa que solo un dispositivo puede controlar el BUS a la vez, cuando el dispositivo no se encuentre transmitiendo información deberá liberar las líneas colocando el driver en modo de **alta impedancia (Hi-Z)**, lo que requiere un control activo del estado del driver, el **X-NODE RS232/RS485 Interface** cuenta con un mecanismo de auto-direccionamiento, que se encarga de este control de manera automática, sin embargo, el usuario debe asegurarse de no enviar información mientras se está recibiendo datos. Si el usuario requiere hacer uso de la comunicación UART (full-duplex) en el puerto* [*mikroBUS™*](https://www.mikroe.com/mikrobus) *sin afectar el bus RS-485 deberá forzar el estado del pin EN del **X-NODE RS232/RS485 Interface** a un bajo lógico, lo que deshabilitará el driver completamente.*

El **X-NODE RS232/RS485 Interface** puede conectar las señales A y B al conector **DE-9**, utilizando los puentes soldables CFG1 y CFG2, sin embargo, el patillaje no sigue ninguna norma, por lo que es responsabilidad del usuario acoplar las señales apropiadamente con el resto de los equipos.

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

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="161"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Transceptor RS-485 + RS-232</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Comunicación entre sistemas de IoT de 3.3 VDC con equipo industriales como PLCs, OEMs, equipos de laboratorio y sensores.</td></tr><tr><td><strong>Módulo</strong> 1</td><td><a href="https://www.ti.com/product/es-mx/MAX3232#tech-docs">MAX3232</a></td></tr><tr><td><strong>Fabricante</strong></td><td><a href="https://www.ti.com/">Texas Instruments Incorporated</a></td></tr><tr><td><strong>Módulo</strong> 2</td><td><a href="https://www.ti.com/product/es-mx/THVD1426#tech-docs">THVD1426</a></td></tr><tr><td><strong>Fabricante</strong></td><td><a href="https://www.ti.com/">Texas Instruments Incorporated</a></td></tr><tr><td><strong>Características</strong></td><td>* Transceptor RS-232 con una velocidad de operación de hasta 250 kbps y protección ESD de +/- 15kV<br>* Transceptor RS-485 con velocidad de operación de hasta 12 Mbps y protección ESD de +/- 12kV</td></tr><tr><td><strong>Interfaz</strong></td><td>UART, GPIO</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar mikroBUS™</td></tr><tr><td><strong>Tamaño</strong></td><td>70.64 x 33.33 x 25.55 mm</td></tr><tr><td><strong>Voltaje</strong></td><td>3.3 V</td></tr></tbody></table>

## **IV. Pinout**

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

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

## **V. Modo de uso**

Para utilizar el **X-NODE RS232/RS485 Interface** deberá conectar un dispositivo compatible con señales 3.3 VDC a los pines TX, RX y GND del puerto [mikroBUS™](https://www.mikroe.com/mikrobus), la mayoría de las comunicaciones RS-232/485 utilizan el formato de trama UART, por lo que se recomienda utilizar este periférico en su dispositivo.&#x20;

Si se utiliza una tarjeta con estándar [mikroBUS™](https://www.mikroe.com/mikrobus), verifique que las señales TX y RX estén cruzadas para permitir una comunicación correcta. En los X-NODE con patillaje **X|B**, los pines RX (14) y TX (13) se encuentran en posiciones opuestas a las de los X-NODE con patillaje **X|N**, donde los pines TX (14) y RX (13) están invertidos, lo que provoca que, al conectar un **X|B** con un **X|N**, el cruce de señales ocurra de forma automática.

{% hint style="warning" %}
El **X-NODE RS232/RS485 Interface** es un X-NODE con patillaje **X|N**, por lo que deberá utilizar un X-NODE con patillaje **X|B** para controlarlo.
{% endhint %}

### RS-232

En las comunicaciones sobre RS-232 la implementación específica del formato de trama depende del tipo de dispositivo, por ejemplo, los módems suelen tener una interfaz de comandos AT en formato ASCII. Para utilizar el **X-NODE RS232/RS485 Interface** puede conectar el periférico UART del controlador del sistema a los pines TX/RX del X-NODE, después conecte los pines TX/RX del X-NODE con los pines TX/RX del dispositivo RS-232, asegúrese de utilizar una configuración cruzada (RX con TX), después envíe los comandos de acuerdo al manual de uso proporcionado por el fabricante.

### RS-485

En el caso de las comunicaciones RS-485 es muy común que la comunicación utilice un protocolo, debido a su naturaleza *half-duplex*, uno de los protocolos más usados sobre RS-485 es Modbus RTU.

Modbus RTU se utiliza sistemas industriales para la transmisión de datos, funciona a través de una topología cliente-servidor(es), donde un cliente escribe/lee un registro de un servidor, existen diferentes tipos de registros de acuerdo al tamaño del registro y el propósito:

* Coil: Registros de escritura de 1 bit
* Discrete Inputs: Registros de lectura de 1 bit
* Holding Registers: Registros de 16 bits con acceso de escritura/lectura
* Input Registers: Registros de 16 bits con acceso de solo lectura

El **X-NODE RS232/RS485 Interface** puede utilizarse para conectar un periférico UART del controlador a una red Modbus RTU utilizando una librería de software que implemente el protocolo.

### Ejemplo de uso con el Framework de Arduino

Para poder compilar el ejemplo deberá descargar e instalar las librerías desde nuestro repositorio: [ArduinoRS485](https://github.com/MICROSIDE-TECHNOLOGY/ArduinoRS485/tree/1.1.0-dev1) y [ArduinoModbus](https://github.com/MICROSIDE-TECHNOLOGY/ArduinoModbus/tree/1.0.9-dev1), consulte como instalar en [ArduinoIDE](https://docs.arduino.cc/software/ide-v1/tutorials/installing-libraries/). Si está utilizando PlatformIO basta con agregar la siguiente línea al archivo platformio.ini en la opción lib\_deps:

```ini
lib_deps = 
    https://github.com/MICROSIDE-TECHNOLOGY/ArduinoRS485.git@1.1.0-dev1
    https://github.com/MICROSIDE-TECHNOLOGY/ArduinoModbus.git@1.0.9-dev1

```

{% hint style="info" %}
Código de ejemplo para el [XC01 - R5](https://docs.microside.com/plataforma-xide/xide-iot-i4.0/iot/x-nodes/xc01-mcu-wifi-ble-esp32-wroom-32), revisa el manual para utilizar nuestro [XC01 - R5](https://docs.microside.com/plataforma-xide/xide-iot-i4.0/iot/x-nodes/xc01-mcu-wifi-ble-esp32-wroom-32) en **Arduino IDE/PlatformIO**

Si está utilizando una tarjeta basada en ESP32, asegúrese de instalar las librerías desde nuestro repositorio de [Github](https://github.com/MICROSIDE-TECHNOLOGY), de lo contrario, podría no compilar adecuadamente.
{% endhint %}

#### Ejemplo de código de un cliente/servidor Modbus RTU

{% tabs %}
{% tab title="Cliente" %}

```cpp
#include <Arduino.h>
#include "ArduinoModbus.h"
#include "ArduinoRS485.h"

#define RS485_SERIAL         Serial2
#define RS485_DEVICE_ADDRESS 0x01
#define PIN_RS485_RX         9
#define PIN_RS485_TX         10
#define PIN_BUTTON           0
#define PIN_LED              16

RS485Class rs485( RS485_SERIAL, PIN_RS485_TX, -1, -1 );

void setup() {

  // Inicializar comunicación Serial
  Serial.begin( 115200 );                             // USB/UART0
  RS485_SERIAL.setPins( PIN_RS485_RX, PIN_RS485_TX ); // mikroBUS

  pinMode( PIN_BUTTON, INPUT_PULLUP );
  pinMode( PIN_LED, OUTPUT );

  // Inicializar driver RS485 
  rs485.begin( 115200 );

  // Inicializar cliente Modbus configuración 8N1@115200
  if ( !ModbusRTUClient.begin( rs485, 115200 ) ) {
    Serial.println( "ERROR Failed to start Modbus RTU Client!" );
    while ( 1 )
      ;
  }
}

void loop() {

  static uint8_t prev_led_status = HIGH;

  prev_led_status = !prev_led_status;

  // Conmuta el valor del registro Coil en la dirección 0x00
  if ( !ModbusRTUClient.coilWrite( RS485_DEVICE_ADDRESS, 0x00, prev_led_status ) ){
    Serial.print("Failed to write coil! ");
    Serial.println(ModbusRTUClient.lastError());
  }

  // Lee 1 valor del InputRegister en la dirección 0x00
  int input_register = ModbusRTUClient.inputRegisterRead( 1, 0x00 );

  if ( input_register < 0 ){
    Serial.print("Failed to read coil: ");
    Serial.println(ModbusRTUClient.lastError());
  } else {
    Serial.print("Button: ");
    Serial.println(input_register);
  }

  delay( 1000 );
}

```

{% endtab %}

{% tab title="Servidor" %}

```cpp
#include <Arduino.h>
#include "ArduinoModbus.h"
#include "ArduinoRS485.h"

#define RS485_SERIAL         Serial2
#define RS485_DEVICE_ADDRESS 0x01
#define PIN_RS485_RX         9
#define PIN_RS485_TX         10
#define PIN_BUTTON           0
#define PIN_LED              16

RS485Class rs485( RS485_SERIAL, PIN_RS485_TX, -1, -1 );

void setup() {

  // Inicializar comunicación Serial
  Serial.begin( 115200 );                             // USB/UART0
  RS485_SERIAL.setPins( PIN_RS485_RX, PIN_RS485_TX ); // mikroBUS

  pinMode( PIN_BUTTON, INPUT_PULLUP );
  pinMode( PIN_LED, OUTPUT );

  // Inicializar driver RS485 
  rs485.begin( 115200 );

  // Inicializar servidor Modbus configuración 8N1@115200
  if ( !ModbusRTUServer.begin( rs485, RS485_DEVICE_ADDRESS, 115200, SERIAL_8N1 ) ) {
    Serial.println( "ERROR Failed to start Modbus RTU Server!" );
    while ( 1 )
      ;
  }

  // Configurar 1 registro Coil en la dirección 0x00
  ModbusRTUServer.configureCoils( 0x00, 1 );
  // Configurar 1 registro DiscreteInput en la dirección 0x00
  ModbusRTUServer.configureDiscreteInputs( 0x00, 1 );
}

void loop() {

  static uint8_t previous_button_status = HIGH;
  uint8_t button_status = HIGH;

  // Revisar actividad en el bus
  int packetRecieved = ModbusRTUServer.poll();

  // Actualizar registros con información recibida
  if ( packetRecieved ) {
    uint8_t coil_value = ModbusRTUServer.coilRead( 0x00 );

    digitalWrite( PIN_LED, coil_value );
  }

  // Leer estado de las entradas
  button_status = digitalRead( PIN_BUTTON );

  // Actualizar registros con la nueva información
  if ( button_status != previous_button_status ) {
    previous_button_status = button_status;
    ModbusRTUServer.discreteInputWrite( 0x00, button_status );
  }
}

```

{% endtab %}
{% endtabs %}

## **VI. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FAca45StRDEeyskQGn80w%2Fxc12-r1-schematic.pdf?alt=media&#x26;token=3bcb1855-6c45-4158-a834-ef483bd6082a">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FAca45StRDEeyskQGn80w%2Fxc12-r1-schematic.pdf?alt=media&#x26;token=3bcb1855-6c45-4158-a834-ef483bd6082a</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FYtYwM410Edr0WKb9tB7e%2Fxc12-r1-dimensions.pdf?alt=media&#x26;token=379fe816-72a7-4785-9ed2-54e14901b4d7">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FYtYwM410Edr0WKb9tB7e%2Fxc12-r1-dimensions.pdf?alt=media&#x26;token=379fe816-72a7-4785-9ed2-54e14901b4d7</a></td></tr></tbody></table>


# XN01 - Entradas Digitales

<table data-card-size="large" data-view="cards" data-full-width="true"><thead><tr><th align="center"></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><mark style="color:green;"><strong>XN01 versión A-R1</strong></mark></td><td data-object-fit="contain"><a href="/files/HbH2frWQZEVjBh7SfjT9">/files/HbH2frWQZEVjBh7SfjT9</a></td><td><a href="/pages/QrzjqptSLJIvm9c9Ar55">/pages/QrzjqptSLJIvm9c9Ar55</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>XN01 versión A-R2</strong></mark></td><td data-object-fit="contain"><a href="/files/yP4rcOhe3RN9nZmGmG6O">/files/yP4rcOhe3RN9nZmGmG6O</a></td><td><a href="/pages/PGjznniPXzthXJFCbKmx">/pages/PGjznniPXzthXJFCbKmx</a></td></tr></tbody></table>


# R1


# X-NODE/XN01 - Entradas Digitales A-R1

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

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

[XN01 - R2](/plataforma-xide-iot/x-nodes/xn01-entradas-digitales/r2/x-node-xn01-entradas-digitales)
{% endhint %}

El **X-NODE Digital Inputs** es un módulo que permite leer hasta 8 entradas digitales. Puede leer señales generadas por botones pulsadores, interruptores o sensores, a través de una interfaz digital (UART/I2C) que es configurable lo que permite conectar múltiples **X-NODE Digital Inputs** simultáneamente, expandiendo la cantidad de entradas que puede leer un sistema desde 8 hasta 1016.

{% hint style="warning" %}
Las entradas del **X-NODE Digital Inputs** utilizan resistencias pull-up. Para hacer uso de señales externas coloque el interruptor en la posición **OFF**, las señales externas deben ser de **colector abierto**. Las señales generadas por botones o interruptores externos deben conectarse a GND. Nunca conecte fuentes de voltaje al **X-NODE Digital Inputs** o podría dañar el dispositivo.
{% endhint %}

{% hint style="info" %}
Si requiere leer señales digitales con un rango de voltaje de 5 a 24VDC, tipo NPN o PNP. Revise nuestro [**X-NODE XN26 - 4 x24V Input**](/plataforma-xide-iot/x-nodes/x-node-xn26-4-x-entradas-24v-dc).
{% endhint %}

### **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. [**Modo de uso**](#v.-modo-de-uso)
   * [**Protocolo UART** ](#protocolo-uart)
   * [**Ejemplo UART Arduino Framework**](#ejemplo-uart-arduino-framework)
   * [**Protocolo I2C**](#protocolo-i2c)
   * [**Ejemplo I2C Arduino Framework**](#ejemplo-i2c-arduino-framework)
6. [**Descargas**](#vi.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F1ldsbcfGRUIps0mRMWpa%2FSCHEMATIC%20XN01%20-%20Digital%20Inputs.pdf?alt=media\&token=8b0adde7-c6a0-4410-9f35-53f370e85181)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FHN4OZTUAXYKjIjbRhUc8%2FDIMENSIONS%20XN01%20-%20Digital%20Inputs.pdf?alt=media\&token=343ee0ec-5f70-4878-ac47-a66c7efb35d8)

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

El módulo **X-NODE Digital Inputs** posee un controlador en hardware integrado con el cual es posible obtener la lectura de diversas entradas digitales sin tener conocimientos avanzados de hardware, ya que solo es necesario enviar una serie de comandos en formato ASCII por medio del protocolo de comunicación serial UART o usando el protocolo I2C, esto permite que el X-NODE sea compatible con cualquier sistema basado en un microcontrolador, microprocesador o equipos industriales. El módulo integra un switch deslizable de 8 interruptores tipo palanca los cuales pueden variar entre los estados ON<>OFF, un puerto con pines macho y orificios, ideales para realizar pruebas de escritorio y para conectar señales externas.

**X-NODE Digital Inputs** 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="/files/4X0YgGnt8ytpoXe1nJmc" alt=""><figcaption></figcaption></figure>

1. Puerto serigrafiado con pines macho y orificios para entradas digitales
2. Switch deslizable
3. Conectores JST compatibles con [**Qwiic®**](https://www.sparkfun.com/qwiic)
4. Controlador en hardware
5. Puertos de comunicación UART <> I2C
6. Modelo de X-NODE
7. Tipo de X-NODE
8. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
9. Versión de hardware R1
10. Componente principal en el X-NODE

### **III. Especificaciones** <a href="#iii.-especificaciones" id="iii.-especificaciones"></a>

CommentShare feedback on the editor

<table data-header-hidden><thead><tr><th width="167"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Entradas digitales</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Integración en proyectos de IoT y uso de propósito general, como en cambios de estado, secuencias o configuración en indicadores y actuadores de un circuito o proyecto electrónico.</td></tr><tr><td><strong>Características</strong></td><td>Switch deslizable de 8 interruptores tipo palanca, vida eléctrica de hasta 2000 ciclos, una resistencia de aislamiento de hasta 100 MΩ y puede operar en un rango de temperatura de -10 °C hasta 80 °C. Puerto de pines macho y orificios para 8 entradas externas y GND.</td></tr><tr><td><strong>Interfaz</strong></td><td>UART, I2C</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus"><strong>mikroBUS™</strong></a> y estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a></td></tr><tr><td><strong>Tamaño</strong></td><td>65.15 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="warning" %}
Las entradas del **X-NODE Digital Inputs** utilizan resistencias pull-up. Para hacer uso de señales externas coloque el interruptor en la posición **OFF**, las señales externas deben ser de **colector abierto**. Las señales generadas por botones o interruptores externos deben conectarse a GND.
{% endhint %}

{% hint style="danger" %}
**¡ Advertencia !** Nunca conecte fuentes de voltaje a las entradas del **X-NODE Digital Inputs**, hacerlo puede dañar el dispositivo.
{% endhint %}

## **IV. Pinout**

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

<figure><img src="/files/7HcICuWHn2fvqlwQJ7t9" alt=""><figcaption></figcaption></figure>

## **V. Modo de uso**

Para un uso fácil y rápido del X-NODE se puede hacer a través de los comandos en formato ASCII que proporciona el controlador en hardware integrado mediante una comunicación serial UART o de forma más avanzada a través del protocolo I2C.

### Protocolo UART

#### Configuración

La comunicación UART utiliza la siguiente configuración:

* Velocidad de comunicación: 115,200 bps
* Paridad: Ninguna
* Bits de datos: 8
* Bits de paro: 1

#### Sintaxis

El protocolo UART permite enviar instrucciones en texto plano *ASCII*, cada instrucción se compone del **identificador del X-NODE, un comando y un final de línea**.

**Identificador**

El identificador **ID**, se conforma por el modelo del X-NODE, que puede localizar en el punto 6 del apartado “Descripción de hardware” y se complementa con un índice, que puede ser una letra del abecedario, por defecto es la letra **A**, siendo posible configurarlo hasta la letra **Z**. Para poder conectar más de un módulo del mismo modelo en un sistema, deberá configurar un identificador único para cada módulo, brindando la posibilidad de conectar hasta 26 módulos del mismo modelo a través del protocolo UART.

<figure><img src="/files/4VrAfilGt6sfs5GQVez3" alt=""><figcaption></figcaption></figure>

**Lista de comandos**

<table data-header-hidden><thead><tr><th width="210"></th><th></th></tr></thead><tbody><tr><td><strong>XN01A?</strong></td><td>Verifica si se estableció una comunicación con éxito.<br><strong>Respuesta:</strong> OK</td></tr><tr><td><strong>XN01A+V</strong></td><td>Obtiene la versión del firmware actual que integra el X-NODE.<br><strong>Respuesta:</strong> XN01A=Versión<br><strong>Ejemplo:</strong> XN01A=0.1</td></tr><tr><td><strong>XN01A+ID=(A-Z)</strong></td><td>Cambia el índice del ID por una letra diferente del abecedario de la A a la Z, la nueva letra debe ser en mayúscula. Una vez modificado, para volver a cambiarlo es necesario colocar el ID con el nuevo índice.<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN01C+ID=H</td></tr><tr><td><strong>XN01A+TW=(1-126)</strong></td><td>Cambia la dirección I2C que viene de fábrica por uno diferente. La nueva dirección se escribe en decimal seleccionando un valor de 1 a 126.<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN01A+TW=28</td></tr><tr><td><strong>XN01A+GS</strong></td><td>Obtiene el estado de cada una de las 8 entradas, sea en los interruptores o en el puerto. Retorna números 1 (Alto) y 0 (Bajo) dependiendo del estado de cada entrada. La entrada 1 es el primer valor de la izquierda, interpretándolo así el valor de izquierda a derecha.<br><strong>Respuesta:</strong> XN01A=int1, int2, int3, int4, int5, int6, int7, int8<br><strong>Ejemplo:</strong> XN01A=11011011</td></tr></tbody></table>

#### Final de línea

El X-NODE solo responderá a un comando cuando se envíe un conjunto de caracteres finalizadores de línea, cada comando debe terminar con estos caracteres: **\<CR+LF>**

* CR significa retorno de carro (carriage return), este carácter se utiliza para indicar a un sistema que la entrada de texto debe moverse al principio.
* LF significa alimentación de línea (line feed), este carácter le indica a un sistema que la entrada de texto corresponde a una nueva línea.

La combinación de ambos caracteres es una manera común con el que las computadoras representan una nueva línea, por ejemplo, en un procesador de texto para separar párrafos.

En el caso del X-NODE los caracteres **\<CR+LF>**, se utilizan para identificar cuando se ha terminado de enviar un comando. Si el identificador corresponde al nodo, si el comando existe y si se finalizó inmediatamente con los caracteres **\<CR+LF>**, entonces el nodo enviará una respuesta.

Dependiendo del sistema, deberá configurar el envío de estos caracteres de diferentes maneras.

#### Ejemplo UART Arduino Framework

{% hint style="info" %}
Código de ejemplo para el [**XC01 - R4**](/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r4/x-node-xc01-esp32-wroom-controlador-wifi-and-bluetooth-r4), revisa el manual para utilizar nuestro [XC01 - R4 en **Arduino IDE/PlatformIO**](https://docs.microside.com/plataforma-xide-iot/x-nodes/xn01-entradas-digitales/r1/pages/HcLUnJPVDumIHk6xsEpi#v.-configuracion-para-su-uso)
{% endhint %}

```cpp

// Este ejemplo muestra el estado de las entradas
// del X-NODE. Deslice la posición del interruptor
// para observar los cambios de estado.
​
#include "Arduino.h"
​
void setup()
{
  // Inicializa el monitor serial
  Serial.begin(115200);
​
  // Inicializa la comunicación UART en el puerto MikroBUS
  Serial2.begin(115200, SERIAL_8N1, 16, 17);
}
​
void loop()
{
    // Limpiamos el buffer antes de mandar el comando
    while( Serial2.available() ) {
        Serial2.read();
    }
​
    // Envía el comando para leer las entradas:
    // ID+GS:
    // Donde el ID por defecto es XN01A
    // Los caracteres \r\n representan los caracteres
    // <CR+LF> en Arduino
    Serial2.print( "XN01A+GS\r\n" );
​
    // Espera hasta recibir una respuesta
    String inputs = Serial2.readStringUntil('\n');
​
    // Si la respuesta comienza por el ID
    // entonces la comunicación fue exitosa
    if ( inputs.startsWith( "XN01A=" ) ) {
        Serial.println( inputs );
    } else {
        Serial.println( "Error" );
    }
​
    delay( 1000 );
}
```

### Protocolo I2C

Para poder establecer comunicación se debe conocer la dirección I2C del X-NODE, el valor de fábrica se compone por los dos últimos dígitos del modelo después de “XN”. Las direcciones I2C suelen representarse en sistema **hexadecimal**, mientras que el modelo del X-NODE está en sistema **decimal**, asegúrese de utilizar el sistema numérico adecuado.

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

#### Configuración

* Velocidad de comunicación: 100 kHz
* Address: 7 bits

{% hint style="info" %}
**Nota:** Verifica que no cuentes con otro dispositivo con la misma dirección (Address) en el BUS I2C, de ser así recuerda que el X-NODE puede cambiar su dirección I2C con el comando **XN01A+TW=(1-126)**.
{% endhint %}

#### Lista de registros

En un dispositivo I2C los registros son direcciones de memoria que permiten configurar u obtener datos del dispositivo. Existen dos tipos de operaciones: de lectura (R) y de escritura (W).

En el **X-NODE Digital Inputs** solo existe una operación, lectura del estado lógico de las entradas. Para leer el registro el dispositivo maestro I2C debe generar las siguientes operaciones:

1. Enviar una **condición de inicio**: El dispositivo maestro genera un lógico bajo (0) en el pin SDA, mientras SCL permanece en alto (1).
2. Enviar la dirección del **X-NODE**: El dispositivo maestro envía la dirección de 7 bits.
3. Enviar el **tipo de operación**: El dispositivo maestro indica si la operación es de lectura (0) o de escritura (1).
4. Esperar una señal de **reconocimiento (ACK)**: El dispositivo maestro espera a recibir un lógico bajo (0), como confirmación (Acknowledgment) que exista un dispositivo con la dirección enviada previamente en el BUS I2C. Si no se recibe respuesta (1), significa que hubo un error en la comunicación o la dirección es incorrecta.
5. Recibir **1 byte** de datos: El dispositivo enviará al maestro 8 bits (1 byte), cada bit representa un estado lógico de una entrada, donde el bit más significativo (el que se recibe primero) corresponde al estado de la entrada I8, siguiendo un orden de mayor a menor.
6. Esperar una señal de **no reconocimiento (NACK)**: El dispositivo enviará una señal de **no reconocimiento (Not Acknowledgment)** al maestro, indicando que ha terminado de enviar información.
7. Enviar una **condición de paro**: El dispositivo maestro debe liberar el BUS I2C generando un lógico alto (1) en el pin SDA mientras que SCL se encuentra en un lógico alto (1).

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

#### Ejemplo I2C Arduino Framework

{% hint style="info" %}
Código de ejemplo para el [**XC01 - R4**](/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r4/x-node-xc01-esp32-wroom-controlador-wifi-and-bluetooth-r4), revisa el manual para utilizar nuestro [XC01 - R4 en **Arduino IDE/PlatformIO**](https://docs.microside.com/plataforma-xide-iot/x-nodes/xn01-entradas-digitales/r1/pages/HcLUnJPVDumIHk6xsEpi#v.-configuracion-para-su-uso)
{% endhint %}

```cpp
// Este ejemplo muestra el estado de las entradas
// del X-NODE. Deslize la posición del interruptor
// para observar los cambios de estado.

#include <Arduino.h>
#include <Wire.h>

void setup()
{
  // Inicializa el monitor serial
  Serial.begin(115200);

  // Inicializa la comunicación I2C
  Wire.begin();
}

void loop()
{
    uint8_t bytes_recv = 0;
    uint8_t inputs = 0;
    // Enviar condición de inicio + dirección
    // + tipo operación + cantidad de bytes a leer
    bytes_recv = Wire.requestFrom( 0x01, 1 );

    // Confirmar que se recibió 1 byte
    if ( bytes_recv != 1 ) {
        Serial.println( "Error" );
        delay( 1000 );
        return;
    }

    inputs = Wire.read();

    // Mostrar el estado en formato binario (omite
    // 0's a la izquierda)
    Serial.print( "XN01A=" );
    Serial.println( inputs, BIN );

    delay( 1000 );
}

```

## **VI. Descargas**

<table data-card-size="large" data-view="cards"><thead><tr><th align="center"></th><th data-hidden 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://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F1ldsbcfGRUIps0mRMWpa%2FSCHEMATIC%20XN01%20-%20Digital%20Inputs.pdf?alt=media&#x26;token=8b0adde7-c6a0-4410-9f35-53f370e85181">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F1ldsbcfGRUIps0mRMWpa%2FSCHEMATIC%20XN01%20-%20Digital%20Inputs.pdf?alt=media&#x26;token=8b0adde7-c6a0-4410-9f35-53f370e85181</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FHN4OZTUAXYKjIjbRhUc8%2FDIMENSIONS%20XN01%20-%20Digital%20Inputs.pdf?alt=media&#x26;token=343ee0ec-5f70-4878-ac47-a66c7efb35d8">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FHN4OZTUAXYKjIjbRhUc8%2FDIMENSIONS%20XN01%20-%20Digital%20Inputs.pdf?alt=media&#x26;token=343ee0ec-5f70-4878-ac47-a66c7efb35d8</a></td></tr></tbody></table>


# R2


# X-NODE / XN01 - Entradas Digitales

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/x-node-entradas-digitales-28">https://www.microside.com/shop/x-node-entradas-digitales-28</a></td></tr></tbody></table>

El **X-NODE Digital Inputs** es un módulo que permite leer hasta 8 entradas digitales. Puede leer señales generadas por botones pulsadores, interruptores o sensores, a través de una interfaz digital (UART/I2C) que es configurable lo que permite conectar múltiples **X-NODE Digital Inputs** simultáneamente, expandiendo la cantidad de entradas que puede leer un sistema desde 8 hasta 1016.

{% hint style="warning" %}
Las entradas del **X-NODE Digital Inputs** utilizan resistencias pull-up. Para hacer uso de señales externas coloque el interruptor en la posición **OFF**, las señales externas deben ser de **colector abierto**. Las señales generadas por botones o interruptores externos deben conectarse a GND. Nunca conecte fuentes de voltaje al **X-NODE Digital Inputs** o podría dañar el dispositivo.
{% endhint %}

{% hint style="info" %}
Si requiere leer señales digitales con un rango de voltaje de 5 a 24VDC, tipo NPN o PNP. Revise nuestro [**X-NODE XN26 - 4 x24V Input**](/plataforma-xide-iot/x-nodes/x-node-xn26-4-x-entradas-24v-dc).
{% endhint %}

### **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. [**Modo de uso**](#v.-modo-de-uso)
   * [**Protocolo UART** ](#protocolo-uart)
   * [**Ejemplo UART Arduino Framework**](#ejemplo-uart-arduino-framework)
   * [**Protocolo I2C**](#protocolo-i2c)
   * [**Ejemplo I2C Arduino Framework**](#ejemplo-i2c-arduino-framework)
6. [**Descargas**](#vi.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FCThPVRmWZzIfmydz02c3%2Fschematic.pdf?alt=media\&token=ce7c9c1f-3421-45c4-aa1a-99cca2172f7d)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FU3pHQiMzNXVmd02ndzQq%2Fdimentions.pdf?alt=media\&token=d122cc96-4637-4904-ad3d-a3e0db7cd58b)

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

El módulo **X-NODE Digital Inputs** posee un controlador en hardware integrado con el cual es posible obtener la lectura de diversas entradas digitales sin tener conocimientos avanzados de hardware, ya que solo es necesario enviar una serie de comandos en formato ASCII por medio del protocolo de comunicación serial UART o usando el protocolo I2C, esto permite que el X-NODE sea compatible con cualquier sistema basado en un microcontrolador, microprocesador o equipos industriales. El módulo integra un switch deslizable de 8 interruptores tipo palanca los cuales pueden variar entre los estados ON<>OFF, conector tipo clema de 9 pines para cables AWG de calibre 26 a 18, ideales para realizar pruebas de escritorio y para conectar controles externos.

**X-NODE Digital Inputs** 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**

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

1. Conector tipo clema de 9 pines para cables AWG de calibre 26 a 18
2. Switch deslizable
3. Conectores JST compatibles con [Qwiic®](https://www.sparkfun.com/qwiic)
4. Controlador en hardware
5. Puertos de comunicación UART <> I2C
6. Modelo de X-NODE
7. Tipo de X-NODE
8. Conectores estándar [mikroBUS™](https://www.mikroe.com/mikrobus)
9. Versión de hardware: R2
10. Componente principal en el X-NODE

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="171"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Entradas digitales</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Integración en proyectos de IoT y uso de propósito general, como en cambios de estado, secuencias o configuración en indicadores y actuadores de un circuito o proyecto electrónico.</td></tr><tr><td><strong>Características</strong></td><td>Switch deslizable de 8 interruptores tipo palanca, vida eléctrica de hasta 2000 ciclos, una resistencia de aislamiento de hasta 100 MΩ y puede operar en un rango de temperatura de -10 °C hasta 80 °C. Conector tipo clema de 9 pines para cables AWG de calibre 26 a 18, para 8 entradas digitales y GND.</td></tr><tr><td><strong>Interfaz</strong></td><td>UART, I2C</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus"><strong>mikroBUS™</strong></a>  y estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a> </td></tr><tr><td><strong>Tamaño</strong></td><td>67.13 x 25.4 x 22 mm</td></tr><tr><td><strong>Voltaje</strong> </td><td>3.3 V </td></tr></tbody></table>

{% hint style="warning" %}
Las entradas del **X-NODE Digital Inputs** utilizan resistencias pull-up. Para hacer uso de señales externas coloque el interruptor en la posición **OFF**, las señales externas deben ser de **colector abierto**. Las señales generadas por botones o interruptores externos deben conectarse a GND.
{% endhint %}

{% hint style="danger" %}
**¡ Advertencia !** Nunca conecte fuentes de voltaje a las entradas del **X-NODE Digital Inputs**, hacerlo puede dañar el dispositivo.
{% endhint %}

## **IV. Pinout**

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

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

## **V. Modo de uso**

Para un uso fácil y rápido del X-NODE se puede hacer a través de los comandos en formato ASCII que proporciona el controlador en hardware integrado mediante una comunicación serial UART o de forma más avanzada a través del protocolo I2C.

### Protocolo UART

#### Configuración

La comunicación UART utiliza la siguiente configuración:

* Velocidad de comunicación: 115,200 bps
* Paridad: Ninguna
* Bits de datos: 8
* Bits de paro: 1

#### Sintaxis

El protocolo UART permite enviar instrucciones en texto plano *ASCII*, cada instrucción se compone del **identificador del X-NODE, un comando y un final de línea**.

**Identificador**

El identificador **ID**, se conforma por el modelo del X-NODE, que puede localizar en el punto 6 del apartado “Descripción de hardware” y se complementa con un índice, que puede ser una letra del abecedario, por defecto es la letra **A**, siendo posible configurarlo hasta la letra **Z**. Para poder conectar más de un módulo del mismo modelo en un sistema, deberá configurar un identificador único para cada módulo, brindando la posibilidad de conectar hasta 26 módulos del mismo modelo a través del protocolo UART.

<figure><img src="/files/I6qBfLNxp4WfG3JGfuGC" alt="X-NODE XN01 MICROSIDE_01"><figcaption></figcaption></figure>

{% hint style="warning" %}
**Nota:** A partir de este punto se utilizará el índice predeterminado del X-NODE **XN01 - Digital Inputs** para el resto del manual: **XN01A**.
{% endhint %}

**Lista de comandos**

<table data-header-hidden><thead><tr><th width="171.79998779296875"></th><th></th></tr></thead><tbody><tr><td><strong>XN01A?</strong></td><td>Verifica si se estableció una comunicación con éxito.<br><strong>Respuesta:</strong> OK</td></tr><tr><td><strong>XN01A+V</strong></td><td>Obtiene la versión del firmware actual que integra el X-NODE.<br><strong>Respuesta:</strong> XN01A=Versión<br><strong>Ejemplo:</strong> XN01A=0.1</td></tr><tr><td><strong>XN01A+ID=(A-Z)</strong></td><td>Cambia el índice del ID por una letra diferente del abecedario de la A a la Z, la nueva letra debe ser en mayúscula. Una vez modificado, para volver a cambiarlo es necesario colocar el ID con el nuevo índice.<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN01C+ID=H</td></tr><tr><td><strong>XN01A+TW=(1-126)</strong></td><td>Cambia la dirección I2C que viene de fábrica por uno diferente. La nueva dirección se escribe en decimal seleccionando un valor de 1 a 126.<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN01A+TW=28</td></tr><tr><td><strong>XN01A+GS</strong></td><td>Obtiene el estado de cada una de las 8 entradas, sea en los interruptores o en el puerto. Retorna números 1 (Alto) y 0 (Bajo) dependiendo del estado de cada entrada. La entrada 1 es el primer valor de la izquierda, interpretándolo así el valor de izquierda a derecha.<br><strong>Respuesta:</strong> XN01A=int1, int2, int3, int4, int5, int6, int7, int8<br><strong>Ejemplo:</strong> XN01A=11011011</td></tr></tbody></table>

#### Comandos avanzados

<table data-header-hidden><thead><tr><th width="173.4000244140625"></th><th></th></tr></thead><tbody><tr><td><strong>XN01A+ETW=(0-1)</strong></td><td>Habilita (1) o deshabilita (0) la interfaz I2C del dispositivo.<br><strong>Nota</strong>: Esta configuración es volátil, desconectar el dispositivo del suministro de energía o enviar el comando de reinicio restaurará la interfaz I2C.<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN01A+ETW=0</td></tr><tr><td><strong>XN01A+SLP</strong></td><td>Habilita el modo de descanso profundo del dispositivo para reducir el consumo de energía, durante el descanso profundo el dispositivo no responderá a comandos UART, para despertar el dispositivo envíe un lógico bajo (0) al pin WAKEUP/UPDI<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN01A+SLP</td></tr><tr><td><strong>XN01A+RST</strong></td><td>Reinicia el dispositivo, los valores no volátiles (ej. ID, address I2C) se conservarán y los valores volátiles volverán a su configuración por defecto.<br><strong>Respuesta:</strong> OK</td></tr></tbody></table>

{% hint style="warning" %}
**Nota:** El modo de descanso profundo del X-NODE **XN01 - Digital Inputs** tiene un consumo típico de 5 uA, sin embargo, cada entrada tiene una resistencia pull-up de \~10kOhm, cuando se activa la entrada a través de los interruptores o una señal externa el consumo será aproximadamente 330uA por entrada.
{% endhint %}

#### Final de línea

El X-NODE solo responderá a un comando cuando se envíe un conjunto de caracteres finalizadores de línea, cada comando debe terminar con estos caracteres: **\<CR+LF>**

* CR significa retorno de carro (carriage return), este carácter se utiliza para indicar a un sistema que la entrada de texto debe moverse al principio.
* LF significa alimentación de línea (line feed), este carácter le indica a un sistema que la entrada de texto corresponde a una nueva línea.

La combinación de ambos caracteres es una manera común con el que las computadoras representan una nueva línea, por ejemplo, en un procesador de texto para separar párrafos.

En el caso del X-NODE los caracteres **\<CR+LF>**, se utilizan para identificar cuando se ha terminado de enviar un comando. Si el identificador corresponde al nodo, si el comando existe y si se finalizó inmediatamente con los caracteres **\<CR+LF>**, entonces el nodo enviará una respuesta.

Dependiendo del sistema, deberá configurar el envío de estos caracteres de diferentes maneras.

#### Ejemplo UART Arduino Framework

{% hint style="info" %}
Código de ejemplo para el [XC01 - R5](https://docs.microside.com/plataforma-xide/xide-iot-i4.0/iot/x-nodes/xc01-mcu-wifi-ble-esp32-wroom-32), revisa el manual para utilizar nuestro [XC01 - R5](https://docs.microside.com/plataforma-xide/xide-iot-i4.0/iot/x-nodes/xc01-mcu-wifi-ble-esp32-wroom-32) en **Arduino IDE/PlatformIO**
{% endhint %}

```cpp

// Este ejemplo muestra el estado de las entradas
// del X-NODE. Deslice la posición del interruptor
// para observar los cambios de estado.

#include "Arduino.h"

void setup()
{
  // Inicializa el monitor serial
  Serial.begin(115200);

  // Inicializa la comunicación UART en el puerto MikroBUS
  Serial2.begin(115200, SERIAL_8N1, 9, 10);
}

void loop()
{
    // Limpiamos el buffer antes de mandar el comando
    while( Serial2.available() ) {
        Serial2.read();
    }

    // Envía el comando para leer las entradas:
    // ID+GS:
    // Donde el ID por defecto es XN01A
    // Los caracteres \r\n representan los caracteres
    // <CR+LF> en Arduino
    Serial2.print( "XN01A+GS\r\n" );

    // Espera hasta recibir una respuesta
    String inputs = Serial2.readStringUntil('\n');

    // Si la respuesta comienza por el ID
    // entonces la comunicación fue exitosa
    if ( inputs.startsWith( "XN01A=" ) ) {
        Serial.println( inputs );
    } else {
        Serial.println( "Error" );
    }

    delay( 1000 );
}

```

### Protocolo I2C

Para poder establecer comunicación se debe conocer la dirección I2C del X-NODE, el valor de fábrica se compone por los dos últimos dígitos del modelo después de “XN”. Las direcciones I2C suelen representarse en sistema **hexadecimal**, mientras que el modelo del X-NODE está en sistema **decimal**, asegúrese de utilizar el sistema numérico adecuado.

<figure><img src="/files/QEnWQiD2zmfnGjzV3ZHr" alt="X-NODE XN01 MICROSIDE_02"><figcaption></figcaption></figure>

#### Configuración

* Velocidad de comunicación: 100 kHz
* Address: 7 bits

{% hint style="info" %}
**Nota:** Verifica que no cuentes con otro dispositivo con la misma dirección (Address) en el BUS I2C, de ser así recuerda que el X-NODE puede cambiar su dirección I2C con el comando **XN01A+TW=(1-126)**.
{% endhint %}

#### Escritura

Para escribir en un registro del **X-NODE Digital Inputs** el maestro I2C debe generar las siguientes operaciones:

1. Enviar una **condición de inicio**: El maestro genera un lógico bajo (0) en el pin SDA, mientras SCL permanece en alto (1).
2. Enviar la dirección del **X-NODE**: El maestro envía la dirección de 7 bits.
3. Enviar el **tipo de operación**: El maestro indica si la operación es de lectura (0) o de escritura (1).
4. Esperar una señal de **reconocimiento (ACK)**: El maestro espera a recibir un lógico bajo (0), como confirmación (Acknowledgment) que exista un dispositivo con la dirección enviada previamente en el BUS I2C. Si no se recibe respuesta (1), significa que hubo un error en la comunicación o la dirección es incorrecta.
5. Escribir **n bytes** de datos: El maestro escribirá en secuencias de 8 bits (1 byte) y en orden del bit más significativo primero (MSB) n cantidad de bytes que desea escribir en el registro, el dispositivo enviará una señal de **reconocimiento (ACK)** por cada byte escrito.
6. Enviar una **condición de paro**: El maestro debe liberar el BUS I2C generando un lógico alto (1) en el pin SDA mientras que SCL se encuentra en un lógico alto (1).

#### Lectura

Para leer en un registro del **X-NODE Digital Inputs** el maestro I2C debe generar las siguientes operaciones:

1. Enviar una **condición de inicio**: El maestro genera un lógico bajo (0) en el pin SDA, mientras SCL permanece en alto (1).
2. Enviar la dirección del **X-NODE**: El maestro envía la dirección de 7 bits.
3. Enviar el **tipo de operación**: El maestro indica si la operación es de lectura (0) o de escritura (1).
4. Esperar una señal de **reconocimiento (ACK)**: El maestro espera a recibir un lógico bajo (0), como confirmación (Acknowledgment) que exista un dispositivo con la dirección enviada previamente en el BUS I2C. Si no se recibe respuesta (1), significa que hubo un error en la comunicación o la dirección es incorrecta.
5. Leer **n bytes** de datos: El dispositivo enviará secuencias de 8 bits (1 byte) y en orden del bit más significativo primero (MSB) n cantidad de bytes, al recibir un byte, el maestro deberá generar una señal de **reconocimiento (ACK)** para solicitar 1 byte más, o una señal de **no reconocimiento (NACK)** para indicar que ha finalizado la transmisión y solicitar el dispositivo que libere el BUS.
6. Enviar una **condición de paro**: El maestro debe liberar el BUS I2C generando un lógico alto (1) en el pin SDA mientras que SCL se encuentra en un lógico alto (1).

#### Lista de registros

En un dispositivo I2C los registros son direcciones de memoria que permiten configurar u obtener datos del dispositivo. Existen dos tipos de operaciones: de lectura (R) y de escritura (W).

<table><thead><tr><th width="117.5999755859375">Registro</th><th width="106.79998779296875" align="center">Dirección</th><th width="73.20001220703125" align="center">Tipo</th><th width="100.800048828125" align="center">No. Bytes</th><th width="288.60003662109375">Descripción</th></tr></thead><tbody><tr><td>INPUT</td><td align="center">0x01</td><td align="center">R</td><td align="center">1</td><td>Cada bit representa un estado lógico de una entrada, donde el bit más significativo (el que se recibe primero) corresponde al estado de la entrada I8, siguiendo un orden de mayor a menor.</td></tr><tr><td>STAT</td><td align="center">0x37</td><td align="center">R</td><td align="center">1</td><td>Estado del XNODE, 0x00 si no hay errores, cualquier otro valor significa error en la comunicación.</td></tr><tr><td>FW</td><td align="center">0x38</td><td align="center">R</td><td align="center">3</td><td>Versión de firmware, en versión mayor, menor y parche: 0x02.0x00.0x00</td></tr><tr><td>UART_ID</td><td align="center">0x39</td><td align="center">R/W - NV</td><td align="center">1</td><td>Permite leer y escribir el índice del ID por una letra diferente del abecedario de la A (0x41) a la Z (0x5A)</td></tr><tr><td>TW_ADD</td><td align="center">0x3A</td><td align="center">R/W - NV</td><td align="center">1</td><td>Permite leer y escribir la dirección I2C del dispositivo por uno diferente de 1 (0x01) a 126 (0x7D).</td></tr><tr><td>UART_EN</td><td align="center">0x3B</td><td align="center">W</td><td align="center">1</td><td>Habilita (0x01) o deshabilita (0x00) la interfaz UART del dispositivo.</td></tr><tr><td>SLEEP</td><td align="center">0x3C</td><td align="center">W</td><td align="center">1</td><td>Habilita (0x01) o deshabilita (0x00) el descanso profundo del dispositivo, el dispositivo despertará si el maestro escribe la dirección I2C del dispositivo en el BUS.</td></tr><tr><td>RESET</td><td align="center">0x3D</td><td align="center">W</td><td align="center">1</td><td>Si se escribe un 0x01 reinicia el dispositivo.</td></tr><tr><td>WHO_AM_I</td><td align="center">0x3E</td><td align="center">R</td><td align="center">2</td><td>El primer byte es el modelo del XNODE, el segundo byte es la revisión de hardware</td></tr></tbody></table>

{% hint style="warning" %}
**Nota:** El modo de descanso profundo del X-NODE **XN01 - Digital Inputs** tiene un consumo típico de 5 uA, sin embargo, cada entrada tiene una resistencia pull-up de \~10kOhm, cuando se activa la entrada a través de los interruptores o una señal externa el consumo será aproximadamente 330uA por entrada.
{% endhint %}

**Registros No volatiles (NV)**

Los registros no volátiles se guardan en la memoria EEPROM del dispositivo, lo que significa que conservarán los valores escritos en ellos incluso si el dispositivo se apaga.

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

#### Ejemplo I2C Arduino Framework

{% hint style="info" %}
Código de ejemplo para el [**XC01 - R5**](/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r5/x-node-xc01-esp32-s3-controlador-wifi-and-bluetooth), revisa el manual para utilizar nuestro [XC01 - R5 en **Arduino IDE/PlatformIO**](/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r5/x-node-xc01-esp32-s3-controlador-wifi-and-bluetooth#configuracion-para-platformio-en-vs-code)
{% endhint %}

```cpp
// Este ejemplo muestra el estado de las entradas
// del X-NODE. Deslize la posición del interruptor
// para observar los cambios de estado.

#include <Arduino.h>
#include <Wire.h>

void setup()
{
  // Inicializa el monitor serial
  Serial.begin(115200);
  // Configura los pines de la comunicación I2C
  Wire.setPins( 12, 13 );
  // Inicializa la comunicación I2C
  Wire.begin();
}

void loop()
{
    uint8_t bytes_recv = 0;
    uint8_t inputs = 0;    
    // Enviar condición de inicio + dirección
    // + tipo operación
    Wire.beginTransmission(0x01);
    // Escribe la dirección del registro de entradas (0x01)
    Wire.write(0x01);

    // Verificar si la operación fue exitosa
    if (Wire.endTransmission() != 0) {
        Serial.println("Error al solicitar el registro");
        delay(1000);
        return;
    }
    // Enviar condición de inicio + dirección
    // + tipo operación + cantidad de bytes a leer
    bytes_recv = Wire.requestFrom( 0x01, 1 );

    // Confirmar que se recibió 1 byte
    if ( bytes_recv != 1 ) {
        Serial.println( "Error" );
        delay( 1000 );
        return;
    }

    inputs = Wire.read();

    // Mostrar el estado en formato binario (omite
    // 0's a la izquierda)
    Serial.print( "XN01A=" );
    Serial.println( inputs, BIN );

    delay( 1000 );
}

```

## **VI. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FCThPVRmWZzIfmydz02c3%2Fschematic.pdf?alt=media&#x26;token=ce7c9c1f-3421-45c4-aa1a-99cca2172f7d">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FCThPVRmWZzIfmydz02c3%2Fschematic.pdf?alt=media&#x26;token=ce7c9c1f-3421-45c4-aa1a-99cca2172f7d</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FU3pHQiMzNXVmd02ndzQq%2Fdimentions.pdf?alt=media&#x26;token=d122cc96-4637-4904-ad3d-a3e0db7cd58b">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FU3pHQiMzNXVmd02ndzQq%2Fdimentions.pdf?alt=media&#x26;token=d122cc96-4637-4904-ad3d-a3e0db7cd58b</a></td></tr></tbody></table>


# XN02 - Salidas Digitales

<table data-card-size="large" data-view="cards" data-full-width="true"><thead><tr><th align="center"></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><mark style="color:green;"><strong>XN02 versión A-R1</strong></mark></td><td data-object-fit="contain"><a href="/files/r5hZiaSkX3s8NOfFLJ9X">/files/r5hZiaSkX3s8NOfFLJ9X</a></td><td><a href="/pages/4qKrxEy4ufITxWz3RMlx">/pages/4qKrxEy4ufITxWz3RMlx</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>XN02 versión A-R2</strong></mark></td><td data-object-fit="contain"><a href="/files/qKIRCTJomnUz4uKw7XZa">/files/qKIRCTJomnUz4uKw7XZa</a></td><td><a href="/pages/L1fMxbwXZ7LipskBwQGf">/pages/L1fMxbwXZ7LipskBwQGf</a></td></tr></tbody></table>


# R1


# X-NODE / XN02 - Salidas Digitales A-R1

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

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

[XN02 - R2](/plataforma-xide-iot/x-nodes/xn02-salidas-digitales/r2/x-node-xn02-salidas-digitales)
{% endhint %}

El **X-NODE Digital Outputs** es un módulo que permite generar hasta 8 salidas digitales. Puede generar señales que se pueden utilizar para controlar actuadores, módulos de relevadores, interfaces paralelas como pantallas LCD, multiplexores, etc., a través de una interfaz digital (UART/I2C) que es configurable lo que permite conectar múltiples **X-NODE Digital Outputs** simultáneamente, expandiendo la cantidad de salidas que puede generar un sistema desde 8 hasta 1016.

{% hint style="info" %}
El **X-NODE Digital Outputs** genera señales de voltaje de 3.3VDC. No intente utilizarlo para controlar cargas mayores a 20mA. Si requiere generar señales de voltaje con un rango entre 5-24VDC revise nuestro [**X-NODE XN27 - 4 x 24V Outputs**](/plataforma-xide-iot/x-nodes/x-node-xn27-4-x-salidas-24v-dc)**.**\
Si requiere controlar cargas DC de hasta 28VDC o AC de hasta 125VAC revise nuestra línea de **X-NODE** de relevadores: [**XN13**](/plataforma-xide-iot/x-nodes/x-node-xn13-1-relevador/r1/x-node-xn13-1-relevador-10a)**,** [**XN29**](/plataforma-xide-iot/x-nodes/x-node-xn29-4-relevadores-1a)**.**
{% endhint %}

### **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. [**Modo de uso**](#v.-modo-de-uso)
   * [**Protocolo UART**](#protocolo-uart)
   * [**Ejemplo UART Arduino Framework**](#ejemplo-uart-arduino-framework)
   * [**Protocolo I2C**](#protocolo-i2c)
   * [**Ejemplo I2C Arduino Framework**](#ejemplo-i2c-arduino-framework)
6. [**Descargas**](#vi.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FwktweQcighTDhPfS9iHX%2FSCHEMATIC%20XN02%20-%20Digital%20Outputs.pdf?alt=media\&token=d293620a-7a17-4dd9-b196-9334eb350bb5)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fk57p6JdToSI40POPL4B9%2FDIMENSIONS%20%20XN02%20-%20Digital%20Outputs.pdf?alt=media\&token=3f1e6caa-14a3-441c-8909-613fde34d4d0)

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

El módulo **X-NODE Digital Outputs** posee un controlador en hardware integrado con el cual es posible generar señales lógicas (3.3V TTL) sin tener conocimientos avanzados de hardware, ya que solo es necesario enviar una serie de comandos en formato ASCII por medio del protocolo de comunicación serial UART o usando el protocolo I2C, esto permite que el X-NODE sea compatible con cualquier sistema basado en un microcontrolador, un microprocesador o equipos industriales. El módulo integra 8 LEDs de color verde como indicadores y un puerto de conexión con 8 salidas y GND. Los LED poseen un amplio ángulo de visión, una disipación de 40 mW, un flujo de 20 mA y pueden operar en un rango de temperatura de 0 °C hasta 80 °C. Estos pueden utilizarse como indicadores de propósito general para visualizar el estado de diferentes dispositivos, alertas o secuencias. El puerto de 9 pines permite enviar las señales a otros componentes como módulos de relevadores, interfaces paralelas como pantallas LCD, multiplexores, etc.

**X-NODE Digital Outputs** 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="/files/iP5RKW4WWTv0V1yUZbq5" alt=""><figcaption></figcaption></figure>

1. Puerto serigrafiado con pines macho y orificios para salidas digitales
2. Indicadores LED
3. Conectores JST compatibles con [**Qwiic®**](https://www.sparkfun.com/qwiic)
4. Controlador en hardware
5. Puertos de comunicación UART <> I2C
6. Modelo de X-NODE
7. Tipo de X-NODE
8. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
9. Versión de hardware: R1
10. Componente principal en el X-NODE

### **III. Especificaciones** <a href="#iii.-especificaciones" id="iii.-especificaciones"></a>

CommentShare feedback on the editor

| **Tipo**            | Salidas digitales                                                                                                                                                                                                                                               |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Aplicaciones**    | Integración en proyectos de IoT donde se requiera generar señales digitales, como en el control de actuadores o indicadores. También donde se necesite una serie de indicadores LED para visualizar el estado de diferentes dispositivos, alarmas o secuencias. |
| **Características** | Indicadores LED con un amplio ángulo de visión, disipación de 40 mW, un flujo de corriente continua de 20 mA con un pico de 40 mA y operación en un rango de temperatura de 0 °C hasta 80 °C. Puerto de pines macho y orificios para 8 salidas externas y GND.  |
| **Interfaz**        | UART, I2C                                                                                                                                                                                                                                                       |
| **Compatibilidad**  | Estándar [mikroBUS™](https://www.mikroe.com/mikrobus) y estándar [Qwiic®](https://www.sparkfun.com/qwiic)                                                                                                                                                       |
| **Tamaño**          | 65.15 x 25.38 x 20.5 mm                                                                                                                                                                                                                                         |
| **Voltaje**         | 3.3 V                                                                                                                                                                                                                                                           |

## **IV. Pinout**

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

<figure><img src="/files/7HcICuWHn2fvqlwQJ7t9" alt=""><figcaption></figcaption></figure>

## **V. Modo de uso**

Para un uso fácil y rápido del X-NODE se puede hacer a través de los comandos en formato ASCII que proporciona el controlador en hardware integrado mediante una comunicación serial UART o de forma más avanzada a través del protocolo I2C.

### Protocolo UART

#### Configuración

La comunicación UART utiliza la siguiente configuración:

* Velocidad de comunicación: 115,200 bps
* Paridad: Ninguna
* Bits de datos: 8
* Bits de paro: 1

#### Sintaxis

El protocolo UART permite enviar instrucciones en texto plano *ASCII*, cada instrucción se compone del **identificador del X-NODE, un comando y un final de línea**.

**Identificador**

El identificador **ID**, se conforma por el modelo del X-NODE, que puede localizar en el punto 6 del apartado Descripción de hardware y se complementa con un índice, que puede ser una letra del abecedario, por defecto es la letra **A**, siendo posible configurarlo hasta la letra **Z**. Para poder conectar más de un módulo del mismo modelo en un sistema, deberá configurar un identificador único para cada módulo, brindando la posibilidad de conectar hasta 26 módulos del mismo modelo a través del protocolo UART.

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

{% hint style="warning" %}
**Nota:** A partir de este punto se utilizará el índice predeterminado del X-NODE **XN02 - Digital Outputs** para el resto del manual: **XN02A**.
{% endhint %}

**Lista de comandos**

<table data-header-hidden><thead><tr><th width="184"></th><th></th></tr></thead><tbody><tr><td><strong>XN02A?</strong></td><td>Verifica si se estableció una comunicación con éxito.<br><strong>Respuesta:</strong> OK</td></tr><tr><td><strong>XN02A+V</strong></td><td>Obtiene la versión del firmware actual que integra el X-NODE.<br><strong>Respuesta:</strong> XN02A=Versión<br><strong>Ejemplo:</strong> XN02A=0.1</td></tr><tr><td><strong>XN02A+ID=(A-Z)</strong></td><td>Cambia el índice del ID por una letra diferente del abecedario de la A a la Z, la nueva letra debe ser en mayúscula. Una vez modificado, para volver a cambiarlo es necesario colocar el ID con el nuevo índice.<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN02C+ID=H</td></tr><tr><td><strong>XN02A+TW=(1-126)</strong></td><td>Cambia la dirección I2C que viene de fábrica por uno diferente. La nueva dirección se escribe en decimal seleccionando un valor de 1 a 126.<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN02A+TW=28</td></tr><tr><td><strong>XN02A+S=(Out1)(Out2)(Out3)(Out4)(Out5)(Out6)(Out7)(Out8)</strong></td><td>Cambia el estado de cada una de las 8 salidas digitales, sea en los indicadores LED o en el puerto, con dos opciones: 1 (Alto) y 0 (Bajo). La salida 1 será el primer valor de la izquierda, interpretándose de izquierda a derecha.<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN02A+S=11001100</td></tr></tbody></table>

#### Final de línea

El X-NODE solo responderá a un comando cuando se envíe un conjunto de caracteres finalizadores de línea, cada comando debe terminar con estos caracteres: **\<CR+LF>**

* CR significa retorno de carro (carriage return), este carácter se utiliza para indicar a un sistema que la entrada de texto debe moverse al principio.
* LF significa alimentación de línea (line feed), este carácter le indica a un sistema que la entrada de texto corresponde a una nueva línea.

La combinación de ambos caracteres es una manera común con el que las computadoras representan una nueva línea, por ejemplo, en un procesador de texto para separar párrafos.

En el caso del X-NODE los caracteres **\<CR+LF>**, se utilizan para identificar cuando se ha terminado de enviar un comando. Si el identificador corresponde al nodo, si el comando existe y si se finalizó inmediatamente con los caracteres **\<CR+LF>**, entonces el nodo enviará una respuesta.

Dependiendo del sistema, deberá configurar el envío de estos caracteres de maneras diferentes.

#### Ejemplo UART Arduino Framework

{% hint style="info" %}
Código de ejemplo para el [XC01 - R4](/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r4/x-node-xc01-esp32-wroom-controlador-wifi-and-bluetooth-r4), revisa el manual para utilizar nuestro [XC01 - R4](https://docs.microside.com/plataforma-xide-iot/x-nodes/xn02-salidas-digitales/r1/pages/HcLUnJPVDumIHk6xsEpi#v.-configuracion-para-su-uso) en **Arduino IDE/PlatformIO**
{% endhint %}

<pre class="language-cpp"><code class="lang-cpp"><strong>#include "Arduino.h"
</strong>
// Envía una secuencia binaria de longitud fija
// (0 a la izquierda) de 8 bits
void printBinary(uint8_t num) {
  for (int i = 0; i &#x3C; 8; i++) {
    Serial2.print((num >> i) &#x26; 0x01);
  }
  // La función println envía los caracteres &#x3C;CR+LF>
  Serial2.println();
}

void setup() {
  // Inicializa el monitor serial
  Serial.begin(115200);

  // Inicializa la comunicación UART en el puerto MikroBUS
  Serial2.begin(115200, SERIAL_8N1, 16, 17);
}

void loop() {
  // Genera un contador binario con los LEDs del XN02
  for (uint16_t binary_counter = 0; binary_counter &#x3C; 256; binary_counter++) {

    // Limpiamos el buffer
    if (Serial2.available()) {
      Serial2.read();
    }
    
    // Envía el comando
    Serial2.print("XN02A+S=");
    printBinary(binary_counter);

    String success = Serial2.readStringUntil('\n');

    // Verificar si la operación fue exitosa
    if ( !success.startsWith("OK") ) {
      Serial.println( "Error" );
      delay( 1000 );
      return;
    }

    delay(100);
  }

  delay(1000);
}

</code></pre>

### Protocolo I2C

Para poder establecer comunicación se debe conocer la dirección I2C del X-NODE, el valor de fábrica se conforma por los dos últimos dígitos del modelo después de “XN”. Las direcciones I2C suelen representarse en sistema **hexadecimal**, mientras que el modelo del X-NODE está en sistema **decimal**, asegúrese de utilizar el sistema numérico adecuado.

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

#### Configuración

* Velocidad de comunicación: 100 kHz
* Address: 7 bits

{% hint style="info" %}
**Nota:** Verifica que no cuentes con otro dispositivo con la misma dirección (Address) en el BUS I2C, de ser así recuerda que el X-NODE puede cambiar su dirección I2C con el comando **XN02A+TW=(1-126)**.
{% endhint %}

#### Lista de registros

En un dispositivo I2C los registros son direcciones de memoria que permiten configurar u obtener datos del dispositivo. Existen dos tipos de operaciones: de lectura (R) y de escritura (W).

En el **X-NODE Digital Outputs** solo existe una operación, escritura del estado lógico de las entradas. Para leer el registro el dispositivo maestro I2C debe generar las siguientes operaciones:

1. Enviar una **condición de inicio**: El dispositivo maestro genera un lógico bajo (0) en el pin SDA, mientras SCL permanece en alto (1).
2. Enviar la dirección del **X-NODE**: El dispositivo maestro envía la dirección de 7 bits.
3. Enviar el **tipo de operación**: El dispositivo maestro indica si la operación es de lectura (0) o de escritura (1).
4. Esperar una señal de **reconocimiento (ACK)**: El dispositivo maestro espera a recibir un lógico bajo (0), como confirmación (Acknowledgment) que exista un dispositivo con la dirección enviada previamente en el BUS I2C. Si no se recibe respuesta (1), significa que hubo un error en la comunicación o la dirección es incorrecta.
5. Escribir **1 byte** de datos: El dispositivo maestro enviará 8 bits (1 byte), cada bit representa un estado lógico de una salida, donde el bit más significativo (el que se envía primero) corresponde al estado de la salida O8, siguiendo un orden de mayor a menor.
6. Esperar una señal de **reconocimiento (ACK)**: El dispositivo enviará una señal de **reconocimiento (Acknowledgment)** al maestro, indicando que ha terminado de recibir información.
7. Enviar una **condición de paro**: El dispositivo maestro debe liberar el BUS I2C generando un lógico alto (1) en el pin SDA mientras que SCL se encuentra en un lógico alto (1).

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

#### Ejemplo I2C Arduino Framework

{% hint style="info" %}
Código de ejemplo para el [XC01 - R4](/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r4/x-node-xc01-esp32-wroom-controlador-wifi-and-bluetooth-r4), revisa el manual para utilizar nuestro [XC01 - R4](https://docs.microside.com/plataforma-xide-iot/x-nodes/xn02-salidas-digitales/r1/pages/HcLUnJPVDumIHk6xsEpi#v.-configuracion-para-su-uso) en **Arduino IDE/PlatformIO**
{% endhint %}

```cpp
#include <Arduino.h>
#include <Wire.h>

void setup() {
  // Inicializa el monitor serial
  Serial.begin(115200);

  // Inicializa la comunicación I2C
  Wire.begin();
}

void loop() {
  // Genera un contador binario con los LEDs del XN02
  for (uint16_t binary_counter = 0; binary_counter < 256; binary_counter++) {

    // Escribe en el registro
    Wire.beginTransmission(0x02);
    Wire.write(binary_counter);

    // Verificar si la operación fue exitosa
    if (Wire.endTransmission() != 0) {
      Serial.println("Error");
      delay(1000);
      return;
    }

    delay( 100 );
  }

  delay(1000);
}

```

### **VI. Descargas** <a href="#vi.-descargas" id="vi.-descargas"></a>

<table data-card-size="large" data-view="cards"><thead><tr><th align="center"></th><th data-hidden 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://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FwktweQcighTDhPfS9iHX%2FSCHEMATIC%20XN02%20-%20Digital%20Outputs.pdf?alt=media&#x26;token=d293620a-7a17-4dd9-b196-9334eb350bb5">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FwktweQcighTDhPfS9iHX%2FSCHEMATIC%20XN02%20-%20Digital%20Outputs.pdf?alt=media&#x26;token=d293620a-7a17-4dd9-b196-9334eb350bb5</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fk57p6JdToSI40POPL4B9%2FDIMENSIONS%20%20XN02%20-%20Digital%20Outputs.pdf?alt=media&#x26;token=3f1e6caa-14a3-441c-8909-613fde34d4d0">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fk57p6JdToSI40POPL4B9%2FDIMENSIONS%20%20XN02%20-%20Digital%20Outputs.pdf?alt=media&#x26;token=3f1e6caa-14a3-441c-8909-613fde34d4d0</a></td></tr></tbody></table>


# R2


# X-NODE / XN02 - Salidas Digitales

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/x-node-salidas-digitales-29">https://www.microside.com/shop/x-node-salidas-digitales-29</a></td></tr></tbody></table>

El **X-NODE Digital Outputs** es un módulo que permite generar hasta 8 salidas digitales. Puede generar señales que se pueden utilizar para controlar actuadores, módulos de relevadores, interfaces paralelas como pantallas LCD, multiplexores, etc., a través de una interfaz digital (UART/I2C) que es configurable lo que permite conectar múltiples **X-NODE Digital Outputs** simultáneamente, expandiendo la cantidad de salidas que puede generar un sistema desde 8 hasta 1016.

{% hint style="info" %}
El **X-NODE Digital Outputs** genera señales de voltaje de 3.3VDC. No intente utilizarlo para controlar cargas mayores a 20mA. Si requiere generar señales de voltaje con un rango entre 5-24VDC revise nuestro [**X-NODE XN27 - 4 x 24V Outputs**](/plataforma-xide-iot/x-nodes/x-node-xn27-4-x-salidas-24v-dc)**.**\
Si requiere controlar cargas DC de hasta 28VDC o AC de hasta 125VAC revise nuestra línea de **X-NODE** de relevadores: [**XN13**](/plataforma-xide-iot/x-nodes/x-node-xn13-1-relevador/r1/x-node-xn13-1-relevador-10a)**,** [**XN29**](/plataforma-xide-iot/x-nodes/x-node-xn29-4-relevadores-1a)**.**
{% endhint %}

### **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. [**Modo de uso**](#v.-modo-de-uso)
   * [**Protocolo UART**](#protocolo-uart)
   * [**Ejemplo UART Arduino Framework**](#ejemplo-uart-arduino-framework)
   * [**Protocolo I2C**](#protocolo-i2c)
   * [**Ejemplo I2C Arduino Framework**](#ejemplo-i2c-arduino-framework)
6. [**Descargas**](#vi.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FkhcUeriwbN4DeWb9ewRV%2Fschematic.pdf?alt=media\&token=b2e1ee71-7119-407e-a8bd-24a3cbb671d0)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F2WbWhHIML9jD6CYeFxNu%2Fdimensions.pdf?alt=media\&token=6fb4b8d8-d2f1-4eab-9c1c-ced20abbc7a9)

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

El módulo **X-NODE Digital Outputs** posee un controlador en hardware integrado con el cual es posible generar señales lógicas (3.3V TTL) sin tener conocimientos avanzados de hardware, ya que solo es necesario enviar una serie de comandos en formato ASCII por medio del protocolo de comunicación serial UART o usando el protocolo I2C, esto permite que el X-NODE sea compatible con cualquier sistema basado en un microcontrolador, un microprocesador o equipos industriales. El módulo integra 8 LEDs de color verde como indicadores y un puerto de conexión con 8 salidas y GND. Los LED poseen un amplio ángulo de visión, una disipación de 40 mW, un flujo de 20 mA y pueden operar en un rango de temperatura de 0 °C hasta 80 °C. Estos pueden utilizarse como indicadores de propósito general para visualizar el estado de diferentes dispositivos, alertas o secuencias. El conector tipo clema de 9 pines permite enviar las señales a otros componentes como módulos de relevadores, interfaces paralelas como pantallas LCD, multiplexores, etc.

**X-NODE Digital Outputs** 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**

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

1. Conector tipo clema de 9 pines para cables AWG de calibre 26 a 18.
2. Indicadores LED
3. Conectores JST compatibles con [Qwiic®](https://www.sparkfun.com/qwiic)
4. Controlador en hardware
5. Puertos de comunicación UART <> I2C
6. Modelo de X-NODE
7. Tipo de X-NODE
8. Conectores estándar [mikroBUS™](https://www.mikroe.com/mikrobus)
9. Versión de hardware: R2
10. Componente principal en el X-NODE

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="171"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Salidas digitales</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Integración en proyectos de IoT donde se requiera generar señales digitales, como en el control de actuadores o indicadores. También donde se necesite una serie de indicadores LED para visualizar el estado de diferentes dispositivos, alarmas o secuencias.</td></tr><tr><td><strong>Características</strong></td><td>Indicadores LED con un amplio ángulo de visión, disipación de 40 mW, un flujo de corriente continua de 20 mA con un pico de 40 mA y operación en un rango de temperatura de 0 °C hasta 80 °C. Conector tipo clema para 8 salidas externas y GND.</td></tr><tr><td><strong>Interfaz</strong></td><td>UART, I2C</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a>  y estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a> </td></tr><tr><td><strong>Tamaño</strong></td><td>67.15 x 25.38 x 22 mm</td></tr><tr><td><strong>Voltaje</strong> </td><td>3.3 V </td></tr></tbody></table>

## **IV. Pinout**

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

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

## **V. Modo de uso**

Para un uso fácil y rápido del X-NODE se puede hacer a través de los comandos en formato ASCII que proporciona el controlador en hardware integrado mediante una comunicación serial UART o de forma más avanzada a través del protocolo I2C.

### Protocolo UART

#### Configuración

La comunicación UART utiliza la siguiente configuración:

* Velocidad de comunicación: 115,200 bps
* Paridad: Ninguna
* Bits de datos: 8
* Bits de paro: 1

#### Sintaxis

El protocolo UART permite enviar instrucciones en texto plano *ASCII*, cada instrucción se compone del **identificador del X-NODE, un comando y un final de línea**.

**Identificador**

El identificador **ID**, se conforma por el modelo del X-NODE, que puede localizar en el punto 6 del apartado Descripción de hardware y se complementa con un índice, que puede ser una letra del abecedario, por defecto es la letra **A**, siendo posible configurarlo hasta la letra **Z**. Para poder conectar más de un módulo del mismo modelo en un sistema, deberá configurar un identificador único para cada módulo, brindando la posibilidad de conectar hasta 26 módulos del mismo modelo a través del protocolo UART.

<figure><img src="/files/Br7MUPGoWxO8upFDSRhR" alt="XN02"><figcaption></figcaption></figure>

{% hint style="warning" %}
**Nota:** A partir de este punto se utilizará el índice predeterminado del X-NODE **XN02 - Digital Outputs** para el resto del manual: **XN02A**.
{% endhint %}

#### Lista de comandos

<table data-header-hidden><thead><tr><th width="179.00006103515625"></th><th></th></tr></thead><tbody><tr><td><strong>XN02A?</strong></td><td>Verifica si se estableció una comunicación con éxito.<br><strong>Respuesta:</strong> OK</td></tr><tr><td><strong>XN02A+V</strong></td><td>Obtiene la versión del firmware actual que integra el X-NODE.<br><strong>Respuesta:</strong> XN02A=Versión<br><strong>Ejemplo:</strong> XN02A=2.0.0</td></tr><tr><td><strong>XN02A+ID=(A-Z)</strong></td><td>Cambia el índice del ID por una letra diferente del abecedario de la A a la Z, la nueva letra debe ser en mayúscula. Una vez modificado, para volver a cambiarlo es necesario colocar el ID con el nuevo índice.<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN02C+ID=H</td></tr><tr><td><strong>XN02A+TW=(1-126)</strong></td><td>Cambia la dirección I2C que viene de fábrica por uno diferente. La nueva dirección se escribe en decimal seleccionando un valor de 1 a 126.<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN02A+TW=28</td></tr><tr><td><strong>XN02A+SO=(Out8)(Out7)(Out6)(Out5)(Out4)(Out3)(Out2)(Out1)</strong></td><td>Cambia el estado de cada una de las 8 salidas digitales, sea en los indicadores LED o en el puerto, con dos opciones: 1 (Alto) y 0 (Bajo). La salida 1 será el primer valor de la derecha, interpretándose de derecha a izquierda.<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN02A+SO=11001100</td></tr></tbody></table>

#### Comandos avanzados

<table data-header-hidden><thead><tr><th width="172.5999755859375"></th><th></th></tr></thead><tbody><tr><td><strong>XN02A+ETW=(0-1)</strong></td><td>Habilita (1) o deshabilita (0) la interfaz I2C del dispositivo.<br><strong>Nota</strong>: Esta configuración es volátil, desconectar el dispositivo del suministro de energía o enviar el comando de reinicio restaurará la interfaz I2C.<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN02A+ETW=0</td></tr><tr><td><strong>XN02A+SLP</strong></td><td>Habilita el modo de descanso profundo del dispositivo para reducir el consumo de energía, durante el descanso profundo el dispositivo no responderá a comandos UART, para despertar el dispositivo envíe un lógico bajo (0) al pin WAKEUP/UPDI<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN02A+SLP</td></tr><tr><td><strong>XN02A+RST</strong></td><td>Reinicia el dispositivo, los valores no volátiles (ej. ID, address I2C) se conservarán y los valores volátiles volverán a su configuración por defecto.<br><strong>Respuesta:</strong> OK</td></tr></tbody></table>

{% hint style="warning" %}
**Nota:** El modo de descanso profundo del X-NODE **XN02 - Digital Outputs** tiene un consumo típico de 5 uA, sin embargo, cada LED en las salidas consume 330mA, cada salida puede abastecer/drenar hasta 40mA, con un máximo total de hasta 45mA en todos los pines.
{% endhint %}

#### Final de línea

El X-NODE solo responderá a un comando cuando se envíe un conjunto de caracteres finalizadores de línea, cada comando debe terminar con estos caracteres: **\<CR+LF>**

* CR significa retorno de carro (carriage return), este carácter se utiliza para indicar a un sistema que la entrada de texto debe moverse al principio.
* LF significa alimentación de línea (line feed), este carácter le indica a un sistema que la entrada de texto corresponde a una nueva línea.

La combinación de ambos caracteres es una manera común con el que las computadoras representan una nueva línea, por ejemplo, en un procesador de texto para separar párrafos.

En el caso del X-NODE los caracteres **\<CR+LF>**, se utilizan para identificar cuando se ha terminado de enviar un comando. Si el identificador corresponde al nodo, si el comando existe y si se finalizó inmediatamente con los caracteres **\<CR+LF>**, entonces el nodo enviará una respuesta.

Dependiendo del sistema, deberá configurar el envío de estos caracteres de maneras diferentes.

#### Ejemplo UART Arduino Framework

{% hint style="info" %}
Código de ejemplo para el [**XC01 - R5**](/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r5/x-node-xc01-esp32-s3-controlador-wifi-and-bluetooth), revisa el manual para utilizar nuestro [XC01 - R5 en **Arduino IDE/PlatformIO**](/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r5/x-node-xc01-esp32-s3-controlador-wifi-and-bluetooth#configuracion-para-platformio-en-vs-code)
{% endhint %}

```cpp

// Este ejemplo muestra el control de las salidas
// del X-NODE implementando un contador binario.

#include "Arduino.h"

// Envía una secuencia binaria de longitud fija
// (0 a la izquierda) de 8 bits
void printBinary(uint8_t num) {
  for (int i = 0; i < 8; i++) {
    Serial2.print((num >> i) & 0x01);
  }
  // La función println envía los caracteres <CR+LF>
  Serial2.println();
}

void setup() {
  // Inicializa el monitor serial
  Serial.begin(115200);

  // Inicializa la comunicación UART en el puerto MikroBUS
  Serial2.begin(115200, SERIAL_8N1, 9, 10);
}

void loop() {
  // Genera un contador binario con los LEDs del XN02
  for (uint16_t binary_counter = 0; binary_counter < 256; binary_counter++) {

    // Limpiamos el buffer
    if (Serial2.available()) {
      Serial2.read();
    }
    
    // Envía el comando
    Serial2.print("XN02A+SO=");
    printBinary(binary_counter);

    String success = Serial2.readStringUntil('\n');

    // Verificar si la operación fue exitosa
    if ( !success.startsWith("OK") ) {
      Serial.println( "Error" );
      delay( 1000 );
      return;
    }

    delay(100);
  }

  delay(1000);
}

```

### Protocolo I2C

Para poder establecer comunicación se debe conocer la dirección I2C del X-NODE, el valor de fábrica se conforma por los dos últimos dígitos del modelo después de “XN”. Las direcciones I2C suelen representarse en sistema **hexadecimal**, mientras que el modelo del X-NODE está en sistema **decimal**, asegúrese de utilizar el sistema numérico adecuado.

<figure><img src="/files/hW6rG2KUM7jP76yPmUSv" alt="XN02_MICROSIDE_01"><figcaption></figcaption></figure>

#### Configuración

* Velocidad de comunicación: 100 kHz
* Address: 7 bits

{% hint style="info" %}
**Nota:** Verifica que no cuentes con otro dispositivo con la misma dirección (Address) en el BUS I2C, de ser así recuerda que el X-NODE puede cambiar su dirección I2C con el comando **XN02A+TW=(1-126)**.
{% endhint %}

#### Escritura

Para escribir en un registro del **X-NODE Digital Inputs** el maestro I2C debe generar las siguientes operaciones:

1. Enviar una **condición de inicio**: El maestro genera un lógico bajo (0) en el pin SDA, mientras SCL permanece en alto (1).
2. Enviar la dirección del **X-NODE**: El maestro envía la dirección de 7 bits.
3. Enviar el **tipo de operación**: El maestro indica si la operación es de lectura (0) o de escritura (1).
4. Esperar una señal de **reconocimiento (ACK)**: El maestro espera a recibir un lógico bajo (0), como confirmación (Acknowledgment) que exista un dispositivo con la dirección enviada previamente en el BUS I2C. Si no se recibe respuesta (1), significa que hubo un error en la comunicación o la dirección es incorrecta.
5. Escribir **n bytes** de datos: El maestro escribirá en secuencias de 8 bits (1 byte) y en orden del bit más significativo primero (MSB) n cantidad de bytes que desea escrbir en el registro, el dispositivo enviará una señal de **reconocimiento (ACK)** por cada byte escrito.
6. Enviar una **condición de paro**: El maestro debe liberar el BUS I2C generando un lógico alto (1) en el pin SDA mientras que SCL se encuentra en un lógico alto (1).

#### Lectura

Para leer en un registro del **X-NODE Digital Inputs** el maestro I2C debe generar las siguientes operaciones:

1. Enviar una **condición de inicio**: El maestro genera un lógico bajo (0) en el pin SDA, mientras SCL permanece en alto (1).
2. Enviar la dirección del **X-NODE**: El maestro envía la dirección de 7 bits.
3. Enviar el **tipo de operación**: El maestro indica si la operación es de lectura (0) o de escritura (1).
4. Esperar una señal de **reconocimiento (ACK)**: El maestro espera a recibir un lógico bajo (0), como confirmación (Acknowledgment) que exista un dispositivo con la dirección enviada previamente en el BUS I2C. Si no se recibe respuesta (1), significa que hubo un error en la comunicación o la dirección es incorrecta.
5. Leer **n bytes** de datos: El dispositivo enviará secuencias de 8 bits (1 byte) y en orden del bit más significativo primero (MSB) n cantidad de bytes, al recibir un byte, el maestro deberá generar una señal de **reconocimiento (ACK)** para solicitar 1 byte más, o una señal de **no reconocimiento (NACK)** para indicar que ha finalizado la transmisión y solicitar el dispositivo que libere el BUS.
6. Enviar una **condición de paro**: El maestro debe liberar el BUS I2C generando un lógico alto (1) en el pin SDA mientras que SCL se encuentra en un lógico alto (1).

#### Lista de registros

<table><thead><tr><th width="111.99993896484375">Registro</th><th width="105.59991455078125" align="center">Dirección </th><th width="88.79998779296875" align="center">Tipo</th><th width="98.800048828125" align="center">No. Bytes</th><th width="307.40020751953125">Descripción</th></tr></thead><tbody><tr><td>OUTPUT</td><td align="center">0x01</td><td align="center">R/W</td><td align="center">1</td><td>Cada bit representa un estado lógico de una salida, donde el bit más significativo (el que se recibe primero) corresponde al estado de la salida O8, siguiendo un orden de mayor a menor.</td></tr><tr><td>STAT</td><td align="center">0x37</td><td align="center">R</td><td align="center">1</td><td>Estado del XNODE, 0x00 si no hay errores, cualquier otro valor significa error en la comunicación.</td></tr><tr><td>FW</td><td align="center">0x38</td><td align="center">R</td><td align="center">3</td><td>Versión de firmware, en versión mayor, menor y parche: 0x02.0x00.0x00</td></tr><tr><td>UART_ID</td><td align="center">0x39</td><td align="center">R/W - NV</td><td align="center">1</td><td>Permite leer y escribir el índice del ID por una letra diferente del abecedario de la A (0x41) a la Z (0x5A)</td></tr><tr><td>TW_ADD</td><td align="center">0x3A</td><td align="center">R/W - NV</td><td align="center">1</td><td>Permite leer y escribir la dirección I2C del dispositivo por uno diferente de 1 (0x01) a 126 (0x7D).</td></tr><tr><td>UART_EN</td><td align="center">0x3B</td><td align="center">W</td><td align="center">1</td><td>Habilita (0x01) o deshabilita (0x00) la interfaz UART del dispositivo.</td></tr><tr><td>SLEEP</td><td align="center">0x3C</td><td align="center">W</td><td align="center">1</td><td>Habilita (0x01) o deshabilita (0x00) el descanso profundo del dispositivo, el dispositivo despertará si el maestro escribe la dirección I2C del dispositivo en el BUS.</td></tr><tr><td>RESET</td><td align="center">0x3D</td><td align="center">W</td><td align="center">1</td><td>Si se escribe un 0x01 reinicia el dispositivo.</td></tr><tr><td>WHO_AM_I</td><td align="center">0x3E</td><td align="center">R</td><td align="center">2</td><td>El primer byte es el modelo del XNODE, el segundo byte es la revisión de hardware</td></tr></tbody></table>

{% hint style="warning" %}
**Nota:** El modo de descanso profundo del X-NODE **XN02 - Digital Outputs** tiene un consumo típico de 5 uA, sin embargo, cada LED en las salidas consume 330mA, cada salida puede abastecer/drenar hasta 40mA, con un máximo total de hasta 45mA en todos los pines.
{% endhint %}

**Registros No volátiles (NV)**

Los registros no volátiles se guardan en la memoria EEPROM del dispositivo, lo que significa que conservarán los valores escritos en ellos incluso si el dispositivo se apaga.

#### Estructura del registro OUTPUT:

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

#### Ejemplo I2C Arduino Framework

{% hint style="info" %}
Código de ejemplo para el [**XC01 - R5**](/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r5/x-node-xc01-esp32-s3-controlador-wifi-and-bluetooth), revisa el manual para utilizar nuestro [XC01 - R5 en **Arduino IDE/PlatformIO**](/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r5/x-node-xc01-esp32-s3-controlador-wifi-and-bluetooth#configuracion-para-platformio-en-vs-code)
{% endhint %}

```cpp

// Este ejemplo muestra el control de las salidas
// del X-NODE implementando un contador binario.

#include <Arduino.h>
#include <Wire.h>

void setup() {
  // Inicializa el monitor serial
  Serial.begin(115200);

  // Configura los pines de la comunicación I2C
  Wire.setPins( 12, 13 );
  // Inicializa la comunicación I2C
  Wire.begin();
}

void loop() {
  // Genera un contador binario con los LEDs del XN02
  for (uint16_t binary_counter = 0; binary_counter < 256; binary_counter++) {

    // Escribe en el registro
    Wire.beginTransmission(0x02);
    // Selecciona el registro
    Wire.write( 0x01 );
    // Escribe el estado de cada uno de las salidas
    Wire.write(binary_counter);

    // Verificar si la operación fue exitosa
    if (Wire.endTransmission() != 0) {
      Serial.println("Error");
      delay(1000);
      return;
    }

    delay( 100 );
  }

  delay(1000);
}

```

## **VI. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FkhcUeriwbN4DeWb9ewRV%2Fschematic.pdf?alt=media&#x26;token=b2e1ee71-7119-407e-a8bd-24a3cbb671d0">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FkhcUeriwbN4DeWb9ewRV%2Fschematic.pdf?alt=media&#x26;token=b2e1ee71-7119-407e-a8bd-24a3cbb671d0</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F2WbWhHIML9jD6CYeFxNu%2Fdimensions.pdf?alt=media&#x26;token=6fb4b8d8-d2f1-4eab-9c1c-ced20abbc7a9">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F2WbWhHIML9jD6CYeFxNu%2Fdimensions.pdf?alt=media&#x26;token=6fb4b8d8-d2f1-4eab-9c1c-ced20abbc7a9</a></td></tr></tbody></table>


# XN03 - Entradas/Salidas Analógicas

<table data-card-size="large" data-view="cards" data-full-width="true"><thead><tr><th align="center"></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><mark style="color:green;"><strong>XN03 versión A-R1</strong></mark></td><td data-object-fit="contain"><a href="/files/bUngVYcQVgsP7UZzoQ8i">/files/bUngVYcQVgsP7UZzoQ8i</a></td><td><a href="/pages/6TYMa4igPKDjB9ytRT2M">/pages/6TYMa4igPKDjB9ytRT2M</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>XN03 versión A-R2</strong></mark></td><td data-object-fit="contain"><a href="/files/agEC5tozr61kHWiL7GC3">/files/agEC5tozr61kHWiL7GC3</a></td><td><a href="/pages/pFVUKsYBUcAdFl12kqtR">/pages/pFVUKsYBUcAdFl12kqtR</a></td></tr></tbody></table>


# R1


# X-NODE / XN03 - Entradas/Salidas Analógicas A-R1

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

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

[XN03 - R2](/plataforma-xide-iot/x-nodes/xn03-entradas-salidas-analogicas/r2/x-node-xn03-entradas-salidas-analogicas)
{% endhint %}

El **X-NODE Analog Inputs-Outputs** es un módulo que permite generar hasta 3 señales analógicas/PWM y leer hasta 4 señales analógicas (3 entradas + 1 potenciómetro). La generación de señales analógicas puede utilizarse para controlar sistemas proporcionales, las señales PWM para controlar drivers de luces LED, drivers de motores de escobillas (brushed), etc. La lectura de señales analógicas puede utilizarse para crear sistemas de control proporcionales, medir voltaje de baterías y reguladores. Todo a través de una interfaz digital (UART/I2C) que es configurable lo que permite conectar múltiples **X-NODE Analog Inputs-Outputs** simultáneamente, expandiendo la cantidad de salidas analógicas/PWM que puede generar un sistema desde 3 hasta 381 , entradas analógicas desde 3 hasta 381, y 1 hasta 127 potenciómetros.

{% hint style="warning" %}
El **X-NODE Analog Inputs-Outputs** es un dispositivo que trabaja a 3.3V, antes de conectarlo a una fuente de voltaje asegúrese que el voltaje no exceda 3.3V.
{% endhint %}

### **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. [**Modo de uso**](#v.-modo-de-uso)
   * [**Protocolo UART**](#protocolo-uart)
   * [**Ejemplo UART Arduino Framework**](#ejemplo-uart-arduino-framework)
   * [**Protocolo I2C**](#protocolo-i2c)
   * [**Ejemplo I2C Arduino Framework**](#ejemplo-i2c-arduino-framework)
6. [**Descargas**](#vi.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FSvwkBR94B6syOqYyGnNn%2FSCHEMATIC%20XN03%20-%20Analog%20Inputs-Outputs.pdf?alt=media\&token=5af7ac89-34e5-4d54-a41f-d3446743eaba)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FaBXYyAHJ5YiquhzbAVyr%2FDIMENSIONS%20%20XN03%20-%20Analog%20Inputs-Outputs.pdf?alt=media\&token=7216ddb9-6c86-41fb-ba56-916231720f37)

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

El **X-NODE Analog Inputs-Outputs** es un módulo que integra un potenciómetro de vuelta simple, un LED RGB, 3 orificios con acceso a señales PWM y un puerto de conexión con 3 entradas y 3 salidas analógicas, 3.3V y GND. El potenciómetro cuenta con un valor de resistencia de 5 kΩ, una tolerancia de ± 20% y una potencia de 5 mW. El LED RGB es capaz de generar hasta una combinación de 16 millones de colores configurando los parámetros de intensidad de los colores primarios (Rojo, Verde y Azul), con un consumo promedio de 20 mA y funcionamiento en un rango de temperatura de 0 °C hasta 80 °C. Las salidas PWM comparten el canal con las salidas analógicas, esto debe considerarse al utilizar estas salidas, la resolución es de 8 bits y la frecuencia, en el caso de las señales PWM, es de 1.2 kHz. Las entradas analógicas tienen una resolución de 7 bits, la lectura utiliza un multiplexor por lo que la frecuencia máxima de muestreo es de hasta \~37 ksps para cada canal.

**X-NODE Analog Inputs-Outputs** 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**

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

1. Puerto serigrafiado con pines macho y orificios para entradas y salidas analógicas
2. Potenciómetro
3. Conectores JST compatibles con [**Qwiic®**](https://www.sparkfun.com/qwiic)
4. Indicador LED RGB
5. Orificios de acceso a señales PWM
6. Controlador en hardware
7. Puertos de comunicación UART <> I2C
8. Modelo de X-NODE
9. Tipo de X-NODE
10. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
11. Versión del hardware: R1
12. Característica principal en el X-NODE

### **III. Especificaciones** <a href="#iii.-especificaciones" id="iii.-especificaciones"></a>

<table data-header-hidden><thead><tr><th width="142"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Entradas y salidas analógicas</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Integración en proyectos de IoT con uso de propósito general como en lectura de señales y cambios de estado o secuencias con actuadores y motores. Potenciómetro útil para control de movimiento, activación de sistemas o calibración de componentes con precisión. LED RGB ideal para alertas visuales, ambientación de espacios mediante luz en hogares inteligentes, así como indicador de estado en diferentes componentes, alarmas y secuencias.</td></tr><tr><td><strong>Características</strong></td><td>Potenciómetro de vuelta simple con ángulo ajustable, valor de resistencia de 5 kΩ con tolerancia de ± 20% y una potencia de 5 mW. LED RGB capaz de generar hasta 16 millones de colores a partir de una señal PWM, con un consumo promedio de 20 mA y funcionamiento en un rango de temperatura de 0 hasta 80 °C. Puerto de conexión con pines macho y orificios para 3 entradas y 3 salidas analógicas externas, 3.3V y GND. Orificios de acceso para señales PWM.</td></tr><tr><td><strong>Interfaz</strong></td><td>UART, I2C</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a> y estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a></td></tr><tr><td><strong>Tamaño</strong></td><td>65.1 x 25.38 x 26.98 mm</td></tr><tr><td><strong>Voltaje</strong></td><td>3.3 V</td></tr></tbody></table>

## **IV. Pinout**

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

<figure><img src="/files/7HcICuWHn2fvqlwQJ7t9" alt=""><figcaption></figcaption></figure>

## **V. Modo de uso**

Para un uso fácil y rápido del X-NODE se puede hacer a través de los comandos en formato ASCII que proporciona el controlador en hardware integrado mediante una comunicación serial UART o de forma más avanzada a través del protocolo I2C.

### Protocolo UART

La comunicación UART utiliza la siguiente configuración:

* Velocidad de comunicación: 115,200 bps
* Paridad: Ninguna
* Bits de datos: 8
* Bits de paro: 1

#### Sintaxis

El protocolo UART permite enviar instrucciones en texto plano *ASCII*, cada instrucción se compone del identificador del X-NODE, un comando y un final de línea.

**Identificador**

El identificador **ID**, se conforma por el modelo del X-NODE, que puede localizar en el punto 6 del apartado Descripción de hardware y se complementa con un índice, que puede ser una letra del abecedario, por defecto es la letra **A**, siendo posible configurarlo hasta la letra **Z**. Para poder conectar más de un módulo del mismo modelo en un sistema, deberá configurar un identificador único para cada módulo, brindando la posibilidad de conectar hasta 26 módulos del mismo modelo a través del protocolo UART.

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

{% hint style="warning" %}
**Nota:** A partir de este punto se usará el índice predeterminado del X-NODE **XN03 - Analog Inputs-Outputs** para el resto del manual: **XN03A**.
{% endhint %}

**Lista de comandos**

<table data-header-hidden><thead><tr><th width="263"></th><th></th></tr></thead><tbody><tr><td><strong>XN03A?</strong></td><td>Verifica si se estableció una comunicación con éxito. <strong>Respuesta:</strong> OK</td></tr><tr><td><strong>XN03A+V</strong></td><td>Obtiene la versión del firmware actual que integra el X-NODE. <strong>Respuesta:</strong> XN03A=Versión <strong>Ejemplo:</strong> XN03A=0.1</td></tr><tr><td><strong>XN03A+ID=(A-Z)</strong></td><td>Cambia el índice del ID por una letra diferente del abecedario de la A a la Z, la nueva letra debe ser en mayúscula. Una vez modificado, para volver a cambiarlo es necesario colocar el ID con el nuevo índice. <strong>Respuesta:</strong> OK <strong>Ejemplo de envío:</strong> XN03C+ID=H</td></tr><tr><td><strong>XN03A+TW=(1-126)</strong></td><td>Cambia la dirección I2C que viene de fábrica por uno diferente. La nueva dirección se escribe en decimal seleccionando un valor de 1 a 126. <strong>Respuesta:</strong> OK <strong>Ejemplo de envío:</strong> XN03A+TW=28</td></tr><tr><td><strong>XN03A+GP</strong></td><td>Obtiene el valor del potenciómetro dado por su posición. Retorna con un valor relativo de 0 a 100. <strong>Respuesta:</strong> XN03A=VAL <strong>Ejemplo:</strong> XN03A=67</td></tr><tr><td><strong>XN03A+S=(Out1/PWM1/Rojo),(Out2/PWM2/Verde),(Out3/PWM3/Azul)</strong></td><td>Cambia el estado de cada una de las 3 salidas, sea directamente en el puerto de salidas analógicas, en los orificios de acceso PWM o en los colores del indicador LED RGB, con valores entre 0 a 255. <strong>Respuesta:</strong> OK&#x3C;CR+LF> <strong>Ejemplo de envío:</strong> XN03A+S=0,25,100&#x3C;CR+LF></td></tr></tbody></table>

#### Final de línea

El X-NODE solo responderá a un comando cuando se envíe un conjunto de caracteres finalizadores de línea, cada comando debe terminar con estos caracteres: **\<CR+LF>**

* CR significa retorno de carro (carriage return), este carácter se utiliza para indicar a un sistema que la entrada de texto debe moverse al principio.
* LF significa alimentación de línea (line feed), este carácter le indica a un sistema que la entrada de texto corresponde a una nueva línea.

La combinación de ambos caracteres es una manera común con el que las computadoras representan una nueva línea, por ejemplo, en un procesador de texto para separar párrafos.

En el caso del X-NODE los caracteres **\<CR+LF>**, se utilizan para identificar cuando se ha terminado de enviar un comando. Si el identificador corresponde al nodo, si el comando existe y si se finalizó inmediatamente con los caracteres **\<CR+LF>**, entonces el nodo enviará una respuesta.

Dependiendo del sistema, deberá configurar el envío de estos caracteres de maneras diferentes.

#### Ejemplo UART Arduino Framework

{% hint style="info" %}
Código de ejemplo para el [**XC01 - R4**](/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r4/x-node-xc01-esp32-wroom-controlador-wifi-and-bluetooth-r4), revisa el manual para utilizar nuestro [XC01 - R4 en **Arduino IDE/PlatformIO**](https://docs.microside.com/plataforma-xide-iot/x-nodes/xn03-entradas-salidas-analogicas/r1/pages/HcLUnJPVDumIHk6xsEpi#v.-configuracion-para-su-uso)
{% endhint %}

```cpp
#include "Arduino.h"

// Configura este valor para cambiar el color RGB
const uint8_t rgb_color[] = { 227, 235, 23 };

// Calcula el valor PWM para un color RGB con un brillo específico
void intensity(int brightness) {
  uint8_t red, green, blue;
  if (brightness > 100)
    brightness = 100;
  if (brightness < 0)
    brightness = 0;

  red = (rgb_color[0] * brightness) / 100;
  green = (rgb_color[1] * brightness) / 100;
  blue = (rgb_color[2] * brightness) / 100;

  Serial2.print(red);
  Serial2.print(",");
  Serial2.print(green);
  Serial2.print(",");
  Serial2.println(blue);
}

void setup() {
  // Inicializa el monitor serial
  Serial.begin(115200);

  // Inicializa la comunicación UART en el puerto MikroBUS
  Serial2.begin(115200, SERIAL_8N1, 16, 17);
}

void loop() {
  // Controla la intensidad del led RGB con el potenciómetro del XN03

  // Limpiamos el buffer
  if (Serial2.available()) {
    Serial2.read();
  }

  // Envía el comando para obtener la posición del potenciómetro
  // Los caracteres \r\n representan los caracteres
  // <CR+LF> en en lenguaje de programación C/C++
  Serial2.print("XN03A+GP\r\n");

  // Espera hasta recibir una respuesta
  String pot_value = Serial2.readStringUntil('\n');

  // Si la respuesta comienza por el ID
  // entonces la comunicación fue exitosa
  if (!pot_value.startsWith("XN03A=")) {
    Serial.println("Error");
    delay(1000);
    return;
  }

  // Convierte el valor en ASCII a un valor decimal
  int brightness = pot_value.substring(pot_value.indexOf('=') + 1).toInt();

  // Limpiamos el buffer
  if (Serial2.available()) {
    Serial2.read();
  }

  // Envía el comando para cambiar el valor de las salidas
  Serial2.print("XN03A+S=");
  intensity(brightness);

  // Espera hasta recibir una respuesta
  String success = Serial2.readStringUntil('\n');

  // Si la respuesta es "OK"
  // entonces la comunicación fue exitosa
  if (!success.startsWith("OK")) {
    Serial.println("Error");
    delay(1000);
    return;
  }

  delay(100);
}

```

### Protocolo I2C

Para poder establecer comunicación se debe conocer la dirección I2C del X-NODE, el valor de fábrica se conforma por los dos últimos dígitos del modelo después de “XN”. Las direcciones I2C suelen representarse en sistema **hexadecimal**, mientras que el modelo del X-NODE está en sistema **decimal**, asegúrese de utilizar el sistema numérico adecuado.

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

#### Configuración

* Velocidad de comunicación: 100 kHz
* Address: 7 bits

{% hint style="info" %}
**Nota:** Verifica que no cuentes con otro dispositivo con la misma dirección (Address) en el BUS I2C, de ser así recuerda que el X-NODE puede cambiar su dirección I2C con el comando **XN03A+TW=(1-126)**.
{% endhint %}

#### Lista de registros

En un dispositivo I2C los registros son direcciones de memoria que permiten configurar u obtener datos del dispositivo. Existen dos tipos de operaciones: de lectura (R) y de escritura (W).

**Registros de lectura**

En el **X-NODE Analog Inputs-Outputs** existen 4 registros de lectura: potenciómetro, entrada analógica (1-3). Para leer un registro el dispositivo maestro I2C debe generar las siguientes operaciones:

1. Enviar una **condición de inicio**: El dispositivo maestro genera un lógico bajo (0) en el pin SDA, mientras SCL permanece en alto (1).
2. Enviar la dirección del **X-NODE**: El dispositivo maestro envía la dirección de 7 bits.
3. Enviar el **tipo de operación** escritura: El dispositivo maestro indica que la operación es de escritura (1).
4. Esperar una señal de **reconocimiento (ACK)**: El dispositivo maestro espera a recibir un lógico bajo (0), como confirmación (Acknowledgment) que exista un dispositivo con la dirección enviada previamente en el BUS I2C. Si no se recibe respuesta (1), significa que hubo un error en la comunicación o la dirección es incorrecta.
5. Escribe la dirección del registro (**1 byte**): El dispositivo maestro enviará 1 byte indicando el registro a leer:
   * 0x1E: Potenciómetro
   * 0x1F: Entrada 1
   * 0x20: Entrada 2
   * 0x15: Entrada 3
6. Esperar una señal de **reconocimiento (ACK)**: El dispositivo enviará una señal de **reconocimiento (Acknowledgment)** al maestro, indicando que ha recibido la dirección del registro.
7. Enviar una **condición de paro**: El dispositivo maestro debe liberar el BUS I2C generando un lógico alto (1) en el pin SDA mientras que SCL se encuentra en un lógico alto (1).

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

1. Enviar una **condición de inicio**: El dispositivo maestro genera un lógico bajo (0) en el pin SDA, mientras SCL permanece en alto (1).
2. Enviar la dirección del **X-NODE**: El dispositivo maestro envía la dirección de 7 bits.
3. Enviar el **tipo de operación** escritura: El dispositivo maestro indica que la operación es de lectura (0).
4. Esperar una señal de **reconocimiento (ACK)**: El dispositivo maestro espera a recibir un lógico bajo (0), como confirmación (Acknowledgment) que exista un dispositivo con la dirección enviada previamente en el BUS I2C. Si no se recibe respuesta (1), significa que hubo un error en la comunicación o la dirección es incorrecta.
5. Recibir **1 byte** de datos: El dispositivo enviará al maestro 8 bits (1 byte), donde el bit más significativo (el que se recibe primero) debe ignorarse, los 7 bits restantes representan el valor de las entradas de 0 a 100.
6. Esperar una señal de **no reconocimiento (NACK)**: El dispositivo enviará una señal de **no reconocimiento (Not Acknowledgment)** al maestro, indicando que ha terminado de enviar información.
7. Enviar una **condición de paro**: El dispositivo maestro debe liberar el BUS I2C generando un lógico alto (1) en el pin SDA mientras que SCL se encuentra en un lógico alto (1).

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

**Registros de escritura**

En el **X-NODE Analog Inputs-Outputs** existen 3 registros de escritura para cada uno de los canales PWM/Analógicos. Para escribir en los registros el dispositivo maestro I2C debe generar las siguientes operaciones:

1. Enviar una **condición de inicio**: El dispositivo maestro genera un lógico bajo (0) en el pin SDA, mientras SCL permanece en alto (1).
2. Enviar la dirección del **X-NODE**: El dispositivo maestro envía la dirección de 7 bits.
3. Enviar el **tipo de operación**: El dispositivo maestro indica que es una operación de escritura (1).
4. Esperar una señal de **reconocimiento (ACK)**: El dispositivo maestro espera a recibir un lógico bajo (0), como confirmación (Acknowledgment) que exista un dispositivo con la dirección enviada previamente en el BUS I2C. Si no se recibe respuesta (1), significa que hubo un error en la comunicación o la dirección es incorrecta.
5. Escribir la dirección del registro (**1 byte**): El dispositivo maestro debe envíar la dirección del registro del canal PWM/analógico a escribir.
6. Escribir el valor del registro (**1 hasta 3 bytes**): El dispositivo maestro debe escribir un valor de 0 a 255 (8 bits) para el canal PWM/analógico del registro seleccionado. Escribir más de un byte moverá la dirección del registro al siguiente: canal 1->canal 2->canal 3. Escribir más valores no tendrá ningún efecto.
7. Esperar una señal de **reconocimiento (ACK)**: El dispositivo enviará una señal de **no reconocimiento (Acknowledgment)** al maestro, indicando que ha terminado de enviar información.
8. Enviar una **condición de paro**: El dispositivo maestro debe liberar el BUS I2C generando un lógico alto (1) en el pin SDA mientras que SCL se encuentra en un lógico alto (1).

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

#### Ejemplo I2C Arduino Framework

{% hint style="info" %}
Código de ejemplo para el [**XC01 - R4**](/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r4/x-node-xc01-esp32-wroom-controlador-wifi-and-bluetooth-r4), revisa el manual para utilizar nuestro [XC01 - R4 en **Arduino IDE/PlatformIO**](https://docs.microside.com/plataforma-xide-iot/x-nodes/xn03-entradas-salidas-analogicas/r1/pages/HcLUnJPVDumIHk6xsEpi#v.-configuracion-para-su-uso)
{% endhint %}

```cpp
#include <Arduino.h>
#include <Wire.h>

// Configura este valor para cambiar el color RGB
const uint8_t rgb_color[] = { 227, 235, 23 };

// Calcula el valor PWM para un color RGB con un brillo específico
bool intensity(int brightness) {
  uint8_t red, green, blue;
  if (brightness > 100)
    brightness = 100;
  if (brightness < 0)
    brightness = 0;

  red = (rgb_color[0] * brightness) / 100;
  green = (rgb_color[1] * brightness) / 100;
  blue = (rgb_color[2] * brightness) / 100;

  // Enviar condición de inicio + dirección
  // + tipo operación
  Wire.beginTransmission(0x03);

  // Escribe la dirección del registro del canal 1 (0x23)
  Wire.write(0x23);
  // Escribir el valor del canal 1 (color rojo)
  Wire.write(red);
  // Escribir de forma secuencial asigna el valor del canal 2 (verde)
  Wire.write(green);
  // Y el canal 3 (azul)
  Wire.write(blue);

  return (Wire.endTransmission() == 0);
}

void setup() {
  // Inicializa el monitor serial
  Serial.begin(115200);

  // Inicializa la comunicación I2C
  Wire.begin();
}

void loop() {
  // Controla la intensidad del led RGB con el potenciómetro del XN03

  uint8_t bytes_recv = 0;
  uint8_t pot = 0;

  // Enviar condición de inicio + dirección
  // + tipo operación
  Wire.beginTransmission(0x03);
  // Escribe la dirección del registro del potenciómetro (0x1E)
  Wire.write(0x1E);

  // Verificar si la operación fue exitosa
  if (Wire.endTransmission() != 0) {
    Serial.println("Error al solicitar el registro");
    delay(1000);
    return;
  }

  // Enviar condición de inicio + dirección
  // + tipo operación + cantidad de bytes a leer
  bytes_recv = Wire.requestFrom(0x03, 1);

  // Confirmar que se recibió 1 byte
  if (bytes_recv != 1) {
    Serial.println("Error al leer el registro");
    delay(1000);
    return;
  }

  pot = Wire.read();

  // Enviar el comando para cambiar el valor de las salidas
  if (!intensity(pot)) {
    Serial.println("Error al escribir el valor RGB");
    delay(1000);
    return;
  }

  delay(100);
}

```

## **VI. Descargas**

<table data-card-size="large" data-view="cards"><thead><tr><th align="center"></th><th data-hidden 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://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FSvwkBR94B6syOqYyGnNn%2FSCHEMATIC%20XN03%20-%20Analog%20Inputs-Outputs.pdf?alt=media&#x26;token=5af7ac89-34e5-4d54-a41f-d3446743eaba">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FSvwkBR94B6syOqYyGnNn%2FSCHEMATIC%20XN03%20-%20Analog%20Inputs-Outputs.pdf?alt=media&#x26;token=5af7ac89-34e5-4d54-a41f-d3446743eaba</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FaBXYyAHJ5YiquhzbAVyr%2FDIMENSIONS%20%20XN03%20-%20Analog%20Inputs-Outputs.pdf?alt=media&#x26;token=7216ddb9-6c86-41fb-ba56-916231720f37">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FaBXYyAHJ5YiquhzbAVyr%2FDIMENSIONS%20%20XN03%20-%20Analog%20Inputs-Outputs.pdf?alt=media&#x26;token=7216ddb9-6c86-41fb-ba56-916231720f37</a></td></tr></tbody></table>


# R2


# X-NODE / XN03 - Entradas/Salidas Analógicas

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/x-node-entradas-salidas-analogicas-31">https://www.microside.com/shop/x-node-entradas-salidas-analogicas-31</a></td></tr></tbody></table>

El **X-NODE Analog Inputs-Outputs** es un módulo que permite generar hasta 3 señales analógicas/PWM y leer hasta 4 señales analógicas (3 entradas + 1 potenciómetro). La generación de señales analógicas puede utilizarse para controlar sistemas proporcionales, las señales PWM para controlar drivers de luces LED, drivers de motores de escobillas (brushed), etc. La lectura de señales analógicas puede utilizarse para crear sistemas de control proporcionales, medir voltaje de baterías y reguladores. Todo a través de una interfaz digital (UART/I2C) que es configurable lo que permite conectar múltiples **X-NODE Analog Inputs-Outputs** simultáneamente, expandiendo la cantidad de salidas analógicas/PWM que puede generar un sistema desde 3 hasta 381, entradas analógicas desde 3 hasta 381, y 1 hasta 127 potenciómetros.

{% hint style="warning" %}
El **X-NODE Analog Inputs-Outputs** es un dispositivo que trabaja a 3.3V, antes de conectarlo a una fuente de voltaje asegúrese que el voltaje no exceda 3.3V.
{% endhint %}

### **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. [**Modo de uso**](#v.-modo-de-uso)
   * [**Protocolo UART**](#protocolo-uart)
   * [**Ejemplo UART Arduino Framework**](#ejemplo-uart-arduino-framework)
   * [**Protocolo I2C**](#protocolo-i2c)
   * [**Ejemplo I2C Arduino Framework**](#ejemplo-i2c-arduino-framework)
6. [**Descargas**](#vi.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F60L0iXekuA3YNOY0aqIu%2Fschematic.pdf?alt=media\&token=9ed4a9d0-caa8-48af-acc5-6fb5e4498658)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F0uKPpdW8jtZrE4D9PFIW%2Fdimensions.pdf?alt=media\&token=7cf6b960-d657-473b-8eca-b19280571d1c)

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

El **X-NODE Analog Inputs-Outputs** es un módulo que integra un potenciómetro de vuelta simple, un LED RGB, 3 orificios con acceso a señales PWM y un puerto de conexión con 3 entradas y 3 salidas analógicas, 3.3V y GND. El controlador en hardware permite su uso sin tener conocimientos avanzados de hardware, ya que solo es necesario enviar una serie de comandos en formato ASCII por medio del protocolo de comunicación serial UART o usando el protocolo I2C, esto permite que el X-NODE sea compatible con cualquier sistema basado en un microcontrolador, un microprocesador o equipos industriales. El potenciómetro cuenta con un valor de resistencia de 5 kΩ, una tolerancia de ± 20% y una potencia de 5 mW. El LED RGB es capaz de generar hasta una combinación de 16 millones de colores configurando los parámetros de intensidad de los colores primarios (Rojo, Verde y Azul), con un consumo promedio de 20 mA y funcionamiento en un rango de temperatura de 0 °C hasta 80 °C. Las salidas PWM comparten el canal con las salidas analógicas, esto debe considerarse al utilizar estas salidas, la resolución es de 8 bits y la frecuencia, en el caso de las señales PWM, es de 1.2 kHz. Las entradas analógicas tienen una resolución de 10 bits, la lectura utiliza un multiplexor por lo que la frecuencia máxima de muestreo es de hasta \~37 ksps para cada canal.

**X-NODE Analog Inputs-Outputs** 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**

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

1. Puerto serigrafiado con conector tipo clema de 9 pines para cables AWG de calibre 26 a 18
2. Potenciómetro
3. Conectores JST compatibles con [Qwiic®](https://www.sparkfun.com/qwiic)
4. Indicador LED RGB
5. Orificios de acceso a señales PWM
6. Controlador en hardware
7. Puertos de comunicación UART <> I2C
8. Modelo de X-NODE
9. Tipo de X-NODE
10. Conectores estándar [mikroBUS™](https://www.mikroe.com/mikrobus)
11. Versión del hardware: R2
12. Característica principal en el X-NODE

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="172"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Entradas y salidas analógicas</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Integración en proyectos de IoT con uso de propósito general como en lectura de señales y cambios de estado o secuencias con actuadores y motores. Potenciómetro útil para control de movimiento, activación de sistemas o calibración de componentes con precisión. LED RGB ideal para alertas visuales, ambientación de espacios mediante luz en hogares inteligentes, así como indicador de estado en diferentes componentes, alarmas y secuencias.</td></tr><tr><td><strong>Características</strong></td><td>Potenciómetro de vuelta simple con ángulo ajustable, con un valor de resistencia de 5 kΩ, una tolerancia de ± 20% y una potencia de 5 mW. LED RGB capaz de generar hasta 16 millones de colores a partir de una señal PWM, con un consumo promedio de 20 mA y funcionamiento en un rango de temperatura de 0 hasta 80 °C. Clema de 9 pines para cables AWG de calibre 26 a 18 para 3 entradas y 3 salidas analógicas externas, 3.3V y GND. Orificios para acceso de señales PWM.</td></tr><tr><td><strong>Interfaz</strong></td><td>UART, I2C</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a> y estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a> </td></tr><tr><td><strong>Tamaño</strong></td><td>65.09 x 25.38 x 26.98 mm</td></tr><tr><td><strong>Voltaje</strong> </td><td>3.3 V </td></tr></tbody></table>

## **IV. Pinout**

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

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

## **V. Modo de uso**

Para un uso fácil y rápido del X-NODE se puede hacer a través de los comandos en formato ASCII que proporciona el controlador en hardware integrado mediante una comunicación serial UART o de forma más avanzada a través del protocolo I2C.

### Protocolo UART

La comunicación UART utiliza la siguiente configuración:

* Velocidad de comunicación: 115,200 bps
* Paridad: Ninguna
* Bits de datos: 8
* Bits de paro: 1

#### Sintaxis

El protocolo UART permite enviar instrucciones en texto plano *ASCII*, cada instrucción se compone del identificador del X-NODE, un comando y un final de línea.

**Identificador**

El identificador **ID**, se conforma por el modelo del X-NODE, que puede localizar en el punto 6 del apartado Descripción de hardware y se complementa con un índice, que puede ser una letra del abecedario, por defecto es la letra **A**, siendo posible configurarlo hasta la letra **Z**. Para poder conectar más de un módulo del mismo modelo en un sistema, deberá configurar un identificador único para cada módulo, brindando la posibilidad de conectar hasta 26 módulos del mismo modelo a través del protocolo UART.

<figure><img src="/files/cCJ5Cb1iF0QW7MDWHLSn" alt="XNO3_MICROSIDE"><figcaption></figcaption></figure>

{% hint style="warning" %}
**Nota:** A partir de este punto se usará el índice predeterminado del X-NODE **XN03 - Analog Inputs-Outputs** para el resto del manual: **XN03A**.
{% endhint %}

#### Lista de comandos

<table data-header-hidden><thead><tr><th width="194.20001220703125"></th><th></th></tr></thead><tbody><tr><td><strong>XN03A?</strong></td><td>Verifica si se estableció una comunicación con éxito.<br><strong>Respuesta:</strong> OK</td></tr><tr><td><strong>XN03A+V</strong></td><td>Obtiene la versión del firmware actual que integra el X-NODE.<br><strong>Respuesta:</strong> XN03A=Versión<br><strong>Ejemplo:</strong> XN03A=0.1</td></tr><tr><td><strong>XN03A+ID=(A-Z)</strong></td><td>Cambia el índice del ID por una letra diferente del abecedario de la A a la Z, la nueva letra debe ser en mayúscula. Una vez modificado, para volver a cambiarlo es necesario colocar el ID con el nuevo índice.<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN03C+ID=H</td></tr><tr><td><strong>XN03A+TW=(1-126)</strong></td><td>Cambia la dirección I2C que viene de fábrica por uno diferente. La nueva dirección se escribe en decimal seleccionando un valor de 1 a 126.<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN03A+TW=28</td></tr><tr><td><strong>XN03A+GP</strong></td><td>Obtiene el valor del potenciómetro dado por su posición. Retorna con un valor relativo de 0 a 100.<br><strong>Respuesta:</strong> XN03A=VAL<br><strong>Ejemplo:</strong> XN03A=67</td></tr><tr><td><strong>XN03A+S=(Out1/PWM1/Rojo),(Out2/PWM2/Verde),(Out3/PWM3/Azul)[,(Scale)</strong></td><td>Cambia el estado de cada una de las 3 salidas, sea directamente en el puerto de salidas analógicas, en los orificios de acceso PWM o en los colores del indicador LED RGB, con valores entre 0 a 255, opcionalmente enviar un cuarto valor entre 0 a 255 permite escalar los canales (RGBa).<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN03A+S=0,25,100</td></tr><tr><td><strong>XN03A+G(P,1,2,3)</strong></td><td>Obtiene el valor del potenciómetro dado por su posición o de las entradas analógicas (1,2,3). Retorna con un valor relativo de 0 a 100.<br><strong>Respuesta:</strong> XN03A=VAL<br><strong>Ejemplo de envío:</strong> XN03A+GP<br><strong>Ejemplo de respuesta</strong>XN03A=67</td></tr><tr><td><strong>XN03A+A(P,1,2,3)</strong></td><td>Obtiene el valor del potenciómetro dado por su posición o de las entradas analógicas (1,2,3) con la resolución del ADC (10 bits). Retorna con un valor relativo de 0 a 1023.<br><strong>Respuesta:</strong> XN03A=VAL<br><strong>Ejemplo de envío:</strong> XN03A+AP<br><strong>Ejemplo de respuesta</strong>XN03A=512</td></tr></tbody></table>

#### Final de línea

El X-NODE solo responderá a un comando cuando se envíe un conjunto de caracteres finalizadores de línea, cada comando debe terminar con estos caracteres: **\<CR+LF>**

* CR significa retorno de carro (carriage return), este carácter se utiliza para indicar a un sistema que la entrada de texto debe moverse al principio.
* LF significa alimentación de línea (line feed), este carácter le indica a un sistema que la entrada de texto corresponde a una nueva línea.

La combinación de ambos caracteres es una manera común con el que las computadoras representan una nueva línea, por ejemplo, en un procesador de texto para separar párrafos.

En el caso del X-NODE los caracteres **\<CR+LF>**, se utilizan para identificar cuando se ha terminado de enviar un comando. Si el identificador corresponde al nodo, si el comando existe y si se finalizó inmediatamente con los caracteres **\<CR+LF>**, entonces el nodo enviará una respuesta.

Dependiendo del sistema, deberá configurar el envío de estos caracteres de maneras diferentes.

#### Ejemplo UART Arduino Framework

{% hint style="info" %}
Código de ejemplo para el [**XC01 - R5**](/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r5/x-node-xc01-esp32-s3-controlador-wifi-and-bluetooth), revisa el manual para utilizar nuestro [XC01 - R5 en **Arduino IDE/PlatformIO**](/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r5/x-node-xc01-esp32-s3-controlador-wifi-and-bluetooth#configuracion-para-platformio-en-vs-code)
{% endhint %}

```cpp

// Este ejemplo permite controlar la intensidad del 
// LED RGB del X-NODE utilizando el potenciómetro.

#include "Arduino.h"

// Configura este valor para cambiar el color RGB
const uint8_t rgb_color[] = { 227, 235, 23 };

void setup() {
  // Inicializa el monitor serial
  Serial.begin(115200);

  // Inicializa la comunicación UART en el puerto MikroBUS
  Serial2.begin(115200, SERIAL_8N1, 9, 10);
}

void loop() {
  // Controla la intensidad del led RGB con el potenciómetro del XN03

  // Limpiamos el buffer
  if (Serial2.available()) {
    Serial2.read();
  }

  // Envía el comando para obtener la posición del potenciómetro
  // Los caracteres \r\n representan los caracteres
  // <CR+LF> en en lenguaje de programación C/C++
  Serial2.print("XN03A+GP\r\n");

  // Espera hasta recibir una respuesta
  String pot_value = Serial2.readStringUntil('\n');

  // Si la respuesta comienza por el ID
  // entonces la comunicación fue exitosa
  if (!pot_value.startsWith("XN03A=")) {
    Serial.println("Error");
    delay(1000);
    return;
  }

  // Convierte el valor en ASCII a un valor decimal
  int brightness = pot_value.substring(pot_value.indexOf('=') + 1).toInt();

  // Limpiamos el buffer
  if (Serial2.available()) {
    Serial2.read();
  }

  // Envía el comando para cambiar el valor de las salidas
  Serial2.print("XN03A+S=");
  Serial2.print(rgb_color[0]);
  Serial2.print(",");
  Serial2.print(rgb_color[1]);
  Serial2.print(",");
  Serial2.print(rgb_color[2]);
  Serial2.print(",");
  Serial2.println(brightness);

  // Espera hasta recibir una respuesta
  String success = Serial2.readStringUntil('\n');

  // Si la respuesta es "OK"
  // entonces la comunicación fue exitosa
  if (!success.startsWith("OK")) {
    Serial.println("Error");
    delay(1000);
    return;
  }

  delay(100);
}

```

### Protocolo I2C

Para poder establecer comunicación se debe conocer la dirección I2C del X-NODE, el valor de fábrica se conforma por los dos últimos dígitos del modelo después de “XN”. Las direcciones I2C suelen representarse en sistema **hexadecimal**, mientras que el modelo del X-NODE está en sistema **decimal**, asegúrese de utilizar el sistema numérico adecuado.

<figure><img src="/files/OlICnuSa2Ytlxdvhl4zw" alt="XNO3_MICROSIDE_02"><figcaption></figcaption></figure>

#### Configuración

* Velocidad de comunicación: 100 kHz
* Address: 7 bits

{% hint style="info" %}
**Nota:** Verifica que no cuentes con otro dispositivo con la misma dirección (Address) en el BUS I2C, de ser así recuerda que el X-NODE puede cambiar su dirección I2C con el comando **XN03A+TW=(1-126)**.
{% endhint %}

#### Escritura

Para escribir en un registro del **X-NODE Digital Inputs** el maestro I2C debe generar las siguientes operaciones:

1. Enviar una **condición de inicio**: El maestro genera un lógico bajo (0) en el pin SDA, mientras SCL permanece en alto (1).
2. Enviar la dirección del **X-NODE**: El maestro envía la dirección de 7 bits.
3. Enviar el **tipo de operación**: El maestro indica si la operación es de lectura (0) o de escritura (1).
4. Esperar una señal de **reconocimiento (ACK)**: El maestro espera a recibir un lógico bajo (0), como confirmación (Acknowledgment) que exista un dispositivo con la dirección enviada previamente en el BUS I2C. Si no se recibe respuesta (1), significa que hubo un error en la comunicación o la dirección es incorrecta.
5. Escribir **n bytes** de datos: El maestro escribirá en secuencias de 8 bits (1 byte) y en orden del bit más significativo primero (MSB) n cantidad de bytes que desea escribir en el registro, el dispositivo enviará una señal de **reconocimiento (ACK)** por cada byte escrito.
6. Enviar una **condición de paro**: El maestro debe liberar el BUS I2C generando un lógico alto (1) en el pin SDA mientras que SCL se encuentra en un lógico alto (1).

#### Lectura

Para leer en un registro del **X-NODE Digital Inputs** el maestro I2C debe generar las siguientes operaciones:

1. Enviar una **condición de inicio**: El maestro genera un lógico bajo (0) en el pin SDA, mientras SCL permanece en alto (1).
2. Enviar la dirección del **X-NODE**: El maestro envía la dirección de 7 bits.
3. Enviar el **tipo de operación**: El maestro indica si la operación es de lectura (0) o de escritura (1).
4. Esperar una señal de **reconocimiento (ACK)**: El maestro espera a recibir un lógico bajo (0), como confirmación (Acknowledgment) que exista un dispositivo con la dirección enviada previamente en el BUS I2C. Si no se recibe respuesta (1), significa que hubo un error en la comunicación o la dirección es incorrecta.
5. Leer **n bytes** de datos: El dispositivo enviará secuencias de 8 bits (1 byte) y en orden del bit más significativo primero (MSB) n cantidad de bytes, al recibir un byte, el maestro deberá generar una señal de **reconocimiento (ACK)** para solicitar 1 byte más, o una señal de **no reconocimiento (NACK)** para indicar que ha finalizado la transmisión y solicitar el dispositivo que libere el BUS.
6. Enviar una **condición de paro**: El maestro debe liberar el BUS I2C generando un lógico alto (1) en el pin SDA mientras que SCL se encuentra en un lógico alto (1).

#### Lista de registros

En un dispositivo I2C los registros son direcciones de memoria que permiten configurar u obtener datos del dispositivo. Existen dos tipos de operaciones: de lectura (R) y de escritura (W).

<table><thead><tr><th width="112.79998779296875">Registro</th><th width="96" align="center">Dirección</th><th width="82.79998779296875" align="center">Tipo</th><th width="87.39996337890625" align="center">No. Bytes</th><th width="344.80010986328125">Descripción</th></tr></thead><tbody><tr><td>O1_RED</td><td align="center">0x01</td><td align="center">R/W</td><td align="center">1 a 4</td><td>El primer byte representa el canal O-1 (rojo) del DAC, el segundo el canal O-2 (verde), el tercero el canal O-3 (azul), enviar un byte 4 permite escalar la intensidad de los canales (RGBa)</td></tr><tr><td>O2_GREEN</td><td align="center">0x02</td><td align="center">R/W</td><td align="center">1 a 3</td><td>El primer byte representa el canal O-2 (verde) del DAC, el segundo el canal O-3 (azul), enviar un byte 3 permite escalar la intensidad de los canales O-2 y O- 3 (GBa), el primer canal no se verá afectado.</td></tr><tr><td>O3_BLUE</td><td align="center">0x03</td><td align="center">R/W</td><td align="center">1 a 2</td><td>El primer byte representa el canal O-3 (azul) del DAC, enviar un byte 2 permite escalar la intensidad del canal 3 (Ba), el canal O-1 y O-2 no se verán afectados.</td></tr><tr><td>IN_POT</td><td align="center">0x10</td><td align="center">R</td><td align="center">1</td><td>Retorna el valor del ADC del potenciómetro escalado de 0 (0x00) a 100 (0x64)</td></tr><tr><td>IN1</td><td align="center">0x11</td><td align="center">R</td><td align="center">1</td><td>Retorna el valor del ADC del canal I-1 escalado de 0 (0x00) a 100 (0x64)</td></tr><tr><td>IN2</td><td align="center">0x12</td><td align="center">R</td><td align="center">1</td><td>Retorna el valor del ADC del canal I-2 escalado de 0 (0x00) a 100 (0x64)</td></tr><tr><td>IN3</td><td align="center">0x13</td><td align="center">R</td><td align="center">1</td><td>Retorna el valor del ADC del canal I-3 escalado de 0 (0x00) a 100 (0x64)</td></tr><tr><td>ADC_POT</td><td align="center">0x20</td><td align="center">R</td><td align="center">2</td><td>Retorna el valor del ADC del potenciómetro, con una resolución de 10 bits, 0 (0x00) a 1023 (0x3FF).</td></tr><tr><td>ADC1</td><td align="center">0x21</td><td align="center">R</td><td align="center">2</td><td>Retorna el valor del ADC del canal I-1, con una resolución de 10 bits, 0 (0x00) a 1023 (0x3FF).</td></tr><tr><td>ADC2</td><td align="center">0x22</td><td align="center">R</td><td align="center">2</td><td>Retorna el valor del ADC del canal I-2, con una resolución de 10 bits, 0 (0x00) a 1023 (0x3FF).</td></tr><tr><td>ADC3</td><td align="center">0x23</td><td align="center">R</td><td align="center">2</td><td>Retorna el valor del ADC del canal I-3, con una resolución de 10 bits, 0 (0x00) a 1023 (0x3FF).</td></tr><tr><td>STAT</td><td align="center">0x37</td><td align="center">R</td><td align="center">1</td><td>Estado del XNODE, 0x00 si no hay errores, cualquier otro valor significa error en la comunicación.</td></tr><tr><td>FW</td><td align="center">0x38</td><td align="center">R</td><td align="center">3</td><td>Versión de firmware, en versión mayor, menor y parche: 0x02.0x00.0x00</td></tr><tr><td>UART_ID</td><td align="center">0x39</td><td align="center">R/W - NV</td><td align="center">1</td><td>Permite leer y escribir el índice del ID por una letra diferente del abecedario de la A (0x41) a la Z (0x5A)</td></tr><tr><td>TW_ADD</td><td align="center">0x3A</td><td align="center">R/W - NV</td><td align="center">1</td><td>Permite leer y escribir la dirección I2C del dispositivo por uno diferente de 1 (0x01) a 126 (0x7D).</td></tr><tr><td>UART_EN</td><td align="center">0x3B</td><td align="center">W</td><td align="center">1</td><td>Habilita (0x01) o deshabilita (0x00) la interfaz UART del dispositivo.</td></tr><tr><td>SLEEP</td><td align="center">0x3C</td><td align="center">W</td><td align="center">1</td><td>Habilita (0x01) o deshabilita (0x00) el descanso profundo del dispositivo, el dispositivo despertará si el maestro escribe la dirección I2C del dispositivo en el BUS.</td></tr><tr><td>RESET</td><td align="center">0x3D</td><td align="center">W</td><td align="center">1</td><td>Si se escribe un 0x01 reinicia el dispositivo.</td></tr><tr><td>WHO_AM_I</td><td align="center">0x3E</td><td align="center">R</td><td align="center">2</td><td>El primer byte es el modelo del XNODE, el segundo byte es la revisión de hardware</td></tr></tbody></table>

**Registros No volatiles (NV)**

Los registros no volatiles se guardan en la memoria EEPROM del dispositivo, lo que significa que conservarán los valores escritos en ellos incluso si el dispositivo se apaga.

**Estructura del registro OUT1, OUT2, OUT3:**

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

**Estructura del registro IN\_POT, IN1, IN2, IN3:**

<figure><img src="/files/060iRV8WgVsu0ZXeFgWd" alt=""><figcaption></figcaption></figure>

**Estructura del registro ADC\_POT, ADC1, ADC2, ADC3:**

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

#### Ejemplo I2C Arduino Framework

{% hint style="info" %}
Código de ejemplo para el [**XC01 - R5**](/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r5/x-node-xc01-esp32-s3-controlador-wifi-and-bluetooth), revisa el manual para utilizar nuestro [XC01 - R5 en **Arduino IDE/PlatformIO**](/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r5/x-node-xc01-esp32-s3-controlador-wifi-and-bluetooth#configuracion-para-platformio-en-vs-code)
{% endhint %}

```cpp

// Este ejemplo permite controlar la intensidad del 
// LED RGB del X-NODE utilizando el potenciómetro.

#include <Arduino.h>
#include <Wire.h>

// Configura este valor para cambiar el color RGB
const uint8_t rgb_color[] = { 227, 235, 23 };

void setup() {
  // Inicializa el monitor serial
  Serial.begin(115200);

  // Configura los pines de la comunicación I2C
  Wire.setPins( 12, 13 );
  // Inicializa la comunicación I2C
  Wire.begin();
}

void loop() {
  // Controla la intensidad del led RGB con el potenciómetro del XN03

  uint8_t bytes_recv = 0;
  uint8_t pot = 0;

  // Enviar condición de inicio + dirección
  // + tipo operación
  Wire.beginTransmission(0x03);
  // Escribe la dirección del registro del potenciómetro (0x1E)
  Wire.write(0x10);

  // Verificar si la operación fue exitosa
  if (Wire.endTransmission() != 0) {
    Serial.println("Error al solicitar el registro");
    delay(1000);
    return;
  }

  // Enviar condición de inicio + dirección
  // + tipo operación + cantidad de bytes a leer
  bytes_recv = Wire.requestFrom(0x03, 1);

  // Confirmar que se recibió 1 byte
  if (bytes_recv != 1) {
    Serial.println("Error al leer el registro");
    delay(1000);
    return;
  }

  pot = Wire.read();

  // Enviar condición de inicio + dirección
  // + tipo operación
  Wire.beginTransmission(0x03);

  // Escribe la dirección del registro del canal 1 (0x01)
  Wire.write(0x01);
  // Escribir el valor del canal 1 (color rojo)
  Wire.write(rgb_color[0]);
  // Escribir de forma secuencial asigna el valor del canal 2 (verde)
  Wire.write(rgb_color[1]);
  // El canal 3 (azul)
  Wire.write(rgb_color[2]);
  // Y la intensidad
  Wire.write(pot);

  if (Wire.endTransmission() != 0){
    Serial.println("Error al escribir el valor RGB");
    delay(1000);
  }

  delay(100);
}

```

## **VI. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F60L0iXekuA3YNOY0aqIu%2Fschematic.pdf?alt=media&#x26;token=9ed4a9d0-caa8-48af-acc5-6fb5e4498658">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F60L0iXekuA3YNOY0aqIu%2Fschematic.pdf?alt=media&#x26;token=9ed4a9d0-caa8-48af-acc5-6fb5e4498658</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F0uKPpdW8jtZrE4D9PFIW%2Fdimensions.pdf?alt=media&#x26;token=7cf6b960-d657-473b-8eca-b19280571d1c">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F0uKPpdW8jtZrE4D9PFIW%2Fdimensions.pdf?alt=media&#x26;token=7cf6b960-d657-473b-8eca-b19280571d1c</a></td></tr></tbody></table>


# XN04 - Sensores Temperatura/Humedad/Luminosidad

<table data-card-size="large" data-view="cards" data-full-width="true"><thead><tr><th align="center"></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><mark style="color:green;"><strong>XN04 versión A-R1</strong></mark></td><td data-object-fit="contain"><a href="/files/SeeCMDXnCsJq8ubIgVtu">/files/SeeCMDXnCsJq8ubIgVtu</a></td><td><a href="/pages/FaQOMvhIkL45h49tirzx">/pages/FaQOMvhIkL45h49tirzx</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>XN04 versión A-R2</strong></mark></td><td data-object-fit="contain"><a href="/files/LEaurJDZ0JzxlnEjSW5H">/files/LEaurJDZ0JzxlnEjSW5H</a></td><td><a href="/pages/1kQWCA2TSDmZxCJDKnzp">/pages/1kQWCA2TSDmZxCJDKnzp</a></td></tr></tbody></table>


# R1


# X-NODE / XN04 – Sensores Temperatura/Humedad/Luminosidad/Proximidad A-R1

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

El **X-NODE Temp-Hum / Prox-Lum** es un módulo que permite realizar mediciones de 4 variables ambientales: **Temperatura, Humedad, Luz Ambiental y Proximidad**. Ideal para proyectos IoT que requieren control y monitoreo de sistemas cerrados, como aire acondicionado, cámaras de refrigeración, o ajustes automáticos de iluminación. Este módulo simplifica los diseños al reducir la necesidad de múltiples dispositivos, ofreciendo una solución compacta y eficiente para aplicaciones de monitoreo.

{% hint style="info" %}
El **X-NODE Temp-Hum / Prox-Lum**, a diferencia de otros X-NODE, no permite reconfigurar la dirección I2C. Por lo que no se puede utilizar más de un **X-NODE Temp-Hum / Prox-Lum** simultáneamente, a menos que desconecte los pines SCL/SDA, evite el uso del conector [Qwiic®](https://www.sparkfun.com/qwiic) y utilice el protocolo UART.
{% endhint %}

### **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. [**Modo de uso**](#v.-modo-de-uso)
   * [**Protocolo UART**](#protocolo-uart)
   * [**Ejemplo UART Arduino Framework**](#ejemplo-uart-arduino-framework)
   * [**Protocolo I2C**](#protocolo-i2c)
   * [**Ejemplo I2C Arduino Framework**](#ejemplo-i2c-arduino-framework)
6. [**Descargas**](#vi.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FdOqfbpBJxCNIWmBXODqL%2FSCHEMATIC%20XN04%20-%20Temp-Hum%20Prox-Lum.pdf?alt=media\&token=d4f6e73e-182e-47e3-83bb-0a63fa8c8059)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FLxcXWmveHWS4V4UIQNlr%2FDIMENSIONS%20XN04%20-%20Temp-Hum%20Prox-Lum.pdf?alt=media\&token=516dd5bc-874b-49db-b0bc-b72ba50ff6cc)

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

El **X-NODE Temp-Hum / Prox-Lum** es un módulo que combina 2 sensores: un [SHT40](https://sensirion.com/products/catalog/SHT40) de [Sensirion®](https://sensirion.com/) para medir temperatura/humedad ambiental y un [SFH 7779](https://look.ams-osram.com/m/414abb523da40e66/original/SFH-7779.pdf) de [OSRAM®](https://www.osram.es/cb/) para medir luminosidad en interiores y la proximidad relativa; con un controlador integrado permite obtener estas variables utilizando una serie de comandos *ASCII*.

**X-NODE Temp-Hum / Prox-Lum** 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**

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

1. Sensor[ **SHT40**](https://sensirion.com/products/catalog/SHT40) de [**Sensirion®**](https://sensirion.com/)
2. Conectores JST compatibles con [**Qwiic®**](https://www.sparkfun.com/qwiic)
3. Sensor [**SFH 7779**](https://look.ams-osram.com/m/414abb523da40e66/original/SFH-7779.pdf) de [**OSRAM®**](https://www.osram.es/cb/)
4. Controlador en hardware
5. Puertos de comunicación UART <> I2C
6. Modelo de X-NODE
7. Tipo de X-NODE
8. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
9. Versión de hardware: R1
10. Componentes principales en el X-NODE

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="174"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Sensor de temperatura, humedad, proximidad y luz ambiental</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Desarrollo de sistemas de IoT que requieran control y monitoreo dentro de sistemas cerrados, como aire acondicionado, cámaras de refrigeración, o ajustes automáticos de iluminación.</td></tr><tr><td><strong>Módulo 1</strong></td><td><a href="https://sensirion.com/products/catalog/SHT40">SHT40</a></td></tr><tr><td><strong>Fabricante</strong></td><td><a href="https://sensirion.com/">Sensirion®</a></td></tr><tr><td><strong>Módulo 2</strong></td><td><a href="https://look.ams-osram.com/m/414abb523da40e66/original/SFH-7779.pdf">SFH 7779</a></td></tr><tr><td><strong>Fabricante</strong></td><td><a href="https://www.osram.es/cb/">OSRAM®</a></td></tr><tr><td><strong>Características</strong></td><td><ul><li>Sensor de temperatura y humedad con detección de 0 °C a 85 °C con una precisión típica de +/- 0.2 °C y +/- 1.8% RH, calibración automática, consumo de 0.5 mA y alta relación señal/ruido. </li><li>Sensor de luz ambiental con detección de 0.0022 a 73000 lx, supresión de ruido a 50 Hz/60 Hz y consumo típico de 90µA. </li><li>Sensor de proximidad con detección de hasta 160 mm y corriente de pulso programable de hasta 200 mA.</li></ul></td></tr><tr><td><strong>Interfaz</strong></td><td>UART, I2C</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a> y estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a> </td></tr><tr><td><strong>Tamaño</strong></td><td>41 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 de cada fabricante en los siguientes enlaces: [**SHT40**](https://sensirion.com/products/catalog/SHT40) - [**SFH 7779**](https://look.ams-osram.com/m/414abb523da40e66/original/SFH-7779.pdf)
{% endhint %}

## **IV. Pinout**

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

<figure><img src="/files/7HcICuWHn2fvqlwQJ7t9" alt=""><figcaption></figcaption></figure>

## **V. Modo de uso**

Para un uso fácil y rápido del X-NODE se puede hacer a través de los comandos en formato ASCII que proporciona el controlador en hardware integrado mediante una comunicación serial UART o de forma más avanzada a través del protocolo I2C.

### Protocolo UART

#### Configuración

La comunicación UART utiliza la siguiente configuración:

* Velocidad de comunicación: 115,200 bps
* Paridad: Ninguna
* Bits de datos: 8
* Bits de paro: 1

#### Sintaxis

El protocolo UART permite enviar instrucciones en texto plano *ASCII*. Cada instrucción se compone del identificador del X-NODE, un comando y un final de línea.

**Identificador**

El identificador **ID**, se conforma por el modelo del X-NODE, que puede localizar en el punto 6 del apartado Descripción de hardware y se complementa con un índice, que puede ser una letra del abecedario, por defecto es la letra **A**, siendo posible configurarlo hasta la letra **Z**. Para poder conectar más de un módulo del mismo modelo en un sistema, deberá configurar un identificador único para cada módulo, brindando la posibilidad de conectar hasta 26 módulos del mismo modelo a través del protocolo UART\*.

{% hint style="info" %}
El **X-NODE Temp-Hum / Prox-Lum**, a diferencia de otros X-NODE, no permite reconfigurar la configuración de dirección I2C. Por lo que no se puede utilizar más de un **X-NODE Temp-Hum / Prox-Lum** simultáneamente, a menos que desconecte los pines SCL/SDA, evite el uso del conector [Qwiic®](https://www.sparkfun.com/qwiic) y utilice el protocolo UART.
{% endhint %}

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

{% hint style="warning" %}
**Nota:** A partir de este punto se usará el índice predeterminado del **X-NODE - Temp-Hum Prox-Lum** para el resto del manual: **XN04A**.
{% endhint %}

**Lista de comandos**CommentShare feedback on the editor

<table data-header-hidden><thead><tr><th width="167"></th><th></th></tr></thead><tbody><tr><td><strong>XN04A?</strong></td><td>Verifica si se estableció una comunicación con éxito. <strong>Respuesta:</strong> OK</td></tr><tr><td><strong>XN04A+V</strong></td><td>Obtiene la versión del firmware actual que integra el X-NODE. <strong>Respuesta:</strong> XN04A=Versión <strong>Ejemplo:</strong> XN04A=0.1</td></tr><tr><td><strong>XN04A+ID=(A-Z)</strong></td><td>Cambia el índice del ID por una letra diferente del abecedario de la A a la Z, la nueva letra debe ser en mayúscula. Una vez modificado, para volver a cambiarlo es necesario colocar el ID con el nuevo índice. <strong>Respuesta:</strong> OK <strong>Ejemplo de envío:</strong> XN04C+ID=H</td></tr><tr><td><strong>XN04A+GT</strong></td><td>Obtiene el valor de Temperatura del sensor. Retorna con el valor final en °C con dos decimales. <strong>Respuesta:</strong> XN04A=VAL <strong>Ejemplo:</strong> XN04A=27.81</td></tr><tr><td><strong>XN04A+GH</strong></td><td>Obtiene el valor de Humedad del sensor. Retorna con un valor relativo (%) de humedad. <strong>Respuesta:</strong> XN04A=VAL <strong>Ejemplo:</strong> XN04A=80</td></tr><tr><td><strong>XN04A+GL</strong></td><td>Obtiene el valor de Luminosidad ambiental del sensor. Retorna con un valor final en Luxes. <strong>Respuesta:</strong> XN04A=VAL <strong>Ejemplo:</strong> XN04A=316</td></tr><tr><td><strong>XN04A+GP</strong></td><td>Obtiene el valor de Proximidad del sensor. Retorna con un valor relativo de proximidad. <strong>Respuesta:</strong> XN04A=VAL <strong>Ejemplo:</strong> XN04A=198</td></tr></tbody></table>

#### Final de línea

El X-NODE solo responderá a un comando cuando se envíe un conjunto de caracteres finalizadores de línea, cada comando debe terminar con estos caracteres: **\<CR+LF>**

* CR significa retorno de carro (carriage return), este carácter se utiliza para indicar a un sistema que la entrada de texto debe moverse al principio.
* LF significa alimentación de línea (line feed), este carácter le indica a un sistema que la entrada de texto corresponde a una nueva línea.

La combinación de ambos caracteres es una manera común con el que las computadoras representan una nueva línea, por ejemplo, en un procesador de texto para separar párrafos.

En el caso del X-NODE los caracteres **\<CR+LF>**, se utilizan para identificar cuando se ha terminado de enviar un comando. Si el identificador corresponde al nodo, el comando existe y se finaliza con los caracteres **\<CR+LF>**, entonces el nodo enviará una respuesta.

Dependiendo del sistema, deberá configurar el envío de estos caracteres de maneras diferentes.

#### Ejemplo UART Arduino Framework

{% hint style="info" %}
Código de ejemplo para el [**XC01 - R4**](/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r4/x-node-xc01-esp32-wroom-controlador-wifi-and-bluetooth-r4), revisa el manual para utilizar nuestro [XC01 - R4 en **Arduino IDE/PlatformIO**](https://docs.microside.com/plataforma-xide-iot/x-nodes/xn04-sensores-temperatura-humedad-luminosidad/r1/pages/HcLUnJPVDumIHk6xsEpi#v.-configuracion-para-su-uso)
{% endhint %}

```cpp
#include "Arduino.h"

float getVariable( const char * command ){
  // Limpiamos el buffer
  if (Serial2.available()) {
    Serial2.read();
  }

  // Envía el comando
  Serial2.print(command);
  Serial2.println();

  // Espera hasta recibir una respuesta
  String variable_value = Serial2.readStringUntil('\n');

  // Si la respuesta comienza por el ID
  // entonces la comunicación fue exitosa
  if (!variable_value.startsWith("XN04A=")) {
    Serial.println("Error");
    return NAN;
  }

  // Convierte el valor en ASCII a un valor decimal
  return variable_value.substring(variable_value.indexOf('=') + 1).toFloat();
}

void setup() {
  // Inicializa el monitor serial
  Serial.begin(115200);

  // Inicializa la comunicación UART en el puerto MikroBUS
  Serial2.begin(115200, SERIAL_8N1, 16, 17);
}

void loop() {
  // Obtiene los valores de variables ambientales

  // Envía el comando para obtener la temperatura
  // Los caracteres \r\n representan los caracteres
  // <CR+LF> en el lenguaje de programación C/C++
  float temp = getVariable("XN04A+GT\r\n");

  // Envía el comando para obtener la humedad
  float hum = getVariable("XN04A+GH\r\n");

  // Envía el comando para obtener la luminosidad
  float lum = getVariable("XN04A+GL\r\n");

  // Envía el comando para obtener la proximidad
  float prox = getVariable("XN04A+GP\r\n");

  Serial.print("Temp: ");
  Serial.print(temp);
  Serial.println(" °C");
  Serial.print("Hum: ");
  Serial.print(hum);
  Serial.println(" %");
  Serial.print("Lum: ");
  Serial.print(lum);
  Serial.println(" lx");
  Serial.print("Prox: ");
  Serial.println(prox);

  delay(1000);
}

```

### Protocolo I2C

Para poder establecer comunicación se debe conocer la dirección I2C del X-NODE, el valor de fábrica es 0x44 para el sensor de temperatura y humedad, 0x39 para el sensor de proximidad y luminosidad. Las direcciones I2C suelen representarse en sistema **hexadecimal**, asegúrese de utilizar el sistema numérico adecuado.

#### Configuración

* Velocidad de comunicación: 100 kHz - 400 kHz
* Address: 7 bits

{% hint style="info" %}
Puedes descargar la documentación técnica de cada fabricante en los siguientes enlaces: [SHT40](https://sensirion.com/products/catalog/?filter_series=0f896bb3-d205-4f45-884b-e3c1fd285b8e) - [SFH 7779](https://look.ams-osram.com/m/414abb523da40e66/original/SFH-7779.pdf)
{% endhint %}

#### Ejemplo I2C Arduino Framework

{% hint style="info" %}
Código de ejemplo para el [**XC01 - R4**](/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r4/x-node-xc01-esp32-wroom-controlador-wifi-and-bluetooth-r4), revisa el manual para utilizar nuestro [XC01 - R4 en **Arduino IDE/PlatformIO**](https://docs.microside.com/plataforma-xide-iot/x-nodes/xn04-sensores-temperatura-humedad-luminosidad/r1/pages/HcLUnJPVDumIHk6xsEpi#v.-configuracion-para-su-uso)
{% endhint %}

El protocolo I2C no incluye un controlador en hardware, es necesario revisar la hoja de datos para configurar los sensores y obtener las variables. A continuación, se muestra un ejemplo de código, aunque se recomienda utilizar una librería. Para el caso del [SHT40](https://sensirion.com/products/catalog/?filter_series=0f896bb3-d205-4f45-884b-e3c1fd285b8e) el fabricante [Sensirion® ofrece una librería para Arduino](https://github.com/Sensirion/arduino-i2c-sht4x).

```cpp
#include <Arduino.h>
#include <Wire.h>

#define SFH7779 0x39
#define SHT40 0x44

float Lux_Value(uint16_t VIS, uint16_t IR) {
  float LUX;
  float Div = float(IR) / float(VIS);
  if (Div < 0.109) {
    LUX = (1.534 * VIS) - (3.759 * IR);
  } else if (Div < 0.429) {
    LUX = (1.339 * VIS) - (1.972 * IR);
  } else if (Div < (1.3775)) {
    LUX = (0.701 * VIS) - (0.483 * IR);
  } else if (Div < (2.175)) {
    LUX = (1.402 * VIS) - (.56994 * IR);
  } else if (Div < (3.625)) {
    LUX = (2.804 * VIS) - (.64239 * IR);
  } else {
    LUX = (5.608 * VIS);
  }
  LUX = LUX / 64;
  return (LUX);
}

void getLumProx(float &lum, float &prox) {
  //Buffer para el sensor
  uint8_t SensorValueCatch[6];

  lum = NAN;
  prox = NAN;

  // Envía el comando de consulta
  Wire.beginTransmission(SFH7779);
  Wire.write(0x44);

  // Confirma si la comunicación fue exitosa
  if (Wire.endTransmission() != 0)
    return;
  // Solicita 6 bytes
  if (Wire.requestFrom(SFH7779, 6) != 6)
    return;

  for (int i = 0; i < 6; i++) {
    SensorValueCatch[i] = Wire.read();
  }

  // Calcula los valores
  lum = (float)(Lux_Value((SensorValueCatch[3] << 8) | SensorValueCatch[2], (SensorValueCatch[5] << 8) | SensorValueCatch[4]));
  prox = (uint16_t)((SensorValueCatch[1] << 8) | SensorValueCatch[0]);
  return;
}

void getTempHum(float &temp, float &hum) {
  //Buffer para el sensor
  uint8_t SensorCatch[6] = { 0 };

  temp = NAN;
  hum = NAN;

  Wire.beginTransmission(SHT40);
  Wire.write(0xFD);

  // Confirma si la comunicación fue exitosa
  if (Wire.endTransmission() != 0)
    return;
  // Espera mientras se calculan las variables
  delay(10);
  // Solicita 6 bytes
  if (Wire.requestFrom(SHT40, 6) != 6)
    return;

  for (int i = 0; i < 6; i++) {
    SensorCatch[i] = Wire.read();
  }

  // Calcula los valores
  uint16_t t_ticks = (SensorCatch[0] << 8) | (SensorCatch[1]);
  uint16_t h_ticks = (SensorCatch[3] << 8) | (SensorCatch[4]);

  temp = -45.0f + (175.0f * (t_ticks / 65535.0f));
  hum = -6.0f + (125.0f * (h_ticks / 65535.0f));

  if (hum > 100.0f)
    hum = 100.0f;

  if (hum < 0)
    hum = 0.0f;

  return;
}

void setup() {
  // Inicializa el monitor serial
  Serial.begin(115200);

  // Inicializa la comunicación I2C
  Wire.begin();
}

void loop() {
  // Obtiene los valores de variables ambientales
  float temperature;
  float humidity;
  float lum;
  float prox;

  getTempHum(temperature, humidity);
  getLumProx(lum, prox);

  // Si alguno de los valores es NaN, entonces hubo
  // un error en la comunicación
  if (isnanf(temperature) || isnanf(humidity) || isnanf(lum) || isnanf(prox)) {
    Serial.println("Error");
    delay(1000);
    return;
  }

  Serial.print("Temperatura:");
  Serial.print(temperature);
  Serial.println(" C");
  Serial.print("Humedad:");
  Serial.print(humidity);
  Serial.println(" %");

  Serial.print("Luminosidad: ");
  Serial.print(lum);
  Serial.println(" lx");
  Serial.print("Proximidad: ");
  Serial.println(prox);

  delay(1000);
}

```

## **VI. Descargas**

<table data-card-size="large" data-view="cards"><thead><tr><th align="center"></th><th data-hidden 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://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FdOqfbpBJxCNIWmBXODqL%2FSCHEMATIC%20XN04%20-%20Temp-Hum%20Prox-Lum.pdf?alt=media&#x26;token=d4f6e73e-182e-47e3-83bb-0a63fa8c8059">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FdOqfbpBJxCNIWmBXODqL%2FSCHEMATIC%20XN04%20-%20Temp-Hum%20Prox-Lum.pdf?alt=media&#x26;token=d4f6e73e-182e-47e3-83bb-0a63fa8c8059</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FLxcXWmveHWS4V4UIQNlr%2FDIMENSIONS%20XN04%20-%20Temp-Hum%20Prox-Lum.pdf?alt=media&#x26;token=516dd5bc-874b-49db-b0bc-b72ba50ff6cc">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FLxcXWmveHWS4V4UIQNlr%2FDIMENSIONS%20XN04%20-%20Temp-Hum%20Prox-Lum.pdf?alt=media&#x26;token=516dd5bc-874b-49db-b0bc-b72ba50ff6cc</a></td></tr></tbody></table>


# R2


# X-NODE / XN04 – Sensores Temperatura/Humedad/Luminosidad

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/x-node-temperatura-humedad-luminosidad-32">https://www.microside.com/shop/x-node-temperatura-humedad-luminosidad-32</a></td></tr></tbody></table>

El **X-NODE Temp-Hum / Lum** es un módulo que permite realizar mediciones de 3 variables ambientales: **Temperatura, Humedad y Luz Ambiental**. Ideal para proyectos IoT que requieren control y monitoreo de sistemas cerrados, como aire acondicionado, cámaras de refrigeración, o ajustes automáticos de iluminación. Este módulo simplifica los diseños al reducir la necesidad de múltiples dispositivos, ofreciendo una solución compacta y eficiente para aplicaciones de monitoreo.

### **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. [**Modo de uso**](#v.-modo-de-uso)
   * [**Protocolo UART**](#protocolo-uart)
   * [**Ejemplo UART Arduino Framework**](#ejemplo-uart-arduino-framework)
   * [**Protocolo I2C**](#protocolo-i2c)
   * [**Ejemplo I2C Arduino Framework**](#ejemplo-i2c-arduino-framework)
6. [**Descargas**](#vi.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FcFaznEDQxatEy6prNwMl%2Fschematic.pdf?alt=media\&token=bff01aea-d514-49e9-8d7b-c41ae9a939ef)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FEAvXcjTy4yVAr0qRZMzF%2Fdimensions.pdf?alt=media\&token=0d1a1c2b-f723-4763-bdcd-eb254c8511f1)

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

El **X-NODE Temp-Hum / Lum** es un módulo que combina 2 sensores: un [SHT40](https://sensirion.com/resource/datasheet/sht4x) de [Sensirion®](https://sensirion.com/) para medir temperatura/humedad ambiental y un [LTR-329ALS](https://optoelectronics.liteon.com/upload/download/DS86-2014-0006/LTR-329ALS-01_DS_V1.pdf) de [LITEON®](https://www.liteon.com/en) para medir luminosidad en interiores; con un controlador integrado permite obtener estas variables utilizando una serie de comandos *ASCII*.

**X-NODE Temp-Hum / Lum** 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**

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

1. Sensor [SHT40](https://sensirion.com/resource/datasheet/sht4x) de [Sensirion®](https://sensirion.com/)
2. Conectores JST compatibles con [Qwiic®](https://www.sparkfun.com/qwiic)
3. Sensor [LTR-329ALS](https://optoelectronics.liteon.com/upload/download/DS86-2014-0006/LTR-329ALS-01_DS_V1.pdf) de [LITEON®](https://www.liteon.com/en)
4. Controlador en hardware
5. Puertos de comunicación UART <> I2C
6. Modelo de X-NODE
7. Tipo de X-NODE
8. Conectores estándar [mikroBUS™](https://www.mikroe.com/mikrobus)
9. Jumper pad para habilitar la comunicación I2C nativa\* de los sensores.
10. Versión de hardware: R2
11. Componentes principales en el X-NODE

{% hint style="info" %}
**Nota:** El **X-NODE Temp-Hum / Lum** incluye un controlador en hardware para simplificar la implementación, sin embargo, si desea utilizar el protocolo nativo I2C de los sensores deberá enviar el comando para apagar el controlador por hardware y soldar los pads I2C-EN (9).
{% endhint %}

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="148.60003662109375"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Sensor de temperatura, humedad y luz ambiental</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Desarrollo de sistemas de IoT que requieran control y monitoreo dentro de sistemas cerrados, como aire acondicionado, cámaras de refrigeración, o ajustes automáticos de iluminación.</td></tr><tr><td><strong>Módulo</strong> 1</td><td><a href="https://sensirion.com/resource/datasheet/sht4x">SHT40</a></td></tr><tr><td><strong>Fabricante</strong></td><td><a href="https://sensirion.com/">Sensirion®</a></td></tr><tr><td><strong>Módulo</strong> 2</td><td><a href="https://optoelectronics.liteon.com/upload/download/DS86-2014-0006/LTR-329ALS-01_DS_V1.pdf">LTR-329ALS</a></td></tr><tr><td><strong>Fabricante</strong></td><td><a href="https://www.liteon.com/en">LITEON®</a></td></tr><tr><td><strong>Características</strong></td><td>* Sensor de temperatura y humedad con detección de 0 °C a 85 °C con una precisión típica de +/- 0.2 °C y +/- 1.8% RH, calibración automática, consumo de 0.5 mA y alta relación señal/ruido.<br>* Sensor de luz ambiental con detección de 0.01 a 64 klx, supresión de ruido a 50 Hz/60 Hz y consumo típico de 90µA.</td></tr><tr><td><strong>Interfaz</strong></td><td>UART, I2C</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar mikroBUS™ y estándar Qwiic®</td></tr><tr><td><strong>Tamaño</strong></td><td>41 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 de cada fabricante en los siguientes enlaces: [SHT40](https://sensirion.com/resource/datasheet/sht4x) - [LTR-329ALS](https://optoelectronics.liteon.com/upload/download/DS86-2014-0006/LTR-329ALS-01_DS_V1.pdf)
{% endhint %}

## **IV. Pinout**

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

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

## **V. Modo de uso**

Para un uso fácil y rápido del X-NODE se puede hacer a través de los comandos en formato ASCII que proporciona el controlador en hardware integrado mediante una comunicación serial UART o de forma más avanzada a través del protocolo I2C.

### Protocolo UART

#### Configuración

La comunicación UART utiliza la siguiente configuración:

* Velocidad de comunicación: 115,200 bps
* Paridad: Ninguna
* Bits de datos: 8
* Bits de paro: 1

#### Sintaxis

El protocolo UART permite enviar instrucciones en texto plano *ASCII*. Cada instrucción se compone del identificador del X-NODE, un comando y un final de línea.

**Identificador**

El identificador **ID**, se conforma por el modelo del X-NODE, que puede localizar en el punto 6 del apartado Descripción de hardware y se complementa con un índice, que puede ser una letra del abecedario, por defecto es la letra **A**, siendo posible configurarlo hasta la letra **Z**. Para poder conectar más de un módulo del mismo modelo en un sistema, deberá configurar un identificador único para cada módulo, brindando la posibilidad de conectar hasta 26 módulos del mismo modelo a través del protocolo UART\*.

<figure><img src="/files/cKZcMgIDzFp9tuzXNCRl" alt="XN04_X-NODE"><figcaption></figcaption></figure>

{% hint style="warning" %}
**Nota:** A partir de este punto se usará el índice predeterminado del **X-NODE Temp-Hum / Lum** para el resto del manual: **XN04A**.
{% endhint %}

**Lista de comandos**

<table data-header-hidden><thead><tr><th width="188"></th><th></th></tr></thead><tbody><tr><td><strong>XN04A?</strong></td><td>Verifica si se estableció una comunicación con éxito.<br><strong>Respuesta si la comunicación fue exitosa:</strong> OK<br><strong>Respuesta si ocurrió un error en la comunicación</strong> XN04A=Error<br><strong>Ejemplo:</strong> XN04A=3<br><strong>Códigos de error:</strong><br><strong>1:</strong> Error con el sensor de temperatura/humedad<br><strong>2:</strong> Error con el sensor de luminosidad<br><strong>3:</strong> Error con ambos sensores</td></tr><tr><td><strong>XN04A+V</strong></td><td>Obtiene la versión del firmware actual que integra el X-NODE.<br><strong>Respuesta:</strong> XN04A=Versión<br><strong>Ejemplo:</strong> XN04A=2.0.0</td></tr><tr><td><strong>XN04A+ID=(A-Z)</strong></td><td>Cambia el índice del ID por una letra diferente del abecedario de la A a la Z, la nueva letra debe ser en mayúscula. Una vez modificado, para volver a cambiarlo es necesario colocar el ID con el nuevo índice.<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN04C+ID=H</td></tr><tr><td><strong>XN04A+TW=(1-126)</strong></td><td>Cambia la dirección I2C que viene de fábrica por uno diferente, esta configuración solo tiene efecto si no se ha deshabilitado el driver en hardware. La nueva dirección se escribe en decimal seleccionando un valor de 1 a 126.<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN04A+TW=28</td></tr><tr><td><strong>XN04A+GT</strong></td><td>Obtiene el valor de Temperatura del sensor. Retorna con el valor final en °C con dos decimales.<br><strong>Respuesta:</strong> XN04A=VAL<br><strong>Ejemplo:</strong> XN04A=27.81</td></tr><tr><td><strong>XN04A+GH</strong></td><td>Obtiene el valor de Humedad del sensor. Retorna con un valor relativo (%) de humedad.<br><strong>Respuesta:</strong> XN04A=VAL<br><strong>Ejemplo:</strong> XN04A=80</td></tr><tr><td><strong>XN04A+GL</strong></td><td>Obtiene el valor de Luminosidad del sensor. Retorna con un valor de luminosidad ambiental en Luxes.<br><strong>Respuesta:</strong> XN04A=VAL<br><strong>Ejemplo:</strong> XN04A=198</td></tr></tbody></table>

#### Comandos avanzados

<table data-header-hidden><thead><tr><th width="176.5999755859375"></th><th></th></tr></thead><tbody><tr><td><strong>XN04A+ETW=(0-1)</strong></td><td>Habilita (1) o deshabilita (0) la interfaz I2C del dispositivo.<br><strong>Nota</strong>: Esta configuración es volátil, desconectar el dispositivo del suministro de energía o enviar el comando de reinicio restaurará la interfaz I2C.<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN04A+ETW=0</td></tr><tr><td><strong>XN04A+SLP</strong></td><td>Habilita el modo de descanso profundo del dispositivo para reducir el consumo de energía, durante el descanso profundo el dispositivo no responderá a comandos UART, para despertar el dispositivo envíe un lógico bajo (0) al pin WAKEUP/UPDI<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN04A+SLP</td></tr><tr><td><strong>XN04A+RST</strong></td><td>Reinicia el dispositivo, los valores no volátiles (ej. ID, address I2C) se conservarán y los valores volátiles volverán a su configuración por defecto.<br><strong>Respuesta:</strong> OK</td></tr><tr><td><strong>XN04A+SP</strong></td><td>Permite configurar la precisión del sensor de temperatura/humedad en alta (H)* (valor por defecto), media (M) o baja (L), precisiones más bajas permiten capturar información nueva con mayor frecuencia.<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN04A+SP=L</td></tr><tr><td><strong>XN04A+SH</strong></td><td>Permite encender (1) o apagar (0) el calefactor del sensor de humedad. Utilice este comando cuando las mediciones de humedad sean incorrectas, habilite el calefactor al menos durante 2 horas para garantizar la reparación del sensor de humedad<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN04A+SH=0</td></tr><tr><td><strong>XN04A+SG</strong></td><td>Permite configurar la ganancia del sensor de luminosidad en 1 (1-64k lux) (valor por defecto), 2 (1-32k lux), 4 (1-16k lux), 8 (1-8k lux), 48 (1-1.3k lux) y 96 (1-600 lux), ganancias más altas tiene rangos menores con una mayor precisión<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN04A+SG=96</td></tr><tr><td><strong>XN04A+SD</strong></td><td>Permite encender (1) o apagar (0) el controlador por hardware de los sensores<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN04A+SD=1</td></tr><tr><td><strong>XN04A+SN</strong></td><td>Permite leer el número de serie del sensor de temperatura y humedad<br><strong>Respuesta:</strong> XN04A=&#x3C;SERIE><br><strong>Ejemplo:</strong> XN04A=4294900000</td></tr></tbody></table>

En la lectura de temperatura, humedad, luminosidad existen respuestas para la detección de errores:

* **ERROR:** El sensor presentó un error de comunicación.
* **OL:** El valor de luminosidad desbordó el registro, configure un valor de ganancia más pequeño si es posible.
* **MEASURING:** No ha finalizado la lectura del sensor, espere al menos 20 milisegundos mientras el sensor se inicializa.
* **HW\_DRIVER\_OFF:** El controlador en hardware no está habilitado.

#### Final de línea

El X-NODE solo responderá a un comando cuando se envíe un conjunto de caracteres finalizadores de línea, cada comando debe terminar con estos caracteres: **\<CR+LF>**

* CR significa retorno de carro (carriage return), este carácter se utiliza para indicar a un sistema que la entrada de texto debe moverse al principio.
* LF significa alimentación de línea (line feed), este carácter le indica a un sistema que la entrada de texto corresponde a una nueva línea.

La combinación de ambos caracteres es una manera común con el que las computadoras representan una nueva línea, por ejemplo, en un procesador de texto para separar párrafos.

En el caso del X-NODE los caracteres **\<CR+LF>**, se utilizan para identificar cuando se ha terminado de enviar un comando. Si el identificador corresponde al nodo, el comando existe y se finaliza con los caracteres **\<CR+LF>**, entonces el nodo enviará una respuesta.

Dependiendo del sistema, deberá configurar el envío de estos caracteres de maneras diferentes.

#### Ejemplo UART Arduino Framework

{% hint style="info" %}
Código de ejemplo para el [**XC01 - R5**](/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r5/x-node-xc01-esp32-s3-controlador-wifi-and-bluetooth), revisa el manual para utilizar nuestro [XC01 - R5 en **Arduino IDE/PlatformIO**](/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r5/x-node-xc01-esp32-s3-controlador-wifi-and-bluetooth#configuracion-para-platformio-en-vs-code)
{% endhint %}

```cpp

#include "Arduino.h"

float getVariable( const char * command ){
  // Limpiamos el buffer
  if (Serial2.available()) {
    Serial2.read();
  }

  // Envía el comando
  Serial2.print(command);
  Serial2.println();

  // Espera hasta recibir una respuesta
  String variable_value = Serial2.readStringUntil('\n');

  // Si la respuesta comienza por el ID
  // entonces la comunicación fue exitosa
  if (!variable_value.startsWith("XN04A=")) {
    Serial.println("Error");
    return NAN;
  }

  // Convierte el valor en ASCII a un valor decimal
  return variable_value.substring(variable_value.indexOf('=') + 1).toFloat();
}

void setup() {
  // Inicializa el monitor serial
  Serial.begin(115200);

  // Inicializa la comunicación UART en el puerto MikroBUS
  Serial2.begin(115200, SERIAL_8N1, 9, 10);
}

void loop() {
  // Obtiene los valores de variables ambientales

  // Envía el comando para obtener la temperatura
  // Los caracteres \r\n representan los caracteres
  // <CR+LF> en el lenguaje de programación C/C++
  float temp = getVariable("XN04A+GT\r\n");

  // Envía el comando para obtener la humedad
  float hum = getVariable("XN04A+GH\r\n");

  // Envía el comando para obtener la luminosidad
  float lum = getVariable("XN04A+GL\r\n");

  Serial.print("Temp: ");
  Serial.print(temp);
  Serial.println(" °C");
  Serial.print("Hum: ");
  Serial.print(hum);
  Serial.println(" %");
  Serial.print("Lum: ");
  Serial.print(lum);
  Serial.println(" lx");

  delay(1000);
}

```

### Protocolo I2C

Para poder establecer comunicación se debe conocer la dirección I2C del X-NODE, el valor de fábrica es 0x04. Las direcciones I2C suelen representarse en sistema **hexadecimal**, asegúrese de utilizar el sistema numérico adecuado.

#### Configuración

* Velocidad de comunicación: 100 kHz - 400 kHz
* Address: 7 bits

{% hint style="info" %}
**Nota:** Verifica que no cuentes con otro dispositivo con la misma dirección (Address) en el BUS I2C, de ser así recuerda que el X-NODE puede cambiar su dirección I2C con el comando **XN04A+TW=(1-126)**.
{% endhint %}

#### Escritura

Para escribir en un registro del **X-NODE Temp-Hum / Lum** el maestro I2C debe generar las siguientes operaciones:

1. Enviar una **condición de inicio**: El maestro genera un lógico bajo (0) en el pin SDA, mientras SCL permanece en alto (1).
2. Enviar la dirección del **X-NODE**: El maestro envía la dirección de 7 bits.
3. Enviar el **tipo de operación**: El maestro indica si la operación es de lectura (0) o de escritura (1).
4. Esperar una señal de **reconocimiento (ACK)**: El maestro espera a recibir un lógico bajo (0), como confirmación (Acknowledgment) que exista un dispositivo con la dirección enviada previamente en el BUS I2C. Si no se recibe respuesta (1), significa que hubo un error en la comunicación o la dirección es incorrecta.
5. Escribir **n bytes** de datos: El maestro escribirá en secuencias de 8 bits (1 byte) y en orden del bit más significativo primero (MSB) n cantidad de bytes que desea escribir en el registro, el dispositivo enviará una señal de **reconocimiento (ACK)** por cada byte escrito.
6. Enviar una **condición de paro**: El maestro debe liberar el BUS I2C generando un lógico alto (1) en el pin SDA mientras que SCL se encuentra en un lógico alto (1).

#### Lectura

Para leer en un registro del **X-NODE Temp-Hum / Lum** el maestro I2C debe generar las siguientes operaciones:

1. Enviar una **condición de inicio**: El maestro genera un lógico bajo (0) en el pin SDA, mientras SCL permanece en alto (1).
2. Enviar la dirección del **X-NODE**: El maestro envía la dirección de 7 bits.
3. Enviar el **tipo de operación**: El maestro indica si la operación es de lectura (0) o de escritura (1).
4. Esperar una señal de **reconocimiento (ACK)**: El maestro espera a recibir un lógico bajo (0), como confirmación (Acknowledgment) que exista un dispositivo con la dirección enviada previamente en el BUS I2C. Si no se recibe respuesta (1), significa que hubo un error en la comunicación o la dirección es incorrecta.
5. Leer **n bytes** de datos: El dispositivo enviará secuencias de 8 bits (1 byte) y en orden del bit más significativo primero (MSB) n cantidad de bytes, al recibir un byte, el maestro deberá generar una señal de **reconocimiento (ACK)** para solicitar 1 byte más, o una señal de **no reconocimiento (NACK)** para indicar que ha finalizado la transmisión y solicitar el dispositivo que libere el BUS.
6. Enviar una **condición de paro**: El maestro debe liberar el BUS I2C generando un lógico alto (1) en el pin SDA mientras que SCL se encuentra en un lógico alto (1).

#### Lista de registros

En un dispositivo I2C los registros son direcciones de memoria que permiten configurar u obtener datos del dispositivo. Existen dos tipos de operaciones: de lectura (R) y de escritura (W).

<table><thead><tr><th>Registro</th><th width="88" align="center">Dirección</th><th width="65" align="center">Tipo</th><th width="77.59991455078125" align="center">No. Bytes</th><th width="366.60015869140625">Descripción</th></tr></thead><tbody><tr><td>TEMP</td><td align="center">0x01</td><td align="center">R</td><td align="center">2</td><td>Permite obtener el valor de temperatura en grados °C*100, dividir este valor por 100 obtiene la medición en °C</td></tr><tr><td>HUM</td><td align="center">0x02</td><td align="center">R</td><td align="center">2</td><td>Permite obtener el valor de humedad relativa * 100, dividir este valor por 100 obtiene la medición en humedad relativa porcentual (0-100%)</td></tr><tr><td>LUM</td><td align="center">0x03</td><td align="center">R</td><td align="center">2</td><td>Permite obtener el valor de luminosidad ambiental (ALS) en Luxes</td></tr><tr><td>HEATER</td><td align="center">0x04</td><td align="center">R/W</td><td align="center">1</td><td>Permite encender (1) o apagar (0) el calefactor del sensor de humedad. Utilice este comando cuando las mediciones de humedad sean incorrectas, habilite el calefactor al menos durante 2 horas para garantizar la reparación del sensor de humedad</td></tr><tr><td>PRECISION</td><td align="center">0x05</td><td align="center">R/W - NV</td><td align="center">1</td><td>Permite configurar la precisión del sensor de temperatura/humedad en alta (3)* (valor por defecto), media (2) o baja (1), precisiones más bajas permiten capturar información nueva con mayor frecuencia</td></tr><tr><td>GAIN</td><td align="center">0x06</td><td align="center">R/W - NV</td><td align="center">1</td><td>Permite configurar la ganancia del sensor de luminosidad en 1 (1-64k lux) (valor por defecto), 2 (1-32k lux), 4 (1-16k lux), 8 (1-8k lux), 48 (1-1.3k lux) y 96 (1-600 lux), ganancias más altas tiene rangos menores con una mayor precisión</td></tr><tr><td>SERIAL_NUM</td><td align="center">0x07</td><td align="center">R</td><td align="center">4</td><td>Permite leer el número de serie del sensor de temperatura y humedad</td></tr><tr><td>DRIVER</td><td align="center">0x36</td><td align="center">R/W - NV</td><td align="center">1</td><td>Permite encender (1) o apagar (0) el controlador por hardware de los sensores</td></tr><tr><td>STAT</td><td align="center">0x37</td><td align="center">R</td><td align="center">1</td><td>Estado del XNODE, 0x00 si no hay errores, cualquier otro valor significa error en la comunicación.<br><strong>Códigos de error:</strong><br><strong>1:</strong> Error con el sensor de temperatura/humedad<br><strong>2:</strong> Error con el sensor de luminosidad<br><strong>3:</strong> Error con ambos sensores</td></tr><tr><td>FW</td><td align="center">0x38</td><td align="center">R</td><td align="center">3</td><td>Versión de firmware, en versión mayor, menor y parche: 0x02.0x00.0x00</td></tr><tr><td>UART_ID</td><td align="center">0x39</td><td align="center">R/W - NV</td><td align="center">1</td><td>Permite leer y escribir el índice del ID por una letra diferente del abecedario de la A (0x41) a la Z (0x5A)</td></tr><tr><td>TW_ADD</td><td align="center">0x3A</td><td align="center">R/W - NV</td><td align="center">1</td><td>Permite leer y escribir la dirección I2C del dispositivo por uno diferente de 1 (0x01) a 126 (0x7D)</td></tr><tr><td>UART_EN</td><td align="center">0x3B</td><td align="center">W</td><td align="center">1</td><td>Habilita (0x01) o deshabilita (0x00) la interfaz UART del dispositivo</td></tr><tr><td>SLEEP</td><td align="center">0x3C</td><td align="center">W</td><td align="center">1</td><td>Habilita (0x01) o deshabilita (0x00) el descanso profundo del dispositivo, el dispositivo despertará si el maestro escribe la dirección I2C del dispositivo en el BUS</td></tr><tr><td>RESET</td><td align="center">0x3D</td><td align="center">W</td><td align="center">1</td><td>Si se escribe un 0x01 reinicia el dispositivo</td></tr><tr><td>WHO_AM_I</td><td align="center">0x3E</td><td align="center">R</td><td align="center">2</td><td>El primer byte es el modelo del XNODE, el segundo byte es la revisión de hardware</td></tr></tbody></table>

**Registros No volatiles (NV)**

Los registros no volatiles se guardan en la memoria EEPROM del dispositivo, lo que significa que conservarán los valores escritos en ellos incluso si el dispositivo se apaga.

**Estructura del registro TEMP, HUM, LUM:**

En la lectura de temperatura, humedad, luminosidad existen valores reservados para la detección de errores:

* **0xFFFF:** El sensor presentó un error de comunicación.
* **0xFFFE:** El valor de luminosidad desbordó el registro, configure un valor de ganancia más pequeño si es posible.
* **0xFFFD:** No ha finalizado la lectura del sensor, espere al menos 20 milisegundos mientras el sensor se inicializa.
* **0xFFFC:** El controlador en hardware no está habilitado.

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

#### Ejemplo I2C Arduino Framework

{% hint style="info" %}
Código de ejemplo para el [**XC01 - R5**](/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r5/x-node-xc01-esp32-s3-controlador-wifi-and-bluetooth), revisa el manual para utilizar nuestro [XC01 - R5 en **Arduino IDE/PlatformIO**](/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r5/x-node-xc01-esp32-s3-controlador-wifi-and-bluetooth#configuracion-para-platformio-en-vs-code)
{% endhint %}

```cpp
#include <Arduino.h>
#include <Wire.h>

void setup() {
  // Inicializa el monitor serial
  Serial.begin(115200);

  // Configura los pines de la comunicación I2C
  Wire.setPins( 12, 13 );
  // Inicializa la comunicación I2C
  Wire.begin();
}

void loop() {
  // Obtiene los valores de variables ambientales
  float temperature;
  float humidity;
  int lum;

  Wire.beginTransmission(0x04);
  Wire.write(0x01);
  if ( Wire.endTransmission() != 0) {
    delay(1000);
    return;
  }

  if (Wire.requestFrom(0x04, 2) != 2) {
    delay(1000);
    return;
  }

  // Dividir entre 100 para obtener el valor en grados Celsius
  temperature = ( (Wire.read() << 8) | Wire.read() )/100.0f;
  
  Wire.beginTransmission(0x04);
  Wire.write(0x02);
  if ( Wire.endTransmission() != 0) {
    delay(1000);
    return;
  }

  if (Wire.requestFrom(0x04, 2) != 2) {
    delay(1000);
    return;
  }

  // Dividir entre 100 para obtener el valor en humedad relativa porcentual
  humidity = ( (Wire.read() << 8) | Wire.read() )/100.0f;

  Wire.beginTransmission(0x04);
  Wire.write(0x03);
  if ( Wire.endTransmission() != 0) {
    delay(1000);
    return;
  }

  if (Wire.requestFrom(0x04, 2) != 2) {
    delay(1000);
    return;
  }

  lum = ((Wire.read() << 8) | Wire.read());

  Serial.print("Temperatura:");
  Serial.print(temperature);
  Serial.println(" C");
  Serial.print("Humedad:");
  Serial.print(humidity);
  Serial.println(" %");

  Serial.print("Luminosidad: ");
  Serial.print(lum);
  Serial.println(" lx");

  delay(1000);
}
```

## **VI. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FcFaznEDQxatEy6prNwMl%2Fschematic.pdf?alt=media&#x26;token=bff01aea-d514-49e9-8d7b-c41ae9a939ef">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FcFaznEDQxatEy6prNwMl%2Fschematic.pdf?alt=media&#x26;token=bff01aea-d514-49e9-8d7b-c41ae9a939ef</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FEAvXcjTy4yVAr0qRZMzF%2Fdimensions.pdf?alt=media&#x26;token=0d1a1c2b-f723-4763-bdcd-eb254c8511f1">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FEAvXcjTy4yVAr0qRZMzF%2Fdimensions.pdf?alt=media&#x26;token=0d1a1c2b-f723-4763-bdcd-eb254c8511f1</a></td></tr></tbody></table>


# X-NODE / XN09 – BME688 Sensor Ambiental con IA

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/x-node-environmental-ai-bme688-117">https://www.microside.com/shop/x-node-environmental-ai-bme688-117</a></td></tr></tbody></table>

El **X-NODE Environmental AI (BME688)** es un módulo que integra el sensor de gas con inteligencia artificial [**BME688** ](https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme688/)de [**Bosch®**](https://www.bosch-sensortec.com/), capaz de medir compuestos orgánicos volátiles (VOCs), compuestos volátiles de azufre (VSCs), presión barométrica, humedad relativa y temperatura ambiental con un consumo de corriente de hasta 0.1 mA en modo ultra bajo. Es ideal para integración en dispositivos móviles portátiles o el monitoreo de calidad del aire en interiores y exteriores, sistemas automáticos de intercambio, sistemas de ventilación inteligente y similares.

### **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. [**Modo de uso**](#v.-modo-de-uso)
   * [**Protocolo UART**](#protocolo-uart)
   * [**Protocolo I2C & SPI**](#protocolo-i2c-and-spi)&#x20;
6. [**Descargas**](#vi.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FtX8RF8WVtA9rtsoIzSzR%2FESQUEMATICO%20XN09%20X-NODE%20ENVIRONMENTAL%20AI.pdf?alt=media\&token=b1bbd797-8c46-455d-83d3-82a62f71b605)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FOgS8jCkA6xUuf9qMKLrG%2FDIMENSIONES%20X-NODE%20ENVIRONMENTAL%20AI%20XN09.pdf?alt=media\&token=edf6e8ce-a211-443f-a9fa-cd983e498df6)

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

El módulo **X-NODE Environmental AI (BME688)** posee un controlador en hardware integrado con el cual es posible obtener la lectura de diversas variables que proporciona el sensor sin tener conocimientos avanzados de hardware, ya que solo es necesario enviar una serie de comandos en formato ASCII por medio del protocolo de comunicación serial UART o usando el protocolo I2C, esto permite que el X-NODE sea compatible con cualquier sistema basado en un microcontrolador, microprocesador o equipos industriales.

El **X-NODE Environmental AI (BME688)** 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**

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

1. Sensor [**BME688**](https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme688/) de [**Bosch®**](https://www.bosch-sensortec.com/)
2. Conectores JST compatibles con [**Qwiic®**](https://www.sparkfun.com/qwiic)
3. Controlador en hardware
4. Puertos de comunicación UART <> I2C
5. Modelo de X-NODE
6. Tipo de X-NODE
7. Jumper de selección para la dirección I2C (Cuando está abierto el Address es 0x77 y cuando está cerrado es 0x76)
8. Jumpers de selección entre protocolo I2C y SPI (Al usar SPI no será posible utilizar el controlador en hardware)
9. Jumper de habilitación para el pin SPI Chip Select (CS1 <> CS2)
10. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
11. Jumper habilitador para programación del microcontrolador por UPDI
12. Versión de hardware: R2
13. Componente principal en el X-NODE

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="171"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Sensor de gas, medio ambiente, calidad de aire</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Monitoreo de calidad del aire en interiores y exteriores, sistemas automáticos de intercambio, sistemas de ventilación inteligente, integración en dispositivos móviles portátiles alimentados por baterías, así como proyectos de Internet de las Cosas (IoT), Industria 4.0 y casas inteligentes (Smart Home).</td></tr><tr><td><strong>Módulo</strong></td><td><a href="https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme688/">BME688</a></td></tr><tr><td><strong>Fabricante</strong></td><td><a href="https://www.bosch-sensortec.com/">Bosch®</a></td></tr><tr><td><strong>Características</strong></td><td>Medición de compuestos orgánicos volátiles (VOCs), compuestos volátiles de azufre (VSCs), presión barométrica de 300 - 1100 hPa, humedad relativa de 0 - 100%, temperatura ambiental de -40 a 85 °C y modo de consumo ultra bajo de 0.1 mA</td></tr><tr><td><strong>Interfaz</strong></td><td>UART, I2C</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a> y estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a> </td></tr><tr><td><strong>Tamaño</strong></td><td>41 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.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme688/)
{% endhint %}

## **IV. Pinout**

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

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

## **V. Modo de uso**

Para un uso fácil y rápido del X-NODE se puede hacer a través de los comandos en formato ASCII que proporciona el controlador en hardware integrado mediante una comunicación serial UART, o de forma nativa a través de protocolo I2C y SPI.

{% hint style="warning" %}
Al usar el protocolo SPI se deshabilita el controlador en hardware por lo que no funcionará con comandos ASCII a través de comunicación UART.
{% endhint %}

### Protocolo UART

Para poder establecer comunicación con el X-NODE se debe conocer el **ID**, éste se conforma por el **modelo** que se localiza en el punto 5 del apartado “Descripción de hardware”, con la clave “XN09” y se complementa con un **index** que por defecto es la letra “A“, siendo posible configurarlo hasta la letra Z del abecedario, brindando la posibilidad de conectar hasta 10 módulos del mismo tipo.

<figure><img src="/files/LDpTCvP6BrU0TVtkdz8b" alt="XN04_X-NODE" width="563"><figcaption></figcaption></figure>

#### Configuración

* Velocidad de comunicación: 115,200 bps
* Paridad: Ninguna
* Bits de datos: 8
* Bits de paro: 1

#### Lista de comandos

<table data-header-hidden data-full-width="false"><thead><tr><th width="214"></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td><strong>XN09A?&#x3C;CR+LF></strong></td><td><p>Verifica si se estableció una comunicación con éxito.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN09A+V&#x3C;CR+LF></strong></td><td><p>Obtiene la versión del firmware actual que integra el X-NODE.</p><p></p><p><strong>Respuesta:</strong> XN09A=Versión&#x3C;CR+LF></p><p>        <strong>Ejemplo:</strong> XN09A=0.1&#x3C;CR+LF></p></td><td></td></tr><tr><td><p><strong>XN09A+ID=</strong></p><p><strong>(A-Z)&#x3C;CR+LF></strong></p></td><td><p>Cambia el index del ID por una letra diferente del abecedario de la A a la Z, la nueva letra debe ser en mayúscula. Una vez modificado, para volver a cambiarlo es necesario colocar el ID con el nuevo index.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN09C+ID=H&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN09A+GT&#x3C;CR+LF></strong></td><td><p>Obtiene el valor de Temperatura del sensor. Retorna con el valor final en °C con dos decimales.</p><p></p><p><strong>Respuesta:</strong> XN09A=VAL&#x3C;CR+LF></p><p>       <strong>Ejemplo:</strong> XN09A=24.36&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN09A+GH&#x3C;CR+LF></strong></td><td><p>Obtiene el valor de Humedad del sensor. Retorna con un valor relativo (%) de humedad.</p><p></p><p><strong>Respuesta:</strong> XN09A=VAL&#x3C;CR+LF></p><p>       <strong>Ejemplo:</strong> XN09A=68&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN09A+GP&#x3C;CR+LF></strong></td><td><p>Obtiene el valor de Presión barométrica del sensor. Retorna con el valor final en hPa con dos decimales.</p><p></p><p><strong>Respuesta:</strong> XN09A=VAL&#x3C;CR+LF></p><p>       <strong>Ejemplo:</strong> XN09A=1282.40&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN09A+GR&#x3C;CR+LF></strong></td><td><p>Obtiene el valor de la resistencia asociada al gas (H2S) del sensor. Retorna con el valor de la resistencia ambiental en kOhms.</p><p></p><p><strong>Respuesta:</strong> XN09A=VAL&#x3C;CR+LF></p><p>       <strong>Ejemplo:</strong> XN09A=258&#x3C;CR+LF></p></td><td></td></tr></tbody></table>

### Protocolo I2C & SPI

Para poder establecer comunicación con el **X-NODE Environmental AI (BME688)** es necesario hacerlo de forma nativa con el sensor integrado y con apoyo de la documentación técnica del fabricante, podrás localizar el número de parte al reverso del X-NODE (Punto 13 del apartado “Descripción de Hardware”) además de jumpers para cambiar el address I2C, el pin Chip Select para SPI y seleccionar entre el protocolo I2C y SPI.

{% hint style="info" %}
Puedes descargar la documentación técnica del fabricante en el siguiente link: [**Datos Técnicos**](https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme688/)
{% endhint %}

## **VI. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FtX8RF8WVtA9rtsoIzSzR%2FESQUEMATICO%20XN09%20X-NODE%20ENVIRONMENTAL%20AI.pdf?alt=media&#x26;token=b1bbd797-8c46-455d-83d3-82a62f71b605">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FtX8RF8WVtA9rtsoIzSzR%2FESQUEMATICO%20XN09%20X-NODE%20ENVIRONMENTAL%20AI.pdf?alt=media&#x26;token=b1bbd797-8c46-455d-83d3-82a62f71b605</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FOgS8jCkA6xUuf9qMKLrG%2FDIMENSIONES%20X-NODE%20ENVIRONMENTAL%20AI%20XN09.pdf?alt=media&#x26;token=edf6e8ce-a211-443f-a9fa-cd983e498df6">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FOgS8jCkA6xUuf9qMKLrG%2FDIMENSIONES%20X-NODE%20ENVIRONMENTAL%20AI%20XN09.pdf?alt=media&#x26;token=edf6e8ce-a211-443f-a9fa-cd983e498df6</a></td></tr></tbody></table>


# X-NODE / XN11 - 2 Relevadores

<figure><img src="/files/K2JYr8HbazMYJfT9Anm2" alt="" width="300"><figcaption></figcaption></figure>

El **X-NODE 2 x Relay ( PE014005 )** es un módulo que integra 2 relevadores de potencia ideales para el control ON-OFF de dispositivos como alarmas, lámparas y calentadores, también se pueden utilizar para energizar bobinas de relés y contactores más grandes en esquemas industriales.

## **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. [**Modo de uso**](#v.-modo-de-uso)
   * [**Protocolo UART**](#protocolo-uart)
   * [**Protocolo I2C**](#protocolo-i2c)
6. [**Descargas**](#vi.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FuYKdgh6uEqoB0cxVRt5U%2Fxn11-r2-cad-schematic.pdf?alt=media\&token=5b56e190-e5d5-4d51-b3ba-faf8d2610bcf)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fw8jS8Jyvomaj92jz2Oj4%2Fxn11-r2-cad-dimensions.pdf?alt=media\&token=92681aaa-3cec-4f01-a718-11ad7f9a5913)

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

El módulo **X-NODE 2 x Relay ( PE014005 )** posee un controlador en hardware integrado con el cual es posible interactuar con relevadores sin tener conocimientos avanzados de hardware, ya que solo es necesario enviar una serie de comandos en formato ASCII por medio del protocolo de comunicación serial UART o usando el protocolo I2C, esto permite que el X-NODE sea compatible con cualquier sistema basado en un microcontrolador, microprocesador o equipos industriales. El módulo integra dos relevadores potencia [**PE014005**](https://www.te.com/es/product-1393219-3.html) de [**TE Connectivity**](https://www.te.com/es/home.html), cada uno de éstos cuenta con una bobina accionada con 5 VDC y sus contactos de salida tienen una capacidad de conmutación nominal de 250 VAC a 5 A y una conmutación máxima de 400 VAC. Su tamaño y resistencia dieléctrica de hasta 1000 Vrms.

**X-NODE 2 x Relay ( PE014005 )** 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**

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

1. Clemas de conexión a los contactos de salida de los relevadores [**PE014005**](https://www.te.com/es/product-1393219-3.html) de [**TE Connectivity**](https://www.te.com/es/home.html)
2. Indicadores LED de estado del relevador
3. Conectores JST compatibles con [**Qwiic®**](https://www.sparkfun.com/qwiic)
4. Controlador en hardware
5. Puertos de comunicación UART <> I2C
6. Modelo de X-NODE
7. Tipo de X-NODE
8. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
9. Versión de hardware: R2
10. Componente principal en el X-NODE

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="174"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Relevador</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Integración en proyectos de IoT que requieran el control ON / OFF en varios dispositivos de automatización del hogar como de alarmas, lámparas o calentadores, también se pueden utilizar para energizar bobinas de relés y conectores más grandes en esquemas industriales.</td></tr><tr><td><strong>Módulo</strong></td><td><a href="https://www.te.com/es/product-1393219-3.html"><strong>PE014005</strong></a></td></tr><tr><td><strong>Fabricante</strong></td><td><a href="https://www.te.com/es/home.html"><strong>TE Connectivity</strong></a></td></tr><tr><td><strong>Características</strong></td><td>Voltaje de bobina 5 VDC, una capacidad de conmutación nominal de 250 VAC a 5 A y una conmutación máxima de 400 VAC, resistencia de bobina de 125 Ω y resistencia dieléctrica de hasta 1000 Vrms.</td></tr><tr><td><strong>Interfaz</strong></td><td>UART, I2C</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus"><strong>mikroBUS™</strong></a> y estándar <a href="https://www.sparkfun.com/qwiic"><strong>Qwiic®</strong></a></td></tr><tr><td><strong>Tamaño</strong></td><td>65.1 x 25.4 x 22 mm</td></tr><tr><td><strong>Voltaje</strong></td><td>3.3 VDC y 5VDC</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.te.com/es/product-1393219-3.html)
{% endhint %}

## **IV. Pinout**

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

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

## **V. Modo de uso**

Para un uso fácil y rápido del X-NODE se puede hacer a través de los comandos en formato ASCII que proporciona el controlador en hardware integrado mediante una comunicación serial UART o de forma más avanzada a través del protocolo I2C.

### Protocolo UART

**Configuración**

* Velocidad de comunicación: 115,200 bps
* Paridad: Ninguna
* Bits de datos: 8
* Bits de paro: 1

#### Sintaxis

El protocolo UART permite enviar instrucciones en texto plano *ASCII*, cada instrucción se compone del **identificador del X-NODE, un comando y un final de línea**.

#### Identificador

El identificador **ID**, se conforma por el modelo del X-NODE, que puede localizar en el punto 6 del apartado: [**Descripción de hardware**](#ii.-descripcion-del-hardware) y se complementa con un índice, que puede ser una letra del abecedario, por defecto es la letra **A**, siendo posible configurarlo hasta la letra **Z**. Para poder conectar más de un módulo del mismo modelo en un sistema, deberá configurar un identificador único para cada módulo, brindando la posibilidad de conectar hasta 26 módulos del mismo modelo a través del protocolo UART.

<figure><img src="/files/HasM18tOlKAjdzchJQ0z" alt="XN04_X-NODE"><figcaption></figcaption></figure>

{% hint style="warning" %}
**Nota:** A partir de este punto se utilizará el índice predeterminado del X-NODE **X-NODE 2 x Relay (PE014005)** para el resto del manual: **XN11A**.
{% endhint %}

#### Lista de comandos

<table data-header-hidden><thead><tr><th width="214"></th><th></th></tr></thead><tbody><tr><td><strong>XN11A?</strong></td><td>Verifica si se estableció una comunicación con éxito.<br><strong>Respuesta</strong>: OK</td></tr><tr><td><strong>XN11A+V</strong></td><td>Obtiene la versión del firmware actual que integra el X-NODE.<br><strong>Respuesta</strong>: XN11A=Versión<br><strong>Ejemplo</strong>: XN11A=0.1</td></tr><tr><td><strong>XN11A+ID=(A-Z)</strong></td><td>Cambia el index del ID por una letra diferente del abecedario de la A a la Z, la nueva letra debe ser en mayúscula. Una vez modificado, para volver a cambiarlo es necesario colocar el ID con el nuevo index.<br><strong>Respuesta</strong>: OK<br><strong>Ejemplo de envío</strong>: XN11C+ID=H</td></tr><tr><td><strong>XN11A+TW=(1-126)</strong></td><td>Cambia la dirección I2C que viene de fábrica por uno diferente. La nueva dirección se escribe en decimal seleccionando un valor de 1 a 126.<br><strong>Respuesta</strong>: OK<br><strong>Ejemplo de envío</strong>: XN11A+TW=28</td></tr><tr><td><strong>XN11A+S=(Relevador 2)(Relevador 1)</strong></td><td>Cambia el estado de cada uno de los dos relevadores con dos opciones: 1 para activar y 0 para desactivar.<br><strong>Respuesta</strong>: OK<br><strong>Ejemplo de envío para accionar el relevador 2</strong>: XN11A+S=10<br><strong>Ejemplo de envío para accionar el relevador 1 y 2</strong>: XN11A+S=11</td></tr><tr><td><strong>XN11A+S1=(Relevador 1)</strong></td><td>Cambia el estado del relevador 1 con dos opciones: 1 para activar y 0 para desactivar.<br><strong>Respuesta</strong>: OK<br><strong>Ejemplo de envío</strong>: XN11A+S1=1</td></tr><tr><td><strong>XN11A+S2=(Relevador 2)</strong></td><td>Cambia el estado del relevador 2 con dos opciones: 1 para activar y 0 para desactivar.<br><strong>Respuesta</strong>: OK<br><strong>Ejemplo de envío</strong>: XN11A+S2=1</td></tr></tbody></table>

#### Comandos avanzados

<table data-header-hidden><thead><tr><th width="218"></th><th></th></tr></thead><tbody><tr><td><strong>XN11A+ETW=(0-1)</strong></td><td>Habilita (1) o deshabilita (0) la interfaz I2C del dispositivo.<br><strong>Nota</strong>: Esta configuración es volátil, desconectar el dispositivo del suministro de energía o enviar el comando de reinicio restaurará la interfaz I2C.<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN11A+ETW=0</td></tr><tr><td><strong>XN11A+SLP</strong></td><td>Habilita el modo de descanso profundo del dispositivo para reducir el consumo de energía, durante el descanso profundo el dispositivo no responderá a comandos UART, para despertar el dispositivo envíe un lógico bajo (0) al pin WAKEUP/UPDI<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN11A+SLP</td></tr><tr><td><strong>XN11A+RST</strong></td><td>Reinicia el dispositivo, los valores no volátiles (ej. ID, dirección I2C) se conservarán y los valores volátiles volverán a su configuración por defecto.<br><strong>Respuesta:</strong> OK</td></tr></tbody></table>

{% hint style="warning" %}
**Nota:** El modo de descanso profundo del X-NODE **XN11 - Digital Outputs** tiene un consumo típico de 5 uA, sin embargo, cada relevador en las salidas consume \~50mA.
{% endhint %}

#### Final de línea

El X-NODE solo responderá a un comando cuando se envíe un conjunto de caracteres finalizadores de línea, cada comando debe terminar con estos caracteres: **\<CR+LF>**

* CR significa retorno de carro (carriage return), este carácter se utiliza para indicar a un sistema que la entrada de texto debe moverse al principio.
* LF significa alimentación de línea (line feed), este carácter le indica a un sistema que la entrada de texto corresponde a una nueva línea.

La combinación de ambos caracteres es una manera común con el que las computadoras representan una nueva línea, por ejemplo, en un procesador de texto para separar párrafos.

En el caso del X-NODE los caracteres **\<CR+LF>**, se utilizan para identificar cuando se ha terminado de enviar un comando. Si el identificador corresponde al nodo, si el comando existe y si se finalizó inmediatamente con los caracteres **\<CR+LF>**, entonces el nodo enviará una respuesta.

Dependiendo del sistema, deberá configurar el envío de estos caracteres de maneras diferentes.

### Ejemplo UART Arduino Framework

{% hint style="info" %}
Código de ejemplo para el [XC01 - R5](https://docs.microside.com/plataforma-xide/xide-iot-i4.0/iot/x-nodes/xc01-mcu-wifi-ble-esp32-wroom-32), revisa el manual para utilizar nuestro [XC01 - R5](https://docs.microside.com/plataforma-xide/xide-iot-i4.0/iot/x-nodes/xc01-mcu-wifi-ble-esp32-wroom-32) en **Arduino IDE/PlatformIO**
{% endhint %}

```cpp
// Este ejemplo muestra el control de las salidas
// del X-NODE implementando un contador binario.

#include "Arduino.h"

void setup() {
  // Inicializa el monitor serial
  Serial.begin(115200);

  // Inicializa la comunicación UART en el puerto MikroBUS
  Serial2.begin(115200, SERIAL_8N1, 9, 10);
}

void loop() {
  String success;

  // Enciende el relevador 1
  Serial2.println( "XN11A+S=01" );
  success = Serial2.readStringUntil('\n');

  // Verificar si la operación fue exitosa
  if ( !success.startsWith("OK") ) {
     Serial.println( "Error" );
     delay( 1000 );
     return;
  }
  delay(5000);
  
  // Enciende el relevador 2 y el relevador 1
  Serial2.println( "XN11A+S=11" );
  
  // Verificar si la operación fue exitosa
  if ( !success.startsWith("OK") ) {
     Serial.println( "Error" );
     delay( 1000 );
     return;
  }
  delay(5000);
  
  // Enciende el relevador 2 y apaga el relevador 1
  Serial2.println( "XN11A+S=10" );
  
  // Verificar si la operación fue exitosa
  if ( !success.startsWith("OK") ) {
     Serial.println( "Error" );
     delay( 1000 );
     return;
  }
  delay(5000);
  
  // Apaga el relevador 2 y el relevador 1
  Serial2.println( "XN11A+S=00" );
  
  // Verificar si la operación fue exitosa
  if ( !success.startsWith("OK") ) {
     Serial.println( "Error" );
     delay( 1000 );
     return;
  }
  delay(5000);
}

```

### Protocolo I2C

Para poder establecer comunicación se debe conocer la dirección I2C del X-NODE, el valor de fábrica se conforma por los dos últimos dígitos del modelo después de "XN". Las direcciones I2C suelen representarse en sistema **hexadecimal**, mientras que el modelo del X-NODE está en sistema **decimal**, asegúrese de utilizar el sistema numérico adecuado.

<figure><img src="/files/z2fD47gCCt0ehjYCSiTh" alt="X-NODE XN01 MICROSIDE_02"><figcaption></figcaption></figure>

#### Configuración

* Velocidad de comunicación: 100 kHz
* Address: 7 bits

{% hint style="info" %}
**Nota:** Verifica que no cuentes con otro dispositivo con la misma dirección (Address) en el BUS I2C, de ser así recuerda que el X-NODE puede cambiar su dirección I2C con el comando **XN11A+TW=(1-126)**.
{% endhint %}

<details>

<summary>Escritura de registros I2C</summary>

Para escribir en un registro del \*\*X-NODE 2 x Relay ( PE014005 )\*\* el maestro I2C debe generar las siguientes operaciones:

1. Enviar una **condición de inicio**: El maestro genera un lógico bajo (0) en el pin SDA, mientras SCL permanece en alto (1).
2. Enviar la dirección del **X-NODE**: El maestro envía la dirección de 7 bits.
3. Enviar el **tipo de operación**: El maestro indica si la operación es de lectura (0) o de escritura (1).
4. Esperar una señal de **reconocimiento (ACK)**: El maestro espera a recibir un lógico bajo (0), como confirmación (Acknowledgment) que exista un dispositivo con la dirección enviada previamente en el BUS I2C. Si no se recibe respuesta (1), significa que hubo un error en la comunicación o la dirección es incorrecta.
5. Escribir **n bytes** de datos: El maestro escribirá en secuencias de 8 bits (1 byte) y en orden del bit más significativo primero (MSB) n cantidad de bytes que desea escrbir en el registro, el dispositivo enviará una señal de **reconocimiento (ACK)** por cada byte escrito.
6. Enviar una **condición de paro**: El maestro debe liberar el BUS I2C generando un lógico alto (1) en el pin SDA mientras que SCL se encuentra en un lógico alto (1).

</details>

<details>

<summary>Lectura de registros I2C</summary>

Para leer en un registro del \*\*X-NODE 2 x Relay ( PE014005 )\*\* el maestro I2C debe generar las siguientes operaciones:

1. Enviar una **condición de inicio**: El maestro genera un lógico bajo (0) en el pin SDA, mientras SCL permanece en alto (1).
2. Enviar la dirección del **X-NODE**: El maestro envía la dirección de 7 bits.
3. Enviar el **tipo de operación**: El maestro indica si la operación es de lectura (0) o de escritura (1).
4. Esperar una señal de **reconocimiento (ACK)**: El maestro espera a recibir un lógico bajo (0), como confirmación (Acknowledgment) que exista un dispositivo con la dirección enviada previamente en el BUS I2C. Si no se recibe respuesta (1), significa que hubo un error en la comunicación o la dirección es incorrecta.
5. Leer **n bytes** de datos: El dispositivo enviará secuencias de 8 bits (1 byte) y en orden del bit más significativo primero (MSB) n cantidad de bytes, al recibir un byte, el maestro deberá generar una señal de **reconocimiento (ACK)** para solicitar 1 byte más, o una señal de **no reconocimiento (NACK)** para indicar que ha finalizado la transmisión y solicitar el dispositivo que libere el BUS.
6. Enviar una **condición de paro**: El maestro debe liberar el BUS I2C generando un lógico alto (1) en el pin SDA mientras que SCL se encuentra en un lógico alto (1).

</details>

#### Lista de registros

<table><thead><tr><th width="113">Registro</th><th width="114" align="center">Dirección (hexadecimal)</th><th width="98" align="center">Tipo</th><th width="103" align="center">No. Bytes</th><th>Descripción</th></tr></thead><tbody><tr><td>R1</td><td align="center">0x01</td><td align="center">R/W</td><td align="center">1</td><td>Activa (0x01) o desactiva (0x00) el relevador R1.</td></tr><tr><td>R2</td><td align="center">0x02</td><td align="center">R/W</td><td align="center">1</td><td>Activa (0x01) o desactiva (0x00) el relevador R2.</td></tr><tr><td>RELAYS</td><td align="center">0x10</td><td align="center">R/W</td><td align="center">1</td><td>Cada bit representa un estado lógico de una salida, donde el bit 1 corresponde al estado de la salida R2, el bit 0 corresponde al estado de la salida R1.</td></tr><tr><td>STAT</td><td align="center">0x37</td><td align="center">R</td><td align="center">1</td><td>Estado del XNODE, 0x00 si no hay errores, cualquier otro valor significa error en la comunicación.</td></tr><tr><td>FW</td><td align="center">0x38</td><td align="center">R</td><td align="center">3</td><td>Versión de firmware, en versión mayor, menor y parche: 0x02.0x00.0x00</td></tr><tr><td>UART_ID</td><td align="center">0x39</td><td align="center">R/W - NV</td><td align="center">1</td><td>Permite leer y escribir el índice del ID por una letra diferente del abecedario de la A (0x41) a la Z (0x5A)</td></tr><tr><td>TW_ADD</td><td align="center">0x3A</td><td align="center">R/W - NV</td><td align="center">1</td><td>Permite leer y escribir la dirección I2C del dispositivo por uno diferente de 1 (0x01) a 126 (0x7D).</td></tr><tr><td>UART_EN</td><td align="center">0x3B</td><td align="center">W</td><td align="center">1</td><td>Habilita (0x01) o deshabilita (0x00) la interfaz UART del dispositivo.</td></tr><tr><td>SLEEP</td><td align="center">0x3C</td><td align="center">W</td><td align="center">1</td><td>Habilita (0x01) o deshabilita (0x00) el descanso profundo del dispositivo, el dispositivo despertará si el maestro escribe la dirección I2C del dispositivo en el BUS.</td></tr><tr><td>RESET</td><td align="center">0x3D</td><td align="center">W</td><td align="center">1</td><td>Si se escribe un 0x01 reinicia el dispositivo.</td></tr><tr><td>WHO_AM_I</td><td align="center">0x3E</td><td align="center">R</td><td align="center">2</td><td>El primer byte es el modelo del XNODE, el segundo byte es la revisión de hardware</td></tr></tbody></table>

{% hint style="warning" %}
**Nota:** El modo de descanso profundo del X-NODE **XN11 - Digital Outputs** tiene un consumo típico de 5 uA, sin embargo, cada relevador en las salidas consume xxmA.
{% endhint %}

**Registros No volátiles (NV)**

Los registros no volátiles se guardan en la memoria EEPROM del dispositivo, lo que significa que conservarán los valores escritos en ellos incluso si el dispositivo se apaga.

#### Estructura de los registros:

<figure><img src="/files/6duYBGJHewA9sSlqr3Vo" alt=""><figcaption></figcaption></figure>

### Ejemplo I2C Arduino Framework <a href="#ejemplo-i2c-arduino-framework" id="ejemplo-i2c-arduino-framework"></a>

{% hint style="info" %}
Código de ejemplo para el [XC01 - R5](https://docs.microside.com/plataforma-xide/xide-iot-i4.0/iot/x-nodes/xc01-mcu-wifi-ble-esp32-wroom-32), revisa el manual para utilizar nuestro [XC01 - R5](https://docs.microside.com/plataforma-xide/xide-iot-i4.0/iot/x-nodes/xc01-mcu-wifi-ble-esp32-wroom-32) en **Arduino IDE/PlatformIO**
{% endhint %}

```cpp

// Este ejemplo muestra el control de los relevadores
// del X-NODE implementando una secuencia.

#include <Arduino.h>
#include <Wire.h>

void setup() {
  // Inicializa el monitor serial
  Serial.begin(115200);

  // Configura los pines de la comunicación I2C
  Wire.setPins( 12, 13 );
  // Inicializa la comunicación I2C
  Wire.begin();
}

void loop() {
   // Enciende/Apaga los relevadores en la secuencia:
   // 0x00 - Apaga el relevador 2 y 1
   // 0x01 - Apaga el relevador 2 y enciende el relevador 1
   // 0x02 - Enciende el relevador 2 y apaga el relevador 1
   // 0x03 - Enciende el relevador 2 y el relevador 1

   for ( int relay = 0; relay < 3; relay++ ){
     // Escribe en el registro
     Wire.beginTransmission(0x0B);
     // Selecciona el registro de ambos relevadores
     Wire.write( 0x10 );
     // Escribe el estado de los 2 relevadores
     Wire.write(relay);

     // Verificar si la operación fue exitosa
     if (Wire.endTransmission() != 0) {
       Serial.println("Error");
       delay(1000);
       return;
    }
   delay(5000);
   }
}
```

## **VI. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FuYKdgh6uEqoB0cxVRt5U%2Fxn11-r2-cad-schematic.pdf?alt=media&#x26;token=5b56e190-e5d5-4d51-b3ba-faf8d2610bcf">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FuYKdgh6uEqoB0cxVRt5U%2Fxn11-r2-cad-schematic.pdf?alt=media&#x26;token=5b56e190-e5d5-4d51-b3ba-faf8d2610bcf</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fw8jS8Jyvomaj92jz2Oj4%2Fxn11-r2-cad-dimensions.pdf?alt=media&#x26;token=92681aaa-3cec-4f01-a718-11ad7f9a5913">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fw8jS8Jyvomaj92jz2Oj4%2Fxn11-r2-cad-dimensions.pdf?alt=media&#x26;token=92681aaa-3cec-4f01-a718-11ad7f9a5913</a></td></tr></tbody></table>


# X-NODE / XN11 - 2 Relevadores


# R1


# X-NODE / XN11 - 2 Relevadores A-R1

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

El **X-NODE 2 x Relay (G5V-1-DC3)** es un módulo que integra dos relevadores unipolares de señal baja G5V-1-DC3 de OMRON®, cada uno de éstos cuenta con una bobina accionada con 3 VDC y sus contactos de salida tienen una capacidad de conmutación máxima de 125 VAC a 0.5 A o bien 24 VDC a 1 A. Su tamaño y resistencia dieléctrica de hasta 1000 VAC los hace ideales para el control ON-OFF de dispositivos como alarmas, lámparas y calentadores, también se pueden utilizar para energizar bobinas de relés y contactores más grandes en esquemas industriales (12V/24V).

### **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. [**Modo de uso**](#v.-modo-de-uso)
   * [**Protocolo UART**](#protocolo-uart)
   * [**Protocolo I2C**](#protocolo-i2c)
6. [**Descargas**](#vi.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FptIvPeECjsoGpI1F7WRn%2FSCHEMATIC%20X-NODE%202%20x%20Relay.pdf?alt=media\&token=491bed77-5ebc-4026-b0d8-d2abbefca203)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FdYC0RDBfEZYmUKefnjPm%2FDIMENSIONS%20XN11%20-%202%20x%20RELAY.pdf?alt=media\&token=ed2d9e3d-67be-45d1-b366-c3bab560f549)

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

El módulo **X-NODE 2 x Relay (G5V-1-DC3)** posee un controlador en hardware integrado con el cual es posible interactuar con relevadores sin tener conocimientos avanzados de hardware, ya que solo es necesario enviar una serie de comandos en formato ASCII por medio del protocolo de comunicación serial UART o usando el protocolo I2C, esto permite que el X-NODE sea compatible con cualquier sistema basado en un microcontrolador, microprocesador o equipos industriales.

**X-NODE 2 x Relay (G5V-1-DC3)** 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**

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

1. Clemas de conexión a los contactos de salida de los relevadores G5V-1-DC3 de OMRON®
2. Indicadores LED de estado del relevador
3. Conectores JST compatibles con [**Qwiic®**](https://www.sparkfun.com/qwiic)
4. Controlador en hardware
5. Puertos de comunicación UART <> I2C
6. Modelo de X-NODE
7. Tipo de X-NODE
8. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
9. Versión de hardware: R1
10. Componente principal en el X-NODE

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="171"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Relevador</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Integración en proyectos de IoT que requieran el control ON / OFF en varios dispositivos de automatización del hogar como de alarmas, lámparas o calentadores, también se pueden utilizar para energizar bobinas de relés y conectores más grandes en esquemas industriales (12V/24 V).</td></tr><tr><td><strong>Módulo</strong></td><td>G5V-1-DC3</td></tr><tr><td><strong>Fabricante</strong></td><td>OMRON®</td></tr><tr><td><strong>Características</strong></td><td>Voltaje de bobina 3 V, conmutación máxima de 125 V a 0.5 A en corriente alterna o 24 V a 1 A en corriente directa, resistencia de contacto máxima 100 mΩ, consumo de energía nominal de la bobina de 150 mW y resistencia dieléctrica de hasta 1000 VAC.</td></tr><tr><td><strong>Interfaz</strong></td><td>UART, I2C</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a> y estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a> </td></tr><tr><td><strong>Tamaño</strong></td><td>65.1 x 25.4 x 22 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://omronfs.omron.com/en_US/ecb/products/pdf/en-g5v_1.pdf)
{% endhint %}

## **IV. Pinout**

La siguiente tabla muestra el pinout del **X-NODE 2 x Relay (G5V-1-DC3)** con respecto al estándar  [**mikroBUS™**](https://www.mikroe.com/mikrobus) (este último se encuentra en las dos columnas del centro).

<figure><img src="/files/7HcICuWHn2fvqlwQJ7t9" alt=""><figcaption></figcaption></figure>

## **V. Modo de uso**

Para un uso fácil y rápido del X-NODE se puede hacer a través de los comandos en formato ASCII que proporciona el controlador en hardware integrado mediante una comunicación serial UART o de forma más avanzada a través del protocolo I2C.

### Protocolo UART

Para poder establecer comunicación con el X-NODE se debe conocer el **ID**, éste se conforma por el **modelo** que se localiza en el punto 6 del apartado “Descripción de hardware”, con la clave “XN11” y se complementa con un **index** que por defecto es la letra “A“, siendo posible configurarlo hasta la letra Z del abecedario, brindando la posibilidad de conectar hasta 10 módulos del mismo tipo.

<figure><img src="/files/HasM18tOlKAjdzchJQ0z" alt="XN04_X-NODE"><figcaption></figcaption></figure>

#### Configuración

* Velocidad de comunicación: 115,200 bps
* Paridad: Ninguna
* Bits de datos: 8
* Bits de paro: 1

#### Lista de comandos

<table data-header-hidden data-full-width="false"><thead><tr><th width="214"></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td><strong>XN11A?&#x3C;CR+LF></strong></td><td><p>Verifica si se estableció una comunicación con éxito.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN11A+V&#x3C;CR+LF></strong></td><td><p>Obtiene la versión del firmware actual que integra el X-NODE.</p><p></p><p><strong>Respuesta:</strong> XN11A=Versión&#x3C;CR+LF></p><p>        <strong>Ejemplo:</strong> XN11A=0.1&#x3C;CR+LF></p></td><td></td></tr><tr><td><p><strong>XN11A+ID=</strong></p><p><strong>(A-Z)&#x3C;CR+LF></strong></p></td><td><p>Cambia el index del ID por una letra diferente del abecedario de la A a la Z, la nueva letra debe ser en mayúscula. Una vez modificado, para volver a cambiarlo es necesario colocar el ID con el nuevo index.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN11C+ID=H&#x3C;CR+LF></p></td><td></td></tr><tr><td><p><strong>XN11A+TW=</strong></p><p><strong>(1-126)&#x3C;CR+LF></strong></p></td><td><p>Cambia el address I2C que viene de fábrica por uno diferente. El nuevo address se escribe en decimal seleccionando un valor de 1 a 126.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN11A+TW=28&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN11A+S=(Relevador 1)(Relevador 2)&#x3C;CR+LF></strong></td><td><p>Cambia el estado de cada uno de los dos relevadores con dos opciones: 1 para activar y 0 para desactivar. </p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF> </p><p>       <strong>Ejemplo de envío 1:</strong> XN11A+S=01&#x3C;CR+LF> (Acciona el relevador 2)</p><p>       <strong>Ejemplo de envío 2:</strong> XN11A+S=11&#x3C;CR+LF> (Acciona el relevador 1 y 2)</p></td><td></td></tr></tbody></table>

### Protocolo I2C

Para poder establecer comunicación se debe conocer la dirección (address) del X-NODE, este se conforma por los dos últimos dígitos del modelo después de “XN”, el cual es necesario convertirlo a formato hexadecimal.

<figure><img src="/files/z2fD47gCCt0ehjYCSiTh" alt="X-NODE XN01 MICROSIDE_02"><figcaption></figcaption></figure>

#### Configuración

* Velocidad de comunicación: 100 kHz
* Address: 7 bits

{% hint style="warning" %}
**Nota:** Verifica que no cuentes con otro dispositivo con la misma dirección (Address), si es así es necesario cambiarla.
{% endhint %}

#### **Escritura:**

<figure><img src="/files/5dHo9ldwprlZCoRyd7pH" alt=""><figcaption></figcaption></figure>

## **VI. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FptIvPeECjsoGpI1F7WRn%2FSCHEMATIC%20X-NODE%202%20x%20Relay.pdf?alt=media&#x26;token=491bed77-5ebc-4026-b0d8-d2abbefca203">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FptIvPeECjsoGpI1F7WRn%2FSCHEMATIC%20X-NODE%202%20x%20Relay.pdf?alt=media&#x26;token=491bed77-5ebc-4026-b0d8-d2abbefca203</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FdYC0RDBfEZYmUKefnjPm%2FDIMENSIONS%20XN11%20-%202%20x%20RELAY.pdf?alt=media&#x26;token=ed2d9e3d-67be-45d1-b366-c3bab560f549">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FdYC0RDBfEZYmUKefnjPm%2FDIMENSIONS%20XN11%20-%202%20x%20RELAY.pdf?alt=media&#x26;token=ed2d9e3d-67be-45d1-b366-c3bab560f549</a></td></tr></tbody></table>


# R2


# X-NODE / XN13 - 1 Relevador

<table data-card-size="large" data-view="cards" data-full-width="false"><thead><tr><th align="center"></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><mark style="color:green;"><strong>XN13 versión A-R1</strong></mark></td><td><a href="/files/5b07AYaZEpVKQDk1c1BH">/files/5b07AYaZEpVKQDk1c1BH</a></td><td><a href="/pages/7uTafVTmScs3YkpJZmb3">/pages/7uTafVTmScs3YkpJZmb3</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>XN13 versión A-R2</strong></mark></td><td><a href="/files/GAfLDswChO8qgVXcAtJe">/files/GAfLDswChO8qgVXcAtJe</a></td><td><a href="/pages/AGxGygPl4SioBFtB4yT0">/pages/AGxGygPl4SioBFtB4yT0</a></td></tr></tbody></table>


# R1


# X-NODE / XN13 - 1 Relevador 10A

<figure><img src="/files/5b07AYaZEpVKQDk1c1BH" alt=""><figcaption></figcaption></figure>

El **X-NODE Relay (G5LE-14 DC)** es un módulo que integra un relevador G5LE-14 de OMRON® con una bobina accionada por 5 VDC y conectores de salida tipo clema que tienen una capacidad de conmutación máxima de 250 VAC o 28 VDC con hasta 10 A. Es ideal para aplicaciones en domótica, electrodomésticos o máquinas expendedoras, también en el desarrollo de proyectos donde se requiera el control ON-OFF de dispositivos como alarmas, lámparas, motores o válvulas.

### **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. [**Modo de uso**](#v.-modo-de-uso)
   * [**Protocolo UART**](#protocolo-uart)
   * [**Protocolo I2C**](#protocolo-i2c)
6. [**Descargas**](#vi.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FWawr3v3C5PS4PTtylNbo%2FSCHEMATIC%20%20X-NODE%20Relay.pdf?alt=media\&token=eb6d422a-27db-46ae-8c0f-91b3da186f94)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FLcN0ZyDu3OQbDF7SHhse%2FDIMENSION%20X-NODE%20XN13%20Relay.PDF?alt=media\&token=dcdfb97a-54f2-4b2d-bac5-79cda4b5d1f5)

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

El módulo **X-NODE Relay (G5LE-14 DC)** posee un controlador en hardware integrado con el cual es posible interactuar con relevadores sin tener conocimientos avanzados de hardware, ya que solo es necesario enviar una serie de comandos en formato ASCII por medio del protocolo de comunicación serial UART o usando el protocolo I2C, esto permite que el X-NODE sea compatible con cualquier sistema basado en un microcontrolador, microprocesador o equipos industriales.

**X-NODE Relay (G5LE-14 DC)** 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**

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

1. Clemas de conexión a los contactos de salida (NA, NC, COM) del relevador G5LE-14 de OMRON®
2. Conectores JST compatibles con [**Qwiic®**](https://www.sparkfun.com/qwiic)
3. Controlador en hardware
4. Puertos de comunicación UART <> I2C
5. Modelo de X-NODE
6. Tipo de X-NODE
7. Jumpers de selección para el pin que alimentará el relevador
8. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
9. Versión de hardware: R1
10. Componente principal en el X-NODE

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="171"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Relevador</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Integración en proyectos de IoT, domótica, industriales y automatización que requieran el control ON/OFF de dispositivos como alarmas, lámparas, motores o válvulas, también se pueden utilizar para energizar relés y conectores más grandes en esquemas industriales (12V/24V).</td></tr><tr><td><strong>Módulo</strong></td><td>G5LE-14</td></tr><tr><td><strong>Fabricante</strong></td><td>OMRON®</td></tr><tr><td><strong>Características</strong></td><td>Bobina accionada por 5 VDC, capacidad de conmutación máxima de 250 VAC y 28 VDC hasta 10 A, resistencia de contacto máxima 100 mΩ, resistencia dieléctrica de hasta 2,000 VAC y temperatura de operación de 0 °C hasta 80 °C.</td></tr><tr><td><strong>Interfaz</strong></td><td>UART, I2C</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a> y estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a> </td></tr><tr><td><strong>Tamaño</strong></td><td>65.1 x 25.4 x 31 mm</td></tr><tr><td><strong>Voltaje</strong> </td><td>3.3 V, 5VDC</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://omronfs.omron.com/en_US/ecb/products/pdf/en-g5le.pdf)
{% endhint %}

## **IV. Pinout**

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

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

## **V. Modo de uso**

Para un uso fácil y rápido del X-NODE se puede hacer a través de los comandos en formato ASCII que proporciona el controlador en hardware integrado mediante una comunicación serial UART o de forma más avanzada a través del protocolo I2C.

### Protocolo UART

Para poder establecer comunicación con el X-NODE se debe conocer el **ID**, éste se conforma por el **modelo** que se localiza en el punto 5 del apartado “Descripción de hardware”, con la clave “XN13” y se complementa con un **index** que por defecto es la letra “A“, siendo posible configurarlo hasta la letra Z del abecedario, brindando la posibilidad de conectar hasta 10 módulos del mismo tipo.

<figure><img src="/files/5VJ4E81exTo5Y0DESvwt" alt="XN04_X-NODE"><figcaption></figcaption></figure>

#### Configuración

* Velocidad de comunicación: 115,200 bps
* Paridad: Ninguna
* Bits de datos: 8
* Bits de paro: 1

#### Lista de comandos

<table data-header-hidden data-full-width="false"><thead><tr><th width="214"></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td><strong>XN13A?&#x3C;CR+LF></strong></td><td><p>Verifica si se estableció una comunicación con éxito.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN13A+V&#x3C;CR+LF></strong></td><td><p>Obtiene la versión del firmware actual que integra el X-NODE.</p><p></p><p><strong>Respuesta:</strong> XN13A=Versión&#x3C;CR+LF></p><p>        <strong>Ejemplo:</strong> XN13A=0.1&#x3C;CR+LF></p></td><td></td></tr><tr><td><p><strong>XN13A+ID=</strong></p><p><strong>(A-Z)&#x3C;CR+LF></strong></p></td><td><p>Cambia el index del ID por una letra diferente del abecedario de la A a la Z, la nueva letra debe ser en mayúscula. Una vez modificado, para volver a cambiarlo es necesario colocar el ID con el nuevo index.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN13C+ID=H&#x3C;CR+LF></p></td><td></td></tr><tr><td><p><strong>XN13A+TW=</strong></p><p><strong>(1-126)&#x3C;CR+LF></strong></p></td><td><p>Cambia el address I2C que viene de fábrica por uno diferente. El nuevo address se escribe en decimal seleccionando un valor de 1 a 126.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN13A+TW=28&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN13A+S=(0-1)&#x3C;CR+LF></strong></td><td><p>Cambia el estado del relevador con dos opciones: 1 para activar y 0 para desactivar. </p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF> </p><p>       <strong>Ejemplo de envío:</strong> XN13A+S=1&#x3C;CR+LF> (Activa el relevador)</p></td><td></td></tr></tbody></table>

### Protocolo I2C

Para poder establecer comunicación se debe conocer la dirección (address) del X-NODE, este se conforma por los dos últimos dígitos del modelo después de “XN”, el cual es necesario convertirlo a formato hexadecimal.

<figure><img src="/files/l8MvwnEnzZRWMozR4ZM2" alt="X-NODE XN01 MICROSIDE_02"><figcaption></figcaption></figure>

#### Configuración

* Velocidad de comunicación: 100 kHz
* Address: 7 bits

{% hint style="warning" %}
**Nota:** Verifica que no cuentes con otro dispositivo con la misma dirección (Address), si es así es necesario cambiarla.
{% endhint %}

#### **Escritura:**

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

## **VI. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FWawr3v3C5PS4PTtylNbo%2FSCHEMATIC%20%20X-NODE%20Relay.pdf?alt=media&#x26;token=eb6d422a-27db-46ae-8c0f-91b3da186f94">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FWawr3v3C5PS4PTtylNbo%2FSCHEMATIC%20%20X-NODE%20Relay.pdf?alt=media&#x26;token=eb6d422a-27db-46ae-8c0f-91b3da186f94</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FLcN0ZyDu3OQbDF7SHhse%2FDIMENSION%20X-NODE%20XN13%20Relay.PDF?alt=media&#x26;token=dcdfb97a-54f2-4b2d-bac5-79cda4b5d1f5">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FLcN0ZyDu3OQbDF7SHhse%2FDIMENSION%20X-NODE%20XN13%20Relay.PDF?alt=media&#x26;token=dcdfb97a-54f2-4b2d-bac5-79cda4b5d1f5</a></td></tr></tbody></table>


# R2


# X-NODE / XN13 - 1 Relevador 8A

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

El **X-NODE Relay (DK1A1B-5V)** es un módulo que integra un relevador DK1A1B-5V de Panasonic® con una bobina accionada por 5 VDC y conectores de salida tipo clema que tienen una capacidad de conmutación máxima de 250 VAC o 30 VDC con hasta 8 A. Es ideal para aplicaciones en domótica, electrodomésticos o máquinas expendedoras, también en el desarrollo de proyectos donde se requiera el control ON-OFF de dispositivos como alarmas, lámparas, motores o válvulas.

### **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. [**Modo de uso**](#v.-modo-de-uso)
   * [**Protocolo UART**](#protocolo-uart)
   * [**Ejemplo UART Arduino Framework**](#ejemplo-uart-arduino-framework)
   * [**Protocolo I2C**](#protocolo-i2c)
   * [**Ejemplo I2C Arduino Framework**](#ejemplo-i2c-arduino-framework)
6. [**Descargas**](#vi.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FWawr3v3C5PS4PTtylNbo%2FSCHEMATIC%20%20X-NODE%20Relay.pdf?alt=media\&token=eb6d422a-27db-46ae-8c0f-91b3da186f94)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FLcN0ZyDu3OQbDF7SHhse%2FDIMENSION%20X-NODE%20XN13%20Relay.PDF?alt=media\&token=dcdfb97a-54f2-4b2d-bac5-79cda4b5d1f5)

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

El módulo **X-NODE Relay (DK1A1B-5V)** posee un controlador en hardware integrado con el cual es posible interactuar con relevadores sin tener conocimientos avanzados de hardware, ya que solo es necesario enviar una serie de comandos en formato ASCII por medio del protocolo de comunicación serial UART o usando el protocolo I2C, esto permite que el X-NODE sea compatible con cualquier sistema basado en un microcontrolador, microprocesador o equipos industriales.

**X-NODE Relay (DK1A1B-5V)** 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**

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

1. Clemas de conexión a los contactos de salida (NA, NC, COM) del relevador DK1A1B-5V de Panasonic®
2. Conectores JST compatibles con [**Qwiic®**](https://www.sparkfun.com/qwiic)
3. Controlador en hardware
4. Puertos de comunicación UART <> I2C
5. Modelo de X-NODE
6. Tipo de X-NODE
7. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
8. Versión de hardware: R2
9. Componente principal en el X-NODE

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="171"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Relevador</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Integración en proyectos de IoT, domótica, industriales y automatización que requieran el control ON/OFF de dispositivos como alarmas, lámparas, motores o válvulas, también se pueden utilizar para energizar relés y conectores más grandes en esquemas industriales (12V/24V).</td></tr><tr><td><strong>Módulo</strong></td><td>DK1A1B-5V</td></tr><tr><td><strong>Fabricante</strong></td><td><a href="https://na.industrial.panasonic.com/">Panasonic®</a></td></tr><tr><td><strong>Características</strong></td><td>Bobina accionada por 5 VDC, capacidad de conmutación máxima de 250 VAC y 30 VDC hasta 8 A, resistencia de contacto máxima 100 mΩ, resistencia dieléctrica de hasta 2,000 VAC y temperatura de operación de 0 °C hasta 80 °C.</td></tr><tr><td><strong>Interfaz</strong></td><td>UART, I2C</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a> y estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a> </td></tr><tr><td><strong>Tamaño</strong></td><td>65.1 x 25.4 x 22 mm</td></tr><tr><td><strong>Voltaje</strong> </td><td>3.3 VDC, 5VDC</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://na.industrial.panasonic.com/products/relays-contactors/mechanical-power-relays/series/1518/model/1741)
{% endhint %}

## **IV. Pinout**

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

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

## **V. Modo de uso**

Para un uso fácil y rápido del X-NODE se puede hacer a través de los comandos en formato ASCII que proporciona el controlador en hardware integrado mediante una comunicación serial UART o de forma más avanzada a través del protocolo I2C.

### Protocolo UART

#### Configuración

La comunicación UART utiliza la siguiente configuración:

* Velocidad de comunicación: 115,200 bps
* Paridad: Ninguna
* Bits de datos: 8
* Bits de paro: 1

#### Sintaxis

El protocolo UART permite enviar instrucciones en texto plano *ASCII*, cada instrucción se compone del **identificador del X-NODE, un comando y un final de línea**.

#### **Identificador**

El identificador **ID**, se conforma por el modelo del X-NODE, que puede localizar en el punto 5 del apartado Descripción de hardware y se complementa con un índice, que puede ser una letra del abecedario, por defecto es la letra **A**, siendo posible configurarlo hasta la letra **Z**. Para poder conectar más de un módulo del mismo modelo en un sistema, deberá configurar un identificador único para cada módulo, brindando la posibilidad de conectar hasta 26 módulos del mismo modelo a través del protocolo UART.

<figure><img src="/files/5VJ4E81exTo5Y0DESvwt" alt="XN04_X-NODE"><figcaption></figcaption></figure>

{% hint style="warning" %}
**Nota:** A partir de este punto se utilizará el índice predeterminado del X-NODE **XN13 - Relay** para el resto del manual: **XN13A**.
{% endhint %}

#### Lista de comandos

<table data-header-hidden data-full-width="false"><thead><tr><th width="214"></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td><strong>XN13A?</strong></td><td><p>Verifica si se estableció una comunicación con éxito.</p><p></p><p><strong>Respuesta:</strong> OK</p></td><td></td></tr><tr><td><strong>XN13A+V</strong></td><td><p>Obtiene la versión del firmware actual que integra el X-NODE.</p><p></p><p><strong>Respuesta:</strong> XN13A=Versión</p><p>        <strong>Ejemplo:</strong> XN13A=2.0.0.R02</p></td><td></td></tr><tr><td><p><strong>XN13A+ID=</strong></p><p><strong>(A-Z)</strong></p></td><td><p>Cambia el index del ID por una letra diferente del abecedario de la A a la Z, la nueva letra debe ser en mayúscula. Una vez modificado, para volver a cambiarlo es necesario colocar el ID con el nuevo index.</p><p></p><p><strong>Respuesta:</strong> OK</p><p>       <strong>Ejemplo de envío:</strong> XN13C+ID=H</p></td><td></td></tr><tr><td><p><strong>XN13A+TW=</strong></p><p><strong>(1-126)</strong></p></td><td><p>Cambia el address I2C que viene de fábrica por uno diferente. El nuevo address se escribe en decimal seleccionando un valor de 1 a 126.</p><p></p><p><strong>Respuesta:</strong> OK</p><p>       <strong>Ejemplo de envío:</strong> XN13A+TW=28</p></td><td></td></tr><tr><td><strong>XN13A+S=(0-1)</strong></td><td><p>Cambia el estado del relevador con dos opciones: 1 para activar y 0 para desactivar. </p><p></p><p><strong>Respuesta:</strong> OK</p><p>       <strong>Ejemplo de envío:</strong> XN13A+S=1 (Activa el relevador)</p></td><td></td></tr></tbody></table>

#### Comandos avanzados

<table data-header-hidden><thead><tr><th width="184"></th><th></th></tr></thead><tbody><tr><td><strong>XN13A+ETW=(0-1)</strong></td><td>Habilita (1) o deshabilita (0) la interfaz I2C del dispositivo.<br><strong>Nota</strong>: Esta configuración es volátil, desconectar el dispositivo del suministro de energía o enviar el comando de reinicio restaurará la interfaz I2C.<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN13A+ETW=0</td></tr><tr><td><strong>XN13A+SLP</strong></td><td>Habilita el modo de descanso profundo del dispositivo para reducir el consumo de energía, durante el descanso profundo el dispositivo no responderá a comandos UART, para despertar el dispositivo envíe un lógico bajo (0) al pin WAKEUP/UPDI<br><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN13A+SLP</td></tr><tr><td><strong>XN13A+RST</strong></td><td>Reinicia el dispositivo, los valores no volátiles (ej. ID, address I2C) se conservarán y los valores volátiles volverán a su configuración por defecto.<br><strong>Respuesta:</strong> OK</td></tr></tbody></table>

{% hint style="warning" %}
**Nota:** El modo de descanso profundo del X-NODE **XN13 - Relay** tiene un consumo típico de 5 uA, sin embargo, el relevador puede tener un consumo de hasta 330mA cuando se encuentra encendido.
{% endhint %}

#### Final de línea

El X-NODE solo responderá a un comando cuando se envíe un conjunto de caracteres finalizadores de línea, cada comando debe terminar con estos caracteres: **\<CR+LF>**

* CR significa retorno de carro (carriage return), este carácter se utiliza para indicar a un sistema que la entrada de texto debe moverse al principio.
* LF significa alimentación de línea (line feed), este carácter le indica a un sistema que la entrada de texto corresponde a una nueva línea.

La combinación de ambos caracteres es una manera común con el que las computadoras representan una nueva línea, por ejemplo, en un procesador de texto para separar párrafos.

En el caso del X-NODE los caracteres **\<CR+LF>**, se utilizan para identificar cuando se ha terminado de enviar un comando. Si el identificador corresponde al nodo, si el comando existe y si se finalizó inmediatamente con los caracteres **\<CR+LF>**, entonces el nodo enviará una respuesta.

Dependiendo del sistema, deberá configurar el envío de estos caracteres de maneras diferentes.

### Ejemplo UART Arduino Framework

{% hint style="info" %}
Código de ejemplo para el [XC01 - R5](https://docs.microside.com/plataforma-xide/xide-iot-i4.0/iot/x-nodes/xc01-mcu-wifi-ble-esp32-wroom-32), revisa el manual para utilizar nuestro [XC01 - R5](https://docs.microside.com/plataforma-xide/xide-iot-i4.0/iot/x-nodes/xc01-mcu-wifi-ble-esp32-wroom-32) en **Arduino IDE/PlatformIO**
{% endhint %}

```cpp
// Este ejemplo muestra el control de la salida
// del X-NODE encendiendo y apagando el relevador

#include "Arduino.h"

void setup() {
  // Inicializa el monitor serial
  Serial.begin(115200);

  // Inicializa la comunicación UART en el puerto MikroBUS
  Serial2.begin(115200, SERIAL_8N1, 9, 10);
}

void loop() {
  // Limpiamos el buffer
  if (Serial2.available()) {
    Serial2.read();
  }
  
  // Envía el comando para encender
  Serial2.print("XN13A+S=1");
  printBinary(binary_counter);

  String success = Serial2.readStringUntil('\n');

  // Verificar si la operación fue exitosa
  if ( !success.startsWith("OK") ) {
    Serial.println( "Error" );
    delay( 1000 );
    return;
  }

  delay(5000);

  // Limpiamos el buffer
  if (Serial2.available()) {
    Serial2.read();
  }
  
  // Envía el comando para apagar
  Serial2.print("XN13A+S=0");
  printBinary(binary_counter);

  String success = Serial2.readStringUntil('\n');

  // Verificar si la operación fue exitosa
  if ( !success.startsWith("OK") ) {
    Serial.println( "Error" );
    delay( 1000 );
    return;
  }

  delay(5000);
}

```

### Protocolo I2C

Para poder establecer comunicación se debe conocer la dirección (address) del X-NODE, este se conforma por los dos últimos dígitos del modelo después de “XN”, el cual es necesario convertirlo a formato hexadecimal.

<figure><img src="/files/l8MvwnEnzZRWMozR4ZM2" alt="X-NODE XN01 MICROSIDE_02"><figcaption></figcaption></figure>

#### Configuración

* Velocidad de comunicación: 100 kHz
* Address: 7 bits

{% hint style="info" %}
**Nota:** Verifica que no cuentes con otro dispositivo con la misma dirección (Address) en el BUS I2C, de ser así recuerda que el X-NODE puede cambiar su dirección I2C con el comando **XN13A+TW=(1-126)**.
{% endhint %}

#### Escritura

Para escribir en un registro del **X-NODE Relay** el maestro I2C debe generar las siguientes operaciones:

1. Enviar una **condición de inicio**: El maestro genera un lógico bajo (0) en el pin SDA, mientras SCL permanece en alto (1).
2. Enviar la dirección del **X-NODE**: El maestro envía la dirección de 7 bits.
3. Enviar el **tipo de operación**: El maestro indica si la operación es de lectura (1) o de escritura (0).
4. Esperar una señal de **reconocimiento (ACK)**: El maestro espera a recibir un lógico bajo (0), como confirmación (Acknowledgment) que exista un dispositivo con la dirección enviada previamente en el BUS I2C. Si no se recibe respuesta (1), significa que hubo un error en la comunicación o la dirección es incorrecta.
5. Escribir **n bytes** de datos: El maestro escribirá en secuencias de 8 bits (1 byte) y en orden del bit más significativo primero (MSB) n cantidad de bytes que desea escribir en el registro, el dispositivo enviará una señal de **reconocimiento (ACK)** por cada byte escrito.
6. Enviar una **condición de paro**: El maestro debe liberar el BUS I2C generando un lógico alto (1) en el pin SDA mientras que SCL se encuentra en un lógico alto (1).

#### Lectura

Para leer en un registro del **X-NODE Relay** el maestro I2C debe generar las siguientes operaciones:

1. Enviar una **condición de inicio**: El maestro genera un lógico bajo (0) en el pin SDA, mientras SCL permanece en alto (1).
2. Enviar la dirección del **X-NODE**: El maestro envía la dirección de 7 bits.
3. Enviar el **tipo de operación**: El maestro indica si la operación es de lectura (1) o de escritura (0).
4. Esperar una señal de **reconocimiento (ACK)**: El maestro espera a recibir un lógico bajo (0), como confirmación (Acknowledgment) que exista un dispositivo con la dirección enviada previamente en el BUS I2C. Si no se recibe respuesta (1), significa que hubo un error en la comunicación o la dirección es incorrecta.
5. Leer **n bytes** de datos: El dispositivo enviará secuencias de 8 bits (1 byte) y en orden del bit más significativo primero (MSB) n cantidad de bytes, al recibir un byte, el maestro deberá generar una señal de **reconocimiento (ACK)** para solicitar 1 byte más, o una señal de **no reconocimiento (NACK)** para indicar que ha finalizado la transmisión y solicitar el dispositivo que libere el BUS.
6. Enviar una **condición de paro**: El maestro debe liberar el BUS I2C generando un lógico alto (1) en el pin SDA mientras que SCL se encuentra en un lógico alto (1).

#### Lista de registros

<table><thead><tr><th width="112">Registro</th><th width="102" align="center">Dirección (hexadecimal)</th><th width="109" align="center">Tipo</th><th width="111" align="center">No. Bytes</th><th>Descripción</th></tr></thead><tbody><tr><td>RELAY</td><td align="center">0x01</td><td align="center">R/W</td><td align="center">1</td><td>Enciende (0x01) o apaga (0x00) el relevador</td></tr><tr><td>STAT</td><td align="center">0x37</td><td align="center">R</td><td align="center">1</td><td>Estado del X-NODE, 0x00 si no hay errores, cualquier otro valor significa error en la comunicación.</td></tr><tr><td>FW</td><td align="center">0x38</td><td align="center">R</td><td align="center">3</td><td>Versión de firmware, en versión mayor, menor y parche: 0x02.0x00.0x00</td></tr><tr><td>UART_ID</td><td align="center">0x39</td><td align="center">R/W - NV</td><td align="center">1</td><td>Permite leer y escribir el índice del ID por una letra diferente del abecedario de la A (0x41) a la Z (0x5A)</td></tr><tr><td>TW_ADD</td><td align="center">0x3A</td><td align="center">R/W - NV</td><td align="center">1</td><td>Permite leer y escribir la dirección I2C del dispositivo por uno diferente de 1 (0x01) a 126 (0x7D).</td></tr><tr><td>UART_EN</td><td align="center">0x3B</td><td align="center">W</td><td align="center">1</td><td>Habilita (0x01) o deshabilita (0x00) la interfaz UART del dispositivo.</td></tr><tr><td>SLEEP</td><td align="center">0x3C</td><td align="center">W</td><td align="center">1</td><td>Habilita (0x01) o deshabilita (0x00) el descanso profundo del dispositivo, el dispositivo despertará si el maestro escribe la dirección I2C del dispositivo en el BUS.</td></tr><tr><td>RESET</td><td align="center">0x3D</td><td align="center">W</td><td align="center">1</td><td>Si se escribe un 0x01 reinicia el dispositivo.</td></tr><tr><td>WHO_AM_I</td><td align="center">0x3E</td><td align="center">R</td><td align="center">2</td><td>El primer byte es el modelo del X-NODE, el segundo byte es la revisión de hardware</td></tr></tbody></table>

{% hint style="warning" %}
**Nota:** El modo de descanso profundo del X-NODE **XN13 - Relay** tiene un consumo típico de 5 uA, sin embargo, el relevador puede tener un consumo de hasta 330mA cuando se encuentra encendido.
{% endhint %}

#### **Registros No volátiles (NV)**

Los registros no volátiles se guardan en la memoria EEPROM del dispositivo, lo que significa que conservarán los valores escritos en ellos incluso si el dispositivo se apaga.

#### Estructura del registro RELAY:

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

### Ejemplo I2C Arduino Framework

{% hint style="info" %}
Código de ejemplo para el [XC01 - R5](https://docs.microside.com/plataforma-xide/xide-iot-i4.0/iot/x-nodes/xc01-mcu-wifi-ble-esp32-wroom-32), revisa el manual para utilizar nuestro [XC01 - R5](https://docs.microside.com/plataforma-xide/xide-iot-i4.0/iot/x-nodes/xc01-mcu-wifi-ble-esp32-wroom-32) en **Arduino IDE/PlatformIO**
{% endhint %}

```cpp

// Este ejemplo muestra el control de la salida
// del X-NODE encendiendo y apagando el relevador

#include <Arduino.h>
#include <Wire.h>

void setup() {
  // Inicializa el monitor serial
  Serial.begin(115200);

  // Configura los pines de la comunicación I2C
  Wire.setPins( 12, 13 );
  // Inicializa la comunicación I2C
  Wire.begin();
}

void loop() {
  
  Wire.beginTransmission(0x0D);
  // Selecciona el registro
  Wire.write( 0x01 );
  // Enciende el relevador
  Wire.write(0x01);

  // Verificar si la operación fue exitosa
  if (Wire.endTransmission() != 0) {
    Serial.println("Error");
    delay(5000);
    return;
  }

  delay(5000);

  Wire.beginTransmission(0x0D);
  // Selecciona el registro
  Wire.write( 0x01 );
  // Apaga el relevador
  Wire.write(0x00);

  // Verificar si la operación fue exitosa
  if (Wire.endTransmission() != 0) {
    Serial.println("Error");
    delay(5000);
    return;
  }

  delay(5000);
}

```

## **VI. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F9u0smj6eAyqHg2OZuRIn%2FX-NODE%20XN13%20Relay%20R2_XIDE_Microside_SCH.pdf?alt=media&#x26;token=2578b92c-a6bb-4d81-8d6a-386e6341c78f">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F9u0smj6eAyqHg2OZuRIn%2FX-NODE%20XN13%20Relay%20R2_XIDE_Microside_SCH.pdf?alt=media&#x26;token=2578b92c-a6bb-4d81-8d6a-386e6341c78f</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FkbIoXAFL8kzydPM5xHn6%2FX-NODE%20XN13%20Relay%20R2_XIDE_Microside_Dimensions.pdf?alt=media&#x26;token=43d5c13b-5ed9-4c42-be69-534a2fb7b2a9">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FkbIoXAFL8kzydPM5xHn6%2FX-NODE%20XN13%20Relay%20R2_XIDE_Microside_Dimensions.pdf?alt=media&#x26;token=43d5c13b-5ed9-4c42-be69-534a2fb7b2a9</a></td></tr></tbody></table>


# X-NODE / XN14 - Fuente de Alimentación 24V DC

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

El **X-NODE Power Supply DC** es un módulo diseñado para proporcionar alimentación eléctrica a dispositivos o proyectos electrónicos de uso industrial, soporta un voltaje de entrada de 7 hasta 24 VDC regulándolo a salidas de 3.3 y 5 VDC. Cuenta con un fusible de protección tipo europeo de 1 A, LEDs indicadores de estado para visualizar el voltaje de salida activo y puede operar en un rango de temperatura de -10 °C hasta 80 °C. El uso de este X-NODE es de propósito general, ya que se usa comúnmente para regular el voltaje de niveles industriales y utilizarlo en proyectos electrónicos.

### **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. [**Descargas**](#v.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F5gbDNen5UvLaz6Y8Q3Q8%2FSCHEMATIC%20%20X-NODE%20Power%20Supply%20DC.pdf?alt=media\&token=3c42060f-0052-4bed-8a18-e8504e946083)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fca9oYXYLANx8zMx4qd3a%2FDIMENSIONES%20X-NODE%20XN14%20Power%20Supply%20DC.PDF?alt=media\&token=82dfdcf5-316e-41b6-b4f9-dbb7662b84c7)

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

El módulo **X-NODE Power Supply DC** cuenta con dos opciones de conector para recibir alimentación externa: uno tipo jack barrel y uno tipo clema, permitiendo operar con solo uno de ellos a la vez. Ambos conectores admiten un rango de voltaje de entrada de 7 a 24 VDC y proporcionan una salida de voltaje estabilizado seleccionable entre 3.3 o 5 VDC, esto permite que el X-NODE sea compatible con cualquier sistema basado en un microcontrolador, microprocesador o equipos industriales.

&#x20;El **X-NODE Power Supply DC** es compatible con el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) de [**Mikroe®**](https://www.mikroe.com/) para un uso fácil con una gran variedad de kits para desarrollo de hardware.

## **II. Descripción del hardware**

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

1. Conectores tipo Jack barrel 2.1 y tipo clema para alimentación externa de 7 a 24 VDC (Solo es posible utilizar uno a la vez)
2. Fusible de protección tipo europeo de 1 A
3. Tipo de X-NODE
4. Modelo de X-NODE
5. LEDs indicadores de estado para mostrar la salida de voltaje activa (3.3 o 5 VDC)
6. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
7. Jumpers para activar la salida de voltaje (3.3 o 5 VDC)
8. Versión de hardware: R1
9. Característica principal en el X-NODE

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="171"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Alimentación eléctrica</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Integración en proyectos de uso industrial para proporcionar alimentación eléctrica a dispositivos o proyectos electrónicos.</td></tr><tr><td><strong>Características</strong></td><td>Conector tipo Jack barrel 2.1 y conector tipo clema compatible con cable AWG de calibre 24 al 20, fusible de protección tipo europeo de 1 A y operación en un rango de temperatura de -10 °C hasta 80 °C.</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a></td></tr><tr><td><strong>Tamaño</strong></td><td>68.98 x 25.4 x 24.85 mm</td></tr><tr><td><strong>Voltaje de entrada</strong></td><td>7 - 24 VDC</td></tr><tr><td><strong>Voltaje de salida</strong></td><td>3.3 - 5 VDC</td></tr></tbody></table>

## **IV. Pinout**

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

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

## **V. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F5gbDNen5UvLaz6Y8Q3Q8%2FSCHEMATIC%20%20X-NODE%20Power%20Supply%20DC.pdf?alt=media&#x26;token=3c42060f-0052-4bed-8a18-e8504e946083">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F5gbDNen5UvLaz6Y8Q3Q8%2FSCHEMATIC%20%20X-NODE%20Power%20Supply%20DC.pdf?alt=media&#x26;token=3c42060f-0052-4bed-8a18-e8504e946083</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fca9oYXYLANx8zMx4qd3a%2FDIMENSIONES%20X-NODE%20XN14%20Power%20Supply%20DC.PDF?alt=media&#x26;token=82dfdcf5-316e-41b6-b4f9-dbb7662b84c7">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fca9oYXYLANx8zMx4qd3a%2FDIMENSIONES%20X-NODE%20XN14%20Power%20Supply%20DC.PDF?alt=media&#x26;token=82dfdcf5-316e-41b6-b4f9-dbb7662b84c7</a></td></tr></tbody></table>


# X-NODE / XN15 - Fuente de Alimentación 110-220V AC

<figure><img src="/files/6lg7KH2pHDeg6k1hsZ9D" alt=""><figcaption></figcaption></figure>

El **X-NODE Power Supply AC** es un módulo diseñado para proporcionar alimentación eléctrica a dispositivos o proyectos electrónicos de uso industrial, soporta un voltaje de entrada de 110 hasta 220 VAC regulándolo a salidas de 3.3 y 5 VDC. Cuenta con LEDs indicadores de estado para visualizar el voltaje de salida activo y puede operar en un rango de temperatura de -10 °C hasta 80 °C. El uso de este X-NODE es de propósito general, ya que se usa comúnmente para regular el voltaje de niveles industriales y utilizarlo en proyectos electrónicos.

### **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. [**Descargas**](#v.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FEKmDT1uUlhgrPxFLVWzc%2FSCHEMATIC%20X-NODE%20Power%20Supply.pdf?alt=media\&token=d72303cb-4e46-4117-afb2-f6c5baa77db5)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FAYCl3PbxTG8kVK5zrSdp%2FDIMENSIONS%20XN15%20Power%20Supply.pdf?alt=media\&token=5e9ddf08-1af3-4929-9eaa-65044697843c)

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

El módulo **X-NODE Power Supply AC** posee un conector tipo clema para una alimentación externa de 110 hasta 220 VAC compatible con cable AWG de calibre 24 al 20, proveyendo una salida con voltaje de 3.3 o 5 VDC, esto permite que el X-NODE sea compatible con cualquier sistema basado en un microcontrolador, microprocesador o equipos industriales.&#x20;

El **X-NODE Power Supply AC** es compatible con el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) de [**Mikroe®**](https://www.mikroe.com/) para un uso fácil con una gran variedad de kits para desarrollo de hardware.

## **II. Descripción del hardware**

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

1. Conector para alimentación externa de 110 a 220 VAC compatible con cable AWG de calibre 24 al 20
2. Tipo de X-NODE
3. Modelo de X-NODE
4. LEDs indicadores de estado para mostrar la salida de voltaje activa (3.3 o 5 VDC)
5. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
6. Jumpers para activar la salida de voltaje (3.3 o 5 VDC)
7. Versión de hardware: R1
8. Característica principal en el X-NODE

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="171"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Alimentación eléctrica</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Integración en proyectos de uso industrial para proporcionar alimentación eléctrica a dispositivos o proyectos electrónicos.</td></tr><tr><td><strong>Características</strong></td><td>Conector tipo clema para alimentación externa de 110 a 220 VAC compatible con cable AWG de calibre 24 al 20 y operación en un rango de temperatura de -10 °C hasta 80 °C.</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a></td></tr><tr><td><strong>Tamaño</strong></td><td>65 x 25.4 x 27.64 mm</td></tr><tr><td><strong>Voltaje de entrada</strong></td><td>110 - 220 VAC</td></tr><tr><td><strong>Voltaje de salida</strong></td><td>3.3 - 5 V</td></tr></tbody></table>

## **IV. Pinout**

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

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

## **V. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FEKmDT1uUlhgrPxFLVWzc%2FSCHEMATIC%20X-NODE%20Power%20Supply.pdf?alt=media&#x26;token=d72303cb-4e46-4117-afb2-f6c5baa77db5">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FEKmDT1uUlhgrPxFLVWzc%2FSCHEMATIC%20X-NODE%20Power%20Supply.pdf?alt=media&#x26;token=d72303cb-4e46-4117-afb2-f6c5baa77db5</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FAYCl3PbxTG8kVK5zrSdp%2FDIMENSIONS%20XN15%20Power%20Supply.pdf?alt=media&#x26;token=5e9ddf08-1af3-4929-9eaa-65044697843c">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FAYCl3PbxTG8kVK5zrSdp%2FDIMENSIONS%20XN15%20Power%20Supply.pdf?alt=media&#x26;token=5e9ddf08-1af3-4929-9eaa-65044697843c</a></td></tr></tbody></table>


# X-NODE / XN19 - Expansor de puertos

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

El **X-NODE Expansion Signal** es un módulo diseñado para realizar conexiones directas al zócalo mikroBUS™ a través de 2 conectores tipo clema de 8 pines para cables AWG de calibre 24 a 20. El uso de este X-NODE es de propósito general, ideal para un uso en conjunto del X-NODE MCU WIFI BLE o cualquier otro módulo con estándar mikroBUS™ para poder acceder a todas sus señales nativas y lograr conexiones externas a dispositivos o proyectos de uso industrial.

### **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. [**Descargas**](#v.-descarga)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FJWEe71F31I2lupBfbMv3%2FSCHEMATIC%20X-NODE%20Expansion%20Signal.pdf?alt=media\&token=9fa5f8d5-6fa0-4da5-a6da-f2f162558103)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FtTUl8iQUn6whQ7P5ib9z%2FDIMENSION%20X-NODE%20XN19%20Expansion%20Signals.PDF?alt=media\&token=6a1d9565-486d-49d8-9907-7f6585aa44e6)

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

El módulo **X-NODE Expansion Signal** posee 2 conectores tipo clema de 8 pines para conexiones directas a módulos de desarrollo o proyectos electrónicos a través de cables AWG, esto permite que el X-NODE sea compatible con cualquier sistema basado en un microcontrolador, microprocesador o equipos industriales.&#x20;

**X-NODE Expansion Signal** 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**

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

1. Conectores tipo clema de 8 pines para cables AWG de calibre 24 a 20
2. Conectores JST compatibles con [**Qwiic®**](https://www.sparkfun.com/qwiic)
3. Puertos de comunicación UART <> I2C
4. Modelo de X-NODE
5. Tipo de X-NODE
6. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
7. Versión de hardware: R1

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="171"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Expansor de puertos</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Integración en proyectos industriales y de IoT con uso de propósito general como expansor de puertos para conexiones externas con cables AWG hacia los módulos de desarrollo con estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a>.</td></tr><tr><td><strong>Características</strong></td><td>Dos conectores tipo clema de 8 pines para cables de calibre 24 a 20 AWG. Operación de trabajo en un rango de temperatura de -10 hasta 80 °C.</td></tr><tr><td><strong>Interfaz</strong></td><td>UART, I2C</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a> y estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a> </td></tr><tr><td><strong>Tamaño</strong></td><td>71.1 x 25.4 x 24.85 mm</td></tr><tr><td><strong>Voltaje</strong> </td><td>3.3 y 5 V</td></tr></tbody></table>

## **IV. Pinout**

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

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

## **V. Descarga**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FJWEe71F31I2lupBfbMv3%2FSCHEMATIC%20X-NODE%20Expansion%20Signal.pdf?alt=media&#x26;token=9fa5f8d5-6fa0-4da5-a6da-f2f162558103">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FJWEe71F31I2lupBfbMv3%2FSCHEMATIC%20X-NODE%20Expansion%20Signal.pdf?alt=media&#x26;token=9fa5f8d5-6fa0-4da5-a6da-f2f162558103</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FtTUl8iQUn6whQ7P5ib9z%2FDIMENSION%20X-NODE%20XN19%20Expansion%20Signals.PDF?alt=media&#x26;token=6a1d9565-486d-49d8-9907-7f6585aa44e6">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FtTUl8iQUn6whQ7P5ib9z%2FDIMENSION%20X-NODE%20XN19%20Expansion%20Signals.PDF?alt=media&#x26;token=6a1d9565-486d-49d8-9907-7f6585aa44e6</a></td></tr></tbody></table>


# X-NODE / XN21 – BME690 Sensor Ambiental con IA

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

El **X-NODE Environmental AI (BME690)** es un módulo que integra el sensor de gas con inteligencia artificial [**BME690** ](https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme690/)de [**Bosch®**](https://www.bosch-sensortec.com/), capaz de medir compuestos orgánicos volátiles (VOCs), compuestos volátiles de azufre (VSCs), presión barométrica, humedad relativa y temperatura ambiental con un consumo de corriente de hasta 50 µA en modo ultra bajo. Es ideal para integración en dispositivos móviles portátiles o el monitoreo de calidad del aire en interiores y exteriores, sistemas automáticos de intercambio, sistemas de ventilación inteligente y similares.

### **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. [**Modo de uso**](#v.-modo-de-uso)
   * [**Protocolo UART**](#protocolo-uart)
   * [**Protocolo I2C & SPI**](#protocolo-i2c-and-spi)&#x20;
6. [**Descargas**](#vi.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FfYXGnidJAkR6T5umuum7%2Fxn21-r1-schematic.pdf?alt=media\&token=ac4c7fc5-1691-4404-bade-b607176fd507)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FcGJ7OxC1y4GMGbJJcYzH%2Fxn21-r1-dimensions.pdf?alt=media\&token=614f0216-b810-43e5-95e3-a3a7a456f70e)

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

El módulo **X-NODE Environmental AI (BME690)** posee un controlador en hardware integrado con el cual es posible obtener la lectura de diversas variables que proporciona el sensor sin tener conocimientos avanzados de hardware, ya que solo es necesario enviar una serie de comandos en formato ASCII por medio del protocolo de comunicación serial **UART,** el protocolo **I2C** o el protocolo **SPI**, esto permite que el X-NODE sea compatible con cualquier sistema basado en un microcontrolador, microprocesador o equipos industriales. El sensor es capaz de medir presión barométrica, humedad relativa, temperatura ambiental y resistencia del gas, esta información puede utilizarse\* medir la calidad del aire interior (IAQ) y para detectar compuestos orgánicos volátiles (VOCs), compuestos volátiles de azufre (VSCs) y gases como monóxido de carbono e hidrogeno.

El **X-NODE Environmental AI (BME690)** 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.

{% hint style="warning" %}
**\*NOTA**: Las funciones de IAQ, VOC, VSC y detección de gases requiere el uso de la librería BSEC (***B**osch **S**ensortec **E**nvironmental **C**luster*). [Consulte la página del fabricante para obtener más información](https://www.bosch-sensortec.com/zh/software-tools/software/bme688-and-bme690-software/).
{% endhint %}

## **II. Descripción del hardware**

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

1. Sensor [**BME690**](https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme690/) de [**Bosch®**](https://www.bosch-sensortec.com/)
2. Conectores JST compatibles con [**Qwiic®**](https://www.sparkfun.com/qwiic)
3. Controlador en hardware
4. Puertos de comunicación UART <> I2C <> SPI\*.
5. Modelo de X-NODE
6. Tipo de X-NODE
7. Jumper de selección para la dirección I2C (Cuando está abierto el Address es 0x77 y cuando está cerrado es 0x76)
8. Jumpers de selección entre protocolo I2C y SPI (Al usar SPI no será posible utilizar el controlador en hardware)
9. Jumper de habilitación para el pin SPI Chip Select (CS1 <> CS2)
10. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
11. Jumper habilitador para programación del microcontrolador por UPDI
12. Versión de hardware: R1
13. Componente principal en el X-NODE

{% hint style="danger" %}
**\*NOTA**: El controlador en hardware utiliza el protocolo **I2C**, modificar los jumpers soldables para utilizar el protocolo **SPI** resultará en inhabilitar el protocolo **UART**.
{% endhint %}

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="171"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Sensor de gas, medio ambiente, calidad de aire</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Monitoreo de calidad del aire en interiores y exteriores, sistemas automáticos de intercambio, sistemas de ventilación inteligente, integración en dispositivos móviles portátiles alimentados por baterías, así como proyectos de Internet de las Cosas (IoT), Industria 4.0 y casas inteligentes (Smart Home).</td></tr><tr><td><strong>Módulo</strong></td><td><a href="https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme690/">BME690</a></td></tr><tr><td><strong>Fabricante</strong></td><td><a href="https://www.bosch-sensortec.com/">Bosch®</a></td></tr><tr><td><strong>Características</strong></td><td>Medición de compuestos orgánicos volátiles (VOCs), compuestos volátiles de azufre (VSCs), presión barométrica de 300 - 1100 hPa, humedad relativa de 0 - 100%, temperatura ambiental de -40 a 85 °C y modo de consumo ultra bajo de 50 µA.</td></tr><tr><td><strong>Interfaz</strong></td><td>UART, I2C</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a> y estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a> </td></tr><tr><td><strong>Tamaño</strong></td><td>41 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.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme688/)
{% endhint %}

## **IV. Pinout**

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

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

## **V. Modo de uso**

Para un uso fácil y rápido del X-NODE se puede hacer a través de los comandos en formato ASCII que proporciona el controlador en hardware integrado mediante una comunicación serial UART, o de forma nativa a través de protocolo I2C y SPI.

{% hint style="warning" %}
Al usar el protocolo **SPI** se deshabilita el controlador en hardware por lo que no funcionará con comandos ASCII a través de comunicación **UART**.&#x20;
{% endhint %}

### Protocolo UART

#### Configuración

* Velocidad de comunicación: 115,200 bps
* Paridad: Ninguna
* Bits de datos: 8
* Bits de paro: 1

#### **Sintaxis**

El protocolo UART permite enviar instrucciones en texto plano *ASCII*. Cada instrucción se compone del identificador del X-NODE, un comando y un final de línea.

#### **Identificador**

El identificador **ID**, se conforma por el modelo del X-NODE, que puede localizar en el punto 6 del apartado [Descripción de hardware ](#ii.-descripcion-del-hardware)y se complementa con un índice, que puede ser una letra del abecedario, por defecto es la letra **A**, siendo posible configurarlo hasta la letra **Z**.

{% hint style="warning" %}
El protocolo **UART** utiliza la interfaz **I2C** del sensor, por lo que no puede conectar más de un **X-NODE Environmental AI (BME690)** en el mismo bus, también deberá evitar conectar dispositivos que utilicen la misma dirección (0x77 o 0x76), recuerde que puede modificar la dirección del dispositivo con el jumper **ADD.**

Si desea utilizar más de un mismo nodo **X-NODE Environmental AI (BME690)** con el protocolo **UART** deberá aislar los pines **SDA** y **SCL** entre los nodos y asignar un índice único a cada nodo.

También puede hacer uso de la interfaz **SPI** del sensor, lo que **deshabilitará** el protocolo **UART**, utilizando los pines **CS1** o **CS2** para seleccionar el dispositivo en uso. Para hacer uso de este protocolo deberá portar el API del sensor ([disponible en GitHub](https://github.com/boschsensortec/BME690_SensorAPI)) al lenguaje de programación que utilice su sistema.
{% endhint %}

<figure><img src="/files/fhBUYgpGnvYAPeT7H3Te" alt="XN04_X-NODE"><figcaption></figcaption></figure>

{% hint style="warning" %}
**Nota:** A partir de este punto se usará el índice predeterminado del **X-NODE Environmental AI (BME690)** para el resto del manual: **XN21A**.
{% endhint %}

#### Lista de comandos

<table data-header-hidden data-full-width="false"><thead><tr><th width="159"></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td><strong>XN21A?</strong></td><td><p>Verifica si se estableció una comunicación con éxito.</p><p></p><p><strong>Respuesta:</strong> OK</p></td><td></td></tr><tr><td><strong>XN21A+V</strong></td><td><p>Obtiene la versión del firmware actual que integra el X-NODE.</p><p></p><p><strong>Respuesta:</strong> XN21A=Versión_FW.Revision_HW</p><p>        <strong>Ejemplo:</strong> XN21A=0.1.0.R01</p></td><td></td></tr><tr><td><strong>XN21A+ID=(A-Z)</strong></td><td><p>Cambia el index del ID por una letra diferente del abecedario de la A a la Z, la nueva letra debe ser en mayúscula. Una vez modificado, para volver a cambiarlo es necesario colocar el ID con el nuevo index.</p><p></p><p><strong>Respuesta:</strong> OK</p><p>       <strong>Ejemplo de envío:</strong> XN21C+ID=H</p></td><td></td></tr><tr><td><strong>XN21A+GT</strong></td><td><p>Obtiene el valor de Temperatura del sensor. Retorna con el valor final en °C con dos decimales.</p><p></p><p><strong>Respuesta:</strong> XN21A=VAL</p><p>       <strong>Ejemplo:</strong> XN21A=24.36</p></td><td></td></tr><tr><td><strong>XN21A+GH</strong></td><td><p>Obtiene el valor de Humedad del sensor. Retorna con un valor relativo (%) de humedad.</p><p></p><p><strong>Respuesta:</strong> XN21A=VAL</p><p>       <strong>Ejemplo:</strong> XN21A=68.14</p></td><td></td></tr><tr><td><strong>XN21A+GP</strong></td><td><p>Obtiene el valor de Presión barométrica del sensor. Retorna con el valor final en hPa con dos decimales.</p><p></p><p><strong>Respuesta:</strong> XN21A=VAL</p><p>       <strong>Ejemplo:</strong> XN21A=778.40</p></td><td></td></tr><tr><td><strong>XN21A+GR</strong></td><td><p>Obtiene el valor de la resistencia asociada al gas (H2S) del sensor*. Retorna con el valor de la resistencia ambiental en kOhms.</p><p></p><p><strong>Respuesta:</strong> XN21A=VAL</p><p>       <strong>Ejemplo:</strong> XN21A=38.72</p></td><td></td></tr></tbody></table>

{% hint style="warning" %}
**\*Nota**: Las mediciones de resistencia asociada al gas (H2S) utilizan una placa calefactora embebida en el dispositivo. Después de encendido el dispositivo el usuario deberá realizar la lectura de al menos una variable en un intervalo de 1 a 2 segundos hasta que se estabilice el valor de resistencia del gas para obtener mediciones precisas.&#x20;
{% endhint %}

#### **Comandos avanzados**

<table data-header-hidden data-full-width="false"><thead><tr><th width="159"></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td><strong>XN21A+SLP</strong></td><td><p>Habilita el modo de descanso profundo del dispositivo para reducir el consumo de energía y deshabilitar el driver <strong>UART.</strong> Si el jumper <strong>UPDI</strong> está habilitado puede salir del modo de descanso profundo escriba un lógico bajo (0) al pin <strong>CS1</strong>.</p><p><strong>Respuesta:</strong> OK</p><p><strong>Ejemplo de envío:</strong> XN21A+SLP</p></td><td></td></tr><tr><td><strong>XN21A+RST</strong></td><td><p>Reinicia el dispositivo, el sensor se reconfigurará bajo los siguientes parámetros:</p><p>Oversampling THP = 16X</p><p>Calefactor (°C/ms) = 350 / 150</p><p><strong>Respuesta:</strong> OK<br><strong>Ejemplo de envío:</strong> XN21A+RST</p></td><td></td></tr></tbody></table>

### Ejemplo UART Arduino Framework

{% hint style="info" %}
Código de ejemplo para el [**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), revisa el manual para utilizar nuestro [XC01 - R5 en **Arduino IDE/PlatformIO**](https://docs.microside.com/plataforma-xide-iot/x-nodes/xc01-controlador-wifi-and-bluetooth/r5/x-node-xc01-esp32-s3-controlador-wifi-and-bluetooth#configuracion-para-platformio-en-vs-code)
{% endhint %}

```cpp
#include "Arduino.h"

float getVariable( const char * command ){
  // Limpiamos el buffer
  if (Serial2.available()) {
    Serial2.read();
  }

  // Envía el comando
  Serial2.print(command);
  Serial2.println();

  // Espera hasta recibir una respuesta
  String variable_value = Serial2.readStringUntil('\n');

  // Si la respuesta comienza por el ID
  // entonces la comunicación fue exitosa
  if (!variable_value.startsWith("XN21A=")) {
    Serial.println("Error");
    return NAN;
  }

  // Convierte el valor en ASCII a un valor decimal
  return variable_value.substring(variable_value.indexOf('=') + 1).toFloat();
}

void setup() {
  // Inicializa el monitor serial
  Serial.begin(115200);

  // Inicializa la comunicación UART en el puerto MikroBUS
  Serial2.begin(115200, SERIAL_8N1, 9, 10);
}

void loop() {
  // Obtiene los valores de variables ambientales

  // Envía el comando para obtener la temperatura
  // Los caracteres \r\n representan los caracteres
  // <CR+LF> en el lenguaje de programación C/C++
  float temp = getVariable("XN21A+GT\r\n");

  // Envía el comando para obtener la humedad
  float hum = getVariable("XN21A+GH\r\n");

  // Envía el comando para obtener la presión
  float press = getVariable("XN21A+GP\r\n");
  
  // Envía el comando para obtener la resistencia
  float res = getVariable("XN21A+GR\r\n");

  Serial.print("Temp: ");
  Serial.print(temp);
  Serial.println(" °C");
  Serial.print("Hum: ");
  Serial.print(hum);
  Serial.println(" %");
  Serial.print("Press: ");
  Serial.print(press);
  Serial.println(" hPa");
  Serial.print("Gas: ");
  Serial.print(res);
  Serial.println(" kOhm");

  delay(1000);
}
```

### Protocolo I2C & SPI

Para poder establecer comunicación con el **X-NODE Environmental AI (BME690)** es necesario hacerlo de forma nativa con el sensor integrado y con apoyo de la documentación técnica del fabricante, podrás localizar el número de parte al reverso del X-NODE (Punto 13 del apartado “Descripción de Hardware”) además de jumpers para cambiar el address I2C, el pin Chip Select para SPI y seleccionar entre el protocolo I2C y SPI.

{% hint style="info" %}
Puedes descargar la documentación técnica del fabricante en el siguiente link: [**Datos Técnicos**](https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme690/)
{% endhint %}

## **VI. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FfYXGnidJAkR6T5umuum7%2Fxn21-r1-schematic.pdf?alt=media&#x26;token=ac4c7fc5-1691-4404-bade-b607176fd507">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FfYXGnidJAkR6T5umuum7%2Fxn21-r1-schematic.pdf?alt=media&#x26;token=ac4c7fc5-1691-4404-bade-b607176fd507</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FcGJ7OxC1y4GMGbJJcYzH%2Fxn21-r1-dimensions.pdf?alt=media&#x26;token=614f0216-b810-43e5-95e3-a3a7a456f70e">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FcGJ7OxC1y4GMGbJJcYzH%2Fxn21-r1-dimensions.pdf?alt=media&#x26;token=614f0216-b810-43e5-95e3-a3a7a456f70e</a></td></tr></tbody></table>


# X-NODE / XN26 - 4 x Entradas 24V DC

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

El **X-NODE 4 x 24V** **Input** es un módulo diseñado para la adquisición y medición de señales industriales de hasta 24 V de corriente directa. Integra un conector tipo clema de 6 pines que facilita la conexión con cables AWG de calibre 26 al 18. El uso de este X-NODE es de propósito general, ideal para medir señales industriales de hasta 24 V como sensores, botones, alarmas, PLC, entre otros.

### **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. [**Modo de uso**](#v.-modo-de-uso)
   * [**Protocolo UART**](#protocolo-uart)
   * [**Protocolo I2C**](#protocolo-i2c)
6. [**Descargas**](#vi.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FukDkImALsns99K1saGT0%2FSCHEMATIC%20X-NODE%204%20x%2024V%20INPUT.pdf?alt=media\&token=e6922f23-7505-4a22-a9e6-67caa908182e)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FPHLRdPaQuKit9ZYRvKEQ%2FDIMENSION%20X-NODE%204%20x%2024V%20INPUT.PDF?alt=media\&token=994c1411-0d23-45f8-92a2-59c8094c15f1)

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

El módulo **X-NODE 4 x 24V Input** posee un controlador en hardware integrado con el cual es posible obtener señales digitales de 24V sin tener conocimientos avanzados de hardware, ya que solo es necesario enviar una serie de comandos en formato ASCII por medio del protocolo de comunicación serial UART o usando el protocolo I2C, esto permite que el X-NODE sea compatible con cualquier sistema basado en un microcontrolador, microprocesador o equipos industriales.

**X-NODE 4 x 24V Input** 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**

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

1. Conector tipo clema de 6 pines para cables AWG de calibre 26 a 18
2. Conectores JST compatibles con [**Qwiic®**](https://www.sparkfun.com/qwiic)
3. Controlador en hardware
4. Puertos de comunicación UART <> I2C
5. Modelo de X-NODE
6. Tipo de X-NODE
7. Jumpers para configuración de los pines como tipo N o tipo P
8. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
9. Versión de hardware: R1
10. Característica principal en el X-NODE

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="171"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Entradas digitales de 24V</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Integración en proyectos industriales y de IoT con uso de propósito general para lectura de señales de hasta 24 V como sensores, botones o alarmas, logrando cambios de estado o secuencias con actuadores, indicadores y motores.</td></tr><tr><td><strong>Características</strong></td><td>Conector tipo clema de 4 pines compatible con cables AWG de calibre 26 a 18. Operación de trabajo en un rango de temperatura de 0 hasta 80 °C.</td></tr><tr><td><strong>Interfaz</strong></td><td>UART, I2C</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a> y estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a> </td></tr><tr><td><strong>Tamaño</strong></td><td>65.88 x 25.4 x 22 mm</td></tr><tr><td><strong>Voltaje</strong> </td><td>3.3 V</td></tr></tbody></table>

## **IV. Pinout**

La siguiente tabla muestra el pinout del **X-NODE 4 x 24V Input** con respecto al estándar  [**mikroBUS™**](https://www.mikroe.com/mikrobus) (este último se encuentra en las dos columnas del centro).

<figure><img src="/files/7HcICuWHn2fvqlwQJ7t9" alt=""><figcaption></figcaption></figure>

## **V. Modo de uso**

Para un uso fácil y rápido del X-NODE se puede hacer a través de los comandos en formato ASCII que proporciona el controlador en hardware integrado mediante una comunicación serial UART o de forma más avanzada a través del protocolo I2C.

### Protocolo UART

Para poder establecer comunicación con el X-NODE se debe conocer el **ID**, éste se conforma por el **modelo** que se localiza en el punto 5 del apartado “Descripción de hardware”, con la clave “XN26” y se complementa con un **index** que por defecto es la letra “A“, siendo posible configurarlo hasta la letra Z del abecedario, brindando la posibilidad de conectar hasta 10 módulos del mismo tipo.

<figure><img src="/files/5tQ904rzAGSftWutO7QB" alt="XN04_X-NODE"><figcaption></figcaption></figure>

#### Configuración

* Velocidad de comunicación: 115,200 bps
* Paridad: Ninguna
* Bits de datos: 8
* Bits de paro: 1

#### Lista de comandos

<table data-header-hidden data-full-width="false"><thead><tr><th width="214"></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td><strong>XN26A?&#x3C;CR+LF></strong></td><td><p>Verifica si se estableció una comunicación con éxito.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN26A+V&#x3C;CR+LF></strong></td><td><p>Obtiene la versión del firmware actual que integra el X-NODE.</p><p></p><p><strong>Respuesta:</strong> XN26A=Versión&#x3C;CR+LF></p><p>        <strong>Ejemplo:</strong> XN26A=0.1&#x3C;CR+LF></p></td><td></td></tr><tr><td><p><strong>XN26A+ID=</strong></p><p><strong>(A-Z)&#x3C;CR+LF></strong></p></td><td><p>Cambia el index del ID por una letra diferente del abecedario de la A a la Z, la nueva letra debe ser en mayúscula. Una vez modificado, para volver a cambiarlo es necesario colocar el ID con el nuevo index.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN26C+ID=H&#x3C;CR+LF></p></td><td></td></tr><tr><td><p><strong>XN26A+TW=</strong></p><p><strong>(1-126)&#x3C;CR+LF></strong></p></td><td><p>Cambia el address I2C que viene de fábrica por uno diferente. El nuevo address se escribe en decimal seleccionando un valor de 1 a 126.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN26A+TW=28&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN26A+IP=(Int1,Int2,Int3,Int4)&#x3C;CR+LF></strong></td><td><p>Cambia la polaridad de cada una de las 4 entradas, con dos opciones: 1 (Polaridad INVERSA) y 0 (Polaridad DIRECTA). La entrada 1 es el primer valor de la izquierda, interpretándolo así de izquierda a derecha.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN26A+IP=1001&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN26A+GI&#x3C;CR+LF></strong></td><td><p>Obtiene el estado de cada una de las 4 entradas del conector. Retorna números 1 (Alto) y 0 (Bajo) dependiendo del estado de cada entrada. La entrada 1 es el primer valor de la izquierda, interpretándolo así el valor de izquierda a derecha.</p><p></p><p><strong>Respuesta:</strong> XN26A=int1, int2, int3, int4&#x3C;CR+LF></p><p>       <strong>Ejemplo:</strong> XN26A=0110&#x3C;CR+LF></p></td><td></td></tr></tbody></table>

### Protocolo I2C

Para poder establecer comunicación se debe conocer la dirección (address) del X-NODE, este se conforma por los dos últimos dígitos del modelo después de “XN”, el cual es necesario convertirlo a formato hexadecimal.

<figure><img src="/files/pTqliZv8hoSZUmipEmgU" alt="X-NODE XN01 MICROSIDE_02"><figcaption></figcaption></figure>

#### Configuración

* Velocidad de comunicación: 100 kHz
* Address: 7 bits

{% hint style="warning" %}
**Nota:** Verifica que no cuentes con otro dispositivo con la misma dirección (Address), si es así es necesario cambiarla.
{% endhint %}

#### **Escritura:**

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

#### **Lectura:**

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

## **VI. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FukDkImALsns99K1saGT0%2FSCHEMATIC%20X-NODE%204%20x%2024V%20INPUT.pdf?alt=media&#x26;token=e6922f23-7505-4a22-a9e6-67caa908182e">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FukDkImALsns99K1saGT0%2FSCHEMATIC%20X-NODE%204%20x%2024V%20INPUT.pdf?alt=media&#x26;token=e6922f23-7505-4a22-a9e6-67caa908182e</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FPHLRdPaQuKit9ZYRvKEQ%2FDIMENSION%20X-NODE%204%20x%2024V%20INPUT.PDF?alt=media&#x26;token=994c1411-0d23-45f8-92a2-59c8094c15f1">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FPHLRdPaQuKit9ZYRvKEQ%2FDIMENSION%20X-NODE%204%20x%2024V%20INPUT.PDF?alt=media&#x26;token=994c1411-0d23-45f8-92a2-59c8094c15f1</a></td></tr></tbody></table>


# X-NODE / XN27 - 4 x Salidas 24V DC

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

El **X-NODE 4 x 24V Outputs** es un módulo diseñado para conmutar señales de 24V de corriente directa, principalmente útil para el control de relevadores de estado sólido SSR, cuenta con la capacidad de controlar hasta 4 canales de salida lo que permite un control preciso y separado de múltiples dispositivos. Integra 4 LEDs de color verde como indicadores de activación para cada canal de salida además de incorporar un conector tipo clema de 5 pines, lo que facilita la conexión con cables AWG de diferentes calibres, específicamente del calibre 26 al 18. Este X-NODE es de propósito general, ideal para aplicaciones de control en iluminación, calefacción, motores, equipos, instrumentos y sensores industriales.

### **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. [**Modo de uso**](#v.-modo-de-uso)
   * [**Protocolo UART**](#protocolo-uart)
   * [**Protocolo I2C**](#protocolo-i2c)
6. [**Descargas**](#vi.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FEIyLJzP9qY4b93Eh1cUu%2FESQUEM%C3%81TICO%20X-NODE%204%20x%2024V%20OUTPUTS%20XN27.pdf?alt=media\&token=c68887b6-8d4e-46dd-b9c4-bcd9edc1a52a)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FvsoIUSOBTAip8jLMA0dg%2FDIMENSIONES%20X-NODE%204%20x%2024V%20OUTPUTS%20XN27.PDF?alt=media\&token=65093bc4-2ba6-4f56-902f-bcb3f05f5daa)

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

El módulo **X-NODE 4 x 24V Outputs** posee un controlador en hardware integrado con el cual es posible conmutar señales de 24 VDC sin tener conocimientos avanzados de hardware, ya que solo es necesario enviar una serie de comandos en formato ASCII por medio del protocolo de comunicación serial UART o usando el protocolo I2C, esto permite que el X-NODE sea compatible con cualquier sistema basado en un microcontrolador, microprocesador o equipos industriales.

**X-NODE 4 x 24V Outputs** 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**

<figure><img src="/files/OZ3EylBGRRJLIzEmNfdZ" alt="" width="563"><figcaption></figcaption></figure>

1. Conector tipo clema de 5 pines para cables AWG de calibre 26 al 18
2. Indicadores LED de activación para cada canal de salida
3. Conectores JST compatibles con [**Qwiic®**](https://www.sparkfun.com/qwiic)
4. Controlador en hardware
5. Puertos de comunicación UART <> I2C
6. Modelo de X-NODE
7. Tipo de X-NODE
8. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
9. Versión de hardware: R1
10. Característica principal en el X-NODE

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="171"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Salidas digitales de 24V</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Integración en proyectos de Industria 4.0 donde se requiera conmutar señales digitales de 24V, principalmente para aplicaciones con relevadores de estado sólido SSR como en el control de iluminación, calefacción, motores, equipos, instrumentos y sensores industriales.</td></tr><tr><td><strong>Características</strong></td><td>Conector tipo clema de 5 pines compatible con cables AWG de calibre 26 a 18. Operación de trabajo en un rango de temperatura de 0 hasta 80 °C. Indicadores LED con un amplio ángulo de visión, disipación de 40 mW, un flujo de corriente continua de 20 mA.</td></tr><tr><td><strong>Interfaz</strong></td><td>UART, I2C</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a> y estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a> </td></tr><tr><td><strong>Tamaño</strong></td><td>77.21 x 25.40 x 22 mm</td></tr><tr><td><strong>Voltaje</strong> </td><td>3.3 V</td></tr></tbody></table>

## **IV. Pinout**

La siguiente tabla muestra el pinout del **X-NODE 4 x 24V Outputs** con respecto al estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) (este último se encuentra en las dos columnas del centro).

<figure><img src="/files/14nuGifbGyomQOUbX8cn" alt=""><figcaption></figcaption></figure>

## **V. Modo de uso**

Para un uso fácil y rápido del X-NODE se puede hacer a través de los comandos en formato ASCII que proporciona el controlador en hardware integrado mediante una comunicación serial UART o de forma más avanzada a través del protocolo I2C.

### Protocolo UART

Para poder establecer comunicación con el X-NODE se debe conocer el **ID**, éste se conforma por el **modelo** que se localiza en el punto 6 del apartado “Descripción de hardware”, con la clave “XN27” y se complementa con un **index** que por defecto es la letra “A“, siendo posible configurarlo hasta la letra Z del abecedario, brindando la posibilidad de conectar hasta 10 módulos del mismo tipo.

<figure><img src="/files/0x5DvGPJadWtTmAMDR0H" alt=""><figcaption></figcaption></figure>

#### Configuración

* Velocidad de comunicación: 115,200 bps
* Paridad: Ninguna
* Bits de datos: 8
* Bits de paro: 1

#### Lista de comandos

<table data-header-hidden data-full-width="false"><thead><tr><th width="214"></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td><strong>XN27A?&#x3C;CR+LF></strong></td><td><p>Verifica si se estableció una comunicación con éxito.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN27A+V&#x3C;CR+LF></strong></td><td><p>Obtiene la versión del firmware actual que integra el X-NODE.</p><p></p><p><strong>Respuesta:</strong> XN27A=Versión&#x3C;CR+LF></p><p>        <strong>Ejemplo:</strong> XN27A=0.1&#x3C;CR+LF></p></td><td></td></tr><tr><td><p><strong>XN27A+ID=</strong></p><p><strong>(A-Z)&#x3C;CR+LF></strong></p></td><td><p>Cambia el index del ID por una letra diferente del abecedario de la A a la Z, la nueva letra debe ser en mayúscula. Una vez modificado, para volver a cambiarlo es necesario colocar el ID con el nuevo index.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN27C+ID=H&#x3C;CR+LF></p></td><td></td></tr><tr><td><p><strong>XN27A+TW=</strong></p><p><strong>(1-126)&#x3C;CR+LF></strong></p></td><td><p>Cambia el address I2C que viene de fábrica por uno diferente. El nuevo address se escribe en decimal seleccionando un valor de 1 a 126.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN27A+TW=28&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN27A+S=(SSR1, SSR2, SSR3, SSR4)&#x3C;CR+LF></strong></td><td><p>Cambia el estado de cada uno de los canales de salida para los cuatro relevadores de estado sólido con dos opciones: 1 para activar y 0 para desactivar.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN27A+S=1001&#x3C;CR+LF></p></td><td></td></tr></tbody></table>

### Protocolo I2C

Para poder establecer comunicación se debe conocer la dirección (address) del X-NODE, este se conforma por los dos últimos dígitos del modelo después de “XN”, el cual es necesario convertirlo a formato hexadecimal.

<figure><img src="/files/AT0rHY1mWKeylFDWksZB" alt="" width="563"><figcaption></figcaption></figure>

#### Configuración

* Velocidad de comunicación: 100 kHz
* Address: 7 bits

{% hint style="warning" %}
**Nota:** Verifica que no cuentes con otro dispositivo con la misma dirección (Address), si es así es necesario cambiarla.
{% endhint %}

#### **Escritura:**

<figure><img src="/files/FOwVTo3nGnUQ1Kt2XUkl" alt="" width="563"><figcaption></figcaption></figure>

## **VI. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FEIyLJzP9qY4b93Eh1cUu%2FESQUEM%C3%81TICO%20X-NODE%204%20x%2024V%20OUTPUTS%20XN27.pdf?alt=media&#x26;token=c68887b6-8d4e-46dd-b9c4-bcd9edc1a52a">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FEIyLJzP9qY4b93Eh1cUu%2FESQUEM%C3%81TICO%20X-NODE%204%20x%2024V%20OUTPUTS%20XN27.pdf?alt=media&#x26;token=c68887b6-8d4e-46dd-b9c4-bcd9edc1a52a</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FvsoIUSOBTAip8jLMA0dg%2FDIMENSIONES%20X-NODE%204%20x%2024V%20OUTPUTS%20XN27.PDF?alt=media&#x26;token=65093bc4-2ba6-4f56-902f-bcb3f05f5daa">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FvsoIUSOBTAip8jLMA0dg%2FDIMENSIONES%20X-NODE%204%20x%2024V%20OUTPUTS%20XN27.PDF?alt=media&#x26;token=65093bc4-2ba6-4f56-902f-bcb3f05f5daa</a></td></tr></tbody></table>


# X-NODE / XN29 - 4 Relevadores 1A

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

El **X-NODE 4 x Relay (G5V-1-DC3)** es un módulo que integra cuatro relevadores unipolares de señal baja G5V-1-DC3 de OMRON®, cada uno de estos cuenta con una bobina accionada con 3 VDC y sus contactos de salida tienen una capacidad de conmutación máxima de 125 VAC a 0.5 A o bien 24 VDC a 1 A. Su tamaño y resistencia dieléctrica de hasta 1000 VAC los hace ideales para el control ON-OFF de dispositivos como alarmas, lámparas y calentadores, también se pueden utilizar para energizar bobinas de relés y contactores más grandes en esquemas industriales (12V/24V).

### **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. [**Modo de uso**](#v.-modo-de-uso)
   * [**Protocolo UART**](#protocolo-uart)
   * [**Protocolo I2C**](#protocolo-i2c)
6. [**Descargas**](#vi.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FnjvDP1EOarHlIgEoMH2G%2FSCHEMATIC%20X-NODE%204%20x%20Relay.pdf?alt=media\&token=38bde887-4e07-47cb-af54-3de5b07355a5)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fhud3fPq8BK8UIse1s1Bl%2FDIMENSIONS%20X-NODE%204%20x%20Relay.PDF?alt=media\&token=763ef498-4dac-4baf-96d7-f9e42b33e918)

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

El módulo **X-NODE 4 x Relay (G5V-1-DC3)** posee un controlador en hardware integrado con el cual es posible interactuar con relevadores sin tener conocimientos avanzados de hardware, ya que solo es necesario enviar una serie de comandos en formato ASCII por medio del protocolo de comunicación serial UART o usando el protocolo I2C, esto permite que el X-NODE sea compatible con cualquier sistema basado en un microcontrolador, microprocesador o equipos industriales.

**X-NODE 4 x Relay (G5V-1-DC3)** 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**

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

1. Clemas de conexión a los contactos de salida de los relevadores compatibles con cable calibre 26 a 16 (AWG)
2. Relevadores G5V-1-DC3 de OMRON®
3. Conectores JST compatibles con [**Qwiic®**](https://www.sparkfun.com/qwiic)
4. Indicadores LED de estado del relevador
5. Controlador en hardware
6. Puertos de comunicación UART <> I2C
7. Modelo de X-NODE
8. Tipo de X-NODE
9. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
10. Versión de hardware: R1
11. Componente principal en el X-NODE

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="171"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Relevador</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Integración en proyectos de IoT que requieran el control ON / OFF en varios dispositivos de automatización del hogar como de alarmas, lámparas o calentadores, también se pueden utilizar para energizar bobinas de relés y conectores más grandes en esquemas industriales (12V/24 V).</td></tr><tr><td><strong>Módulo</strong></td><td>G5V-1-DC3</td></tr><tr><td><strong>Fabricante</strong></td><td>OMRON®</td></tr><tr><td><strong>Características</strong></td><td>Voltaje de bobina 3 V, conmutación máxima de 125 V a 0.5 A en corriente alterna o 24 V a 1 A en corriente directa, resistencia de contacto máxima 100 mΩ, consumo de energía nominal de la bobina de 150 mW y resistencia dieléctrica de hasta 1000 VAC.</td></tr><tr><td><strong>Interfaz</strong></td><td>UART, I2C</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a> y estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a> </td></tr><tr><td><strong>Tamaño</strong></td><td>77.22 x 25.4 x 22 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://omronfs.omron.com/en_US/ecb/products/pdf/en-g5v_1.pdf)
{% endhint %}

## **IV. Pinout**

La siguiente tabla muestra el pinout del **X-NODE 4 x Relay (G5V-1-DC3)** con respecto al estándar  [**mikroBUS™**](https://www.mikroe.com/mikrobus) (este último se encuentra en las dos columnas del centro).

<figure><img src="/files/7HcICuWHn2fvqlwQJ7t9" alt=""><figcaption></figcaption></figure>

## **V. Modo de uso**

Para un uso fácil y rápido del X-NODE se puede hacer a través de los comandos en formato ASCII que proporciona el controlador en hardware integrado mediante una comunicación serial UART o de forma más avanzada a través del protocolo I2C.

### Protocolo UART

Para poder establecer comunicación con el X-NODE se debe conocer el **ID**, éste se conforma por el **modelo** que se localiza en el punto 7 del apartado “Descripción de hardware”, con la clave “XN29” y se complementa con un **index** que por defecto es la letra “A“, siendo posible configurarlo hasta la letra Z del abecedario, brindando la posibilidad de conectar hasta 10 módulos del mismo tipo.

<figure><img src="/files/GeLzqhjNSu1TZcJb1jia" alt="XN04_X-NODE"><figcaption></figcaption></figure>

#### Configuración

* Velocidad de comunicación: 115,200 bps
* Paridad: Ninguna
* Bits de datos: 8
* Bits de paro: 1

#### Lista de comandos

<table data-header-hidden data-full-width="false"><thead><tr><th width="214"></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td><strong>XN29A?&#x3C;CR+LF></strong></td><td><p>Verifica si se estableció una comunicación con éxito.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN29A+V&#x3C;CR+LF></strong></td><td><p>Obtiene la versión del firmware actual que integra el X-NODE.</p><p></p><p><strong>Respuesta:</strong> XN29A=Versión&#x3C;CR+LF></p><p>        <strong>Ejemplo:</strong> XN29A=0.1&#x3C;CR+LF></p></td><td></td></tr><tr><td><p><strong>XN29A+ID=</strong></p><p><strong>(A-Z)&#x3C;CR+LF></strong></p></td><td><p>Cambia el index del ID por una letra diferente del abecedario de la A a la Z, la nueva letra debe ser en mayúscula. Una vez modificado, para volver a cambiarlo es necesario colocar el ID con el nuevo index.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN29C+ID=H&#x3C;CR+LF></p></td><td></td></tr><tr><td><p><strong>XN29A+TW=</strong></p><p><strong>(1-126)&#x3C;CR+LF></strong></p></td><td><p>Cambia el address I2C que viene de fábrica por uno diferente. El nuevo address se escribe en decimal seleccionando un valor de 1 a 126.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN29A+TW=28&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN29A+S=(Relevador 1)(Relevador 2)(Relevador 3)(Relevador 4)&#x3C;CR+LF></strong></td><td><p>Cambia el estado de cada uno de los cuatro relevadores con dos opciones: 1 para activar y 0 para desactivar. </p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF> </p><p>       <strong>Ejemplo de envío 1:</strong> XN29A+S=0110&#x3C;CR+LF> (Acciona el relevador 2 y 3)</p><p>       <strong>Ejemplo de envío 2:</strong> XN29A+S=1001&#x3C;CR+LF> (Acciona el relevador 1 y 4)</p></td><td></td></tr></tbody></table>

### Protocolo I2C

Para poder establecer comunicación se debe conocer la dirección (address) del X-NODE, este se conforma por los dos últimos dígitos del modelo después de “XN”, el cual es necesario convertirlo a formato hexadecimal.

<figure><img src="/files/dMsAoO99GKloI6PRcCPp" alt="X-NODE XN01 MICROSIDE_02"><figcaption></figcaption></figure>

#### Configuración

* Velocidad de comunicación: 100 kHz
* Address: 7 bits

{% hint style="warning" %}
**Nota:** Verifica que no cuentes con otro dispositivo con la misma dirección (Address), si es así es necesario cambiarla.
{% endhint %}

#### **Escritura:**

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

## **VI. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FnjvDP1EOarHlIgEoMH2G%2FSCHEMATIC%20X-NODE%204%20x%20Relay.pdf?alt=media&#x26;token=38bde887-4e07-47cb-af54-3de5b07355a5">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FnjvDP1EOarHlIgEoMH2G%2FSCHEMATIC%20X-NODE%204%20x%20Relay.pdf?alt=media&#x26;token=38bde887-4e07-47cb-af54-3de5b07355a5</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fhud3fPq8BK8UIse1s1Bl%2FDIMENSIONS%20X-NODE%204%20x%20Relay.PDF?alt=media&#x26;token=763ef498-4dac-4baf-96d7-f9e42b33e918">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fhud3fPq8BK8UIse1s1Bl%2FDIMENSIONS%20X-NODE%204%20x%20Relay.PDF?alt=media&#x26;token=763ef498-4dac-4baf-96d7-f9e42b33e918</a></td></tr></tbody></table>


# X-NODE / XN30 - 2 x Entradas 4-20 mA

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

El **X-NODE 2 x 4-20mA** **Inputs** es un módulo diseñado para la integración de sensores industriales que trabajen bajo un rango de 4 a 20 mA, ya sea de forma pasiva o activa. Integra un conector tipo clema de 6 pines que facilita la conexión con cables AWG de calibre 26 al 18. El uso de este X-NODE es de propósito general, ideal para medir señales en esquemas industriales como sensores de presión, temperatura, humedad, nivel, flujo, desplazamiento, posición y pH.

### **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. [**Modo de uso**](#v.-modo-de-uso)
   * [**Protocolo UART**](#protocolo-uart)
   * [**Protocolo I2C**](#protocolo-i2c)
6. [**Descargas**](#vi.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FdN6KKRWAlFaIIWER5LDL%2FESQUEM%C3%81TICO%20X-NODE%202%20x%204-20mA%20Inputs%20XN30.pdf?alt=media\&token=45b86910-e1c0-417f-ae6a-13a719cee728)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FzDBSIxidCCkgtLfxI9GZ%2FDIMENSIONES%20XN30%20-%202%20x%204-20mA%20Inputs.pdf?alt=media\&token=dc8d0184-d79f-4b0a-947f-c5dbb90bb647)

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

El módulo **X-NODE 2 x 4-20mA** **Inputs** posee un controlador en hardware integrado con el cual es posible adquirir señales de sensores industriales sin tener conocimientos avanzados de hardware, ya que solo es necesario enviar una serie de comandos en formato ASCII por medio del protocolo de comunicación serial UART o usando el protocolo I2C, esto permite que el X-NODE sea compatible con cualquier sistema basado en un microcontrolador, microprocesador o equipos industriales.

**X-NODE 2 x 4-20mA** **Inputs** 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**

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

1. Conector tipo clema de 6 pines para cables AWG de calibre 26 a 18
2. Selector de funcionamiento general: Activo <> Pasivo
3. Conectores JST compatibles con [**Qwiic®**](https://www.sparkfun.com/qwiic)
4. Controlador en hardware
5. Puertos de comunicación UART <> I2C
6. Modelo de X-NODE
7. Tipo de X-NODE
8. Jumpers de configuración: CFG1 > Forzar Pasivo en IN1, CFG2 > Forzar Pasivo en IN2
9. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
10. Versión de hardware: R1
11. Característica principal en el X-NODE

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="171"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Entradas de 4 a 20 mA</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Integración en proyectos industriales y de IoT con uso de propósito general. Ideal para lectura de señales de 4 hasta 20 mA como sensores de presión, temperatura, humedad, nivel, flujo, desplazamiento, posición y pH.</td></tr><tr><td><strong>Características</strong></td><td>Conector tipo clema de 6 pines compatible con cables AWG de calibre 26 a 18. Operación de trabajo en un rango de temperatura de 0 hasta 80 °C.</td></tr><tr><td><strong>Interfaz</strong></td><td>UART, I2C</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a> y estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a> </td></tr><tr><td><strong>Tamaño</strong></td><td>65 x 25.4 x 22 mm</td></tr><tr><td><strong>Voltaje</strong> </td><td>3.3 V</td></tr></tbody></table>

## **IV. Pinout**

La siguiente tabla muestra el pinout del **X-NODE 2 x 4-20mA** **Inputs** con respecto al estándar  [**mikroBUS™**](https://www.mikroe.com/mikrobus) (este último se encuentra en las dos columnas del centro).

<figure><img src="/files/7HcICuWHn2fvqlwQJ7t9" alt=""><figcaption></figcaption></figure>

## **V. Modo de uso**

Para un uso fácil y rápido del X-NODE se puede hacer a través de los comandos en formato ASCII que proporciona el controlador en hardware integrado mediante una comunicación serial UART o de forma más avanzada a través del protocolo I2C.

## Protocolo UART

Para poder establecer comunicación con el X-NODE se debe conocer el **ID**, éste se conforma por el **modelo** que se localiza en el punto 6 del apartado “Descripción de hardware”, con la clave “XN30” y se complementa con un **index** que por defecto es la letra “A“, siendo posible configurarlo hasta la letra Z del abecedario, brindando la posibilidad de conectar hasta 10 módulos del mismo tipo.

<figure><img src="/files/Mvu07KXTUA1Nm2FAPW9f" alt="XN04_X-NODE"><figcaption></figcaption></figure>

#### Configuración

* Velocidad de comunicación: 115,200 bps
* Paridad: Ninguna
* Bits de datos: 8
* Bits de paro: 1

### Lista de comandos

<table data-header-hidden data-full-width="false"><thead><tr><th width="214"></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td><strong>XN30A?&#x3C;CR+LF></strong></td><td><p>Verifica si se estableció una comunicación con éxito.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN30A+V&#x3C;CR+LF></strong></td><td><p>Obtiene la versión del firmware actual que integra el X-NODE.</p><p></p><p><strong>Respuesta:</strong> XN30A=Versión&#x3C;CR+LF></p><p>        <strong>Ejemplo:</strong> XN30A=0.1.0&#x3C;CR+LF></p></td><td></td></tr><tr><td><p><strong>XN30A+ID=</strong></p><p><strong>(A-Z)&#x3C;CR+LF></strong></p></td><td><p>Cambia el index del ID por una letra diferente del abecedario de la A a la Z, la nueva letra debe ser en mayúscula. Una vez modificado, para volver a cambiarlo es necesario colocar el ID con el nuevo index.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN30C+ID=H&#x3C;CR+LF></p></td><td></td></tr><tr><td><p><strong>XN30A+TW=</strong></p><p><strong>(1-126)&#x3C;CR+LF></strong></p></td><td><p>Cambia el address I2C que viene de fábrica por uno diferente. El nuevo address se escribe en decimal seleccionando un valor de 1 a 126.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN30A+TW=28&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN30A+G(1-2)&#x3C;CR+LF></strong></td><td><p>Obtiene el estado del canal de corriente 1 o 2. Retorna el valor en µA (microamperios).</p><p></p><p><strong>Respuesta:</strong> XN30A=VAL&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN30A+G2&#x3C;CR+LF> <br>       <strong>Ejemplo de respuesta:</strong> XN30A=4000&#x3C;CR+LF></p></td><td></td></tr></tbody></table>

### Comandos avanzados

<table data-header-hidden data-full-width="false"><thead><tr><th width="214"></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td><strong>XN30A+ETW=(0-1)&#x3C;CR+LF></strong></td><td><p>Habilita (1) o deshabilita (0) la interfaz I2C del dispositivo.</p><p></p><p><strong>Nota</strong>: Esta configuración es volátil, desconectar el dispositivo del suministro de energía o enviar el comando de reinicio restaurará la interfaz I2C.</p><p></p><p><strong>Respuesta</strong>: OK&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN30A+ETW=0&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN30A+RST&#x3C;CR+LF></strong></td><td><p>Reinicia el dispositivo, los valores no volátiles (ej. ID, address I2C) se conservarán y los valores volátiles volverán a su configuración por defecto.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN30A+A(1-2)&#x3C;CR+LF></strong></td><td><p>Obtiene el valor del I2C del canal de corriente 1 o 2, la resolución es de 12 bits (0-4095). Este valor es útil durante el proceso de calibración del dispositivo.</p><p></p><p><strong>Respuesta:</strong> XN30A=VAL&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN30A+A1&#x3C;CR+LF></p><p>       <strong>Ejemplo de respuesta:</strong> XN30A=4095&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN30A+C(1-2)=(ADC_H),(C_H),(ADC_L),(C_L)&#x3C;CR+LF></strong></td><td><p>Calibra el canal de corriente 1 o 2 (no volátil). <br>Los parámetros son:</p><ol><li>ADC_H: El valor del ADC cuando la corriente es igual a C_H.</li><li>C_H: El valor de corriente obtenido de un instrumento calibrado (en µA), este valor debe ser mayor a C_L.</li><li>ADC_L: El valor del ADC cuando la corriente es igual a C_L.</li><li>C_L: El valor de corriente obtenido de un instrumento calibrado (en µA), este valor debe ser menor a C_H.</li></ol><p>Consulte la sección de calibración del dispositivo para obtener más información.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF><br>       <strong>Ejemplo de envío:</strong> XN30A+C2=3500,20000,500,4000&#x3C;CR+LF></p><p><strong>*</strong>Calibra el canal 2, cuando la corriente es de 20 mA el valor del ADC es 3500, cuando la corriente es de 4 mA el valor del ADC es de 500.</p></td><td></td></tr></tbody></table>

## Protocolo I2C

Para poder establecer comunicación se debe conocer la dirección (address) del X-NODE, este se conforma por los dos últimos dígitos del modelo después de “XN”, el cual es necesario convertirlo a formato hexadecimal.

<figure><img src="/files/8uhiJsWdT1mUCmfF8u2u" alt="X-NODE XN01 MICROSIDE_02"><figcaption></figcaption></figure>

#### Configuración

* Velocidad de comunicación: 100 kHz
* Address: 7 bits

{% hint style="warning" %}
**Nota:** Verifica que no cuentes con otro dispositivo con la misma dirección (Address), si es así es necesario cambiarla.
{% endhint %}

### Canales del ADC y Canal de corriente

#### **Escritura:**

<figure><img src="/files/8Tw8u0mxEzWssWZVbbPO" alt="" width="563"><figcaption></figcaption></figure>

**Registros:**

* 0x01: ADC del canal 1
* 0x02: ADC del canal 2
* 0x03: Valor de corriente del canal 1
* 0x04: Valor de corriente del canal 2

#### **Lectura:**

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

***

### Calibración de los canales de corriente

#### Escritura:

<figure><img src="/files/8VDPeNJcu9TKYIYIEwRU" alt="" width="563"><figcaption></figcaption></figure>

**Registros:**

* 0x05: Canal 1
* 0x06: Canal 2

**Parámetros:**

1. ADC\_H: El valor del ADC cuando la corriente es igual a C\_H.
2. C\_H: El valor de corriente obtenido de un instrumento calibrado (en µA), este valor debe ser mayor a C\_L.
3. ADC\_L: El valor del ADC cuando la corriente es igual a C\_L.
4. C\_L: El valor de corriente obtenido de un instrumento calibrado (en µA), este valor debe ser menor a C\_H.

{% hint style="info" %}
Consulta la sección ***Calibración del dispositivo*** para obtener más información.
{% endhint %}

***

### Estado de la calibración del canal de corriente

#### Escritura:

<figure><img src="/files/8Tw8u0mxEzWssWZVbbPO" alt="" width="563"><figcaption></figcaption></figure>

**Registros:**

* 0x05: Estado de la calibración del canal de corriente 1
* 0x06: Estado de la calibración del canal de corriente 2

#### Lectura:

<figure><img src="/files/rLcbZWevorI4cNmNFIfK" alt="" width="563"><figcaption></figcaption></figure>

* 0x00: El canal se encuentra calibrado
* 0x01: El canal se encuentra en proceso de calibración
* 0x02:  El canal no se pudo calibrar debido a un error en los parámetros.

{% hint style="info" %}
Consulta la sección ***Calibración del dispositivo*** para obtener más información.
{% endhint %}

***

### Comandos avanzados

### Estado de la interfaz de comunicación I2C

#### Escritura:

<figure><img src="/files/1iMuI6u4i1EfUxofSmp9" alt="" width="563"><figcaption></figcaption></figure>

#### Lectura:

<figure><img src="/files/O5XBWEyaOS65eXZ0peTb" alt="" width="563"><figcaption></figcaption></figure>

* 0x01: La interfaz I2C funciona correctamente
* Cualquier otro valor: La interfaz I2C encontró un problema y ha dejado de funcionar.

***

### Versión del firmware

#### Escritura:

<figure><img src="/files/qXMe3SZHgF3Ts3fqqGmD" alt="" width="563"><figcaption></figcaption></figure>

#### Lectura:

<figure><img src="/files/crm7mnPEQ3g3LgGxXK5m" alt="" width="563"><figcaption></figcaption></figure>

Versión del firmware en formato: ***Versión Mayor . Versión Menor . Parche***

Ejemplo:  0x00.0x01.0x00 es la versión ***0.1.0.***

***

### Cambiar ID (protocolo UART)

#### Escritura:

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

***

### Leer ID (protocolo UART)

#### Escritura:

<figure><img src="/files/y2Y4zMfb1lmsXx9e3NNu" alt="" width="563"><figcaption></figcaption></figure>

#### Lectura:

<figure><img src="/files/foNanohqes1JzGiMWGBw" alt="" width="563"><figcaption></figcaption></figure>

***

### Cambiar dirección TW (protocolo I2C)

#### Escritura:

<figure><img src="/files/2mnECKEBpA67A83VCou3" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Nota: Para aplicar el cambio se requiere reiniciar el dispositivo.
{% endhint %}

***

### Habilitar/Deshabilitar la interfaz UART

#### Escritura:

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

{% hint style="danger" %}
**Nota:** Esta configuración es volátil, desconectar el dispositivo del suministro de energía o enviar el comando de reinicio restaurará la interfaz UART.
{% endhint %}

***

### Reiniciar el dispositivo

#### Escritura:

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

RS: Confirmar reinicio del dispositivo (0x01).

***

### Consultar modelo de X-NODE

#### Escritura:

<figure><img src="/files/W5D8PuUyJpgay30cA4Ro" alt="" width="563"><figcaption></figcaption></figure>

#### Lectura:

<figure><img src="/files/thPn4akmXloCHkne709E" alt="" width="563"><figcaption></figcaption></figure>

Modelo: 30 (0x1E).

***

### Calibración del dispositivo

Cada canal de medición de corriente puede calibrarse de manera independiente, este mecanismo permite corregir la desviación entre el **X-NODE 2 x 4-20mA** **Inputs** y un instrumento de medición calibrado.&#x20;

El proceso de calibración requiere de un dispositivo que pueda generar una referencia de corriente variable con un rango de 4 a 20 mA por lo menos, un instrumento de medición calibrado, un dispositivo que pueda enviar y recibir comandos a través del socket [**mikroBUS™**](https://www.mikroe.com/mikrobus) y el **X-NODE 2 x 4-20mA** **Inputs**.

El proceso de calibración es el siguiente:

1. Coloca el interruptor del **X-NODE 2 x 4-20mA** **Inputs** en la posición ***PAS*** si su referencia de corriente requiere alimentación o ***ACT*** si su referencia de corriente ya está alimentada.
2. Conecta el instrumento de medición en serie con el canal del **X-NODE 2 x 4-20mA** **Inputs** que se requiere calibrar, asegúrate que la polaridad sea la correcta.
3. Configura la referencia de corriente con una salida cercana a 20 mA.
4. Envía el comando para obtener el valor ADC del canal que se está calibrando en el **X-NODE 2 x 4-20mA** **Inputs**, guarda este valor junto al valor que arroja el instrumento de medición calibrado.
5. Configura la referencia de corriente con una salida cercana a 4 mA.
6. Repite el paso 4.
7. Convierte ambos valores arrojados por el instrumento de medición calibrado a µA.
8. Envía el comando de calibración conforme a los siguientes parámetros:\
   **A)** ADC\_H: el valor del ADC que arrojó el **X-NODE 2 x 4-20mA** **Inputs** cuando la referencia era cercana a 20 mA.\
   **B)** C\_H: el valor que arrojó el instrumento de medición calibrado en µA cuando la referencia era cercana a 20 mA.\
   **C)** ADC\_L: el valor del ADC que arrojó el **X-NODE 2 x 4-20mA** **Inputs** cuando la referencia era cercana a 4 mA.\
   **D)** C\_L: el valor que arrojó el instrumento de medición calibrado en µA cuando la referencia era cercana a 4 mA.
9. Configura la referencia de corriente con un valor entre 4 y 20 mA.
10. Envía el comando para obtener el valor de corriente del canal que se está calibrando. Compara el resultado contra el valor que arroja el instrumento de medición calibrado.
11. Si el resultado no es satisfactorio realiza nuevamente el procedimiento desde el paso 3.

{% hint style="success" %}
**Nota:** Para obtener mejores resultados, utiliza una fuente de corriente variable con bajo ruido eléctrico.
{% endhint %}

## **VI. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FdN6KKRWAlFaIIWER5LDL%2FESQUEM%C3%81TICO%20X-NODE%202%20x%204-20mA%20Inputs%20XN30.pdf?alt=media&#x26;token=45b86910-e1c0-417f-ae6a-13a719cee728">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FdN6KKRWAlFaIIWER5LDL%2FESQUEM%C3%81TICO%20X-NODE%202%20x%204-20mA%20Inputs%20XN30.pdf?alt=media&#x26;token=45b86910-e1c0-417f-ae6a-13a719cee728</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FzDBSIxidCCkgtLfxI9GZ%2FDIMENSIONES%20XN30%20-%202%20x%204-20mA%20Inputs.pdf?alt=media&#x26;token=dc8d0184-d79f-4b0a-947f-c5dbb90bb647">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FzDBSIxidCCkgtLfxI9GZ%2FDIMENSIONES%20XN30%20-%202%20x%204-20mA%20Inputs.pdf?alt=media&#x26;token=dc8d0184-d79f-4b0a-947f-c5dbb90bb647</a></td></tr></tbody></table>


# X-NODE / XN31 - 3 x Entradas Corriente AC

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

El **X-NODE 3 x AC Current** **Inputs** es un módulo diseñado para medir corriente AC en redes monofásicas, bifásicas o trifásicas a través de sensores no invasivos tipo gancho. Integra tres conectores jack TRS de 3.5 mm que facilita la conexión con los sensores de corriente. El uso de este X-NODE es de propósito general, ideal en líneas de producción, monitoreo de consumo eléctrico, sistemas de gestión de energía, diagnóstico de fallas, sistemas de carga, etc.

### **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. [**Modo de uso**](#v.-modo-de-uso)
   * [**Protocolo UART**](#protocolo-uart)
   * [**Protocolo I2C**](#protocolo-i2c)
6. [**Descargas**](#vi.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fum4JCE92VCv3Ary187Vs%2FESQUEM%C3%81TICO%20X-NODE%203%20x%20AC%20Current%20Inputs%20XN31.pdf?alt=media\&token=f4700ab4-b933-4f6d-9f6f-c5c46be6f597)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F6Ttfbl5tRQIp2dZ6dePK%2FDIMENSIONES%20XN31%20-%203%20x%20AC%20Current%20Inputs.pdf?alt=media\&token=18b00337-2cb5-4ef0-b59d-66bc8af09187)

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

El módulo **X-NODE 3 x AC Current** **Inputs** posee un controlador en hardware integrado con el cual es posible utilizar sensores para medición de corriente sin tener conocimientos avanzados de hardware, ya que solo es necesario enviar una serie de comandos en formato ASCII por medio del protocolo de comunicación serial UART o usando el protocolo I2C, esto permite que el X-NODE sea compatible con cualquier sistema basado en un microcontrolador, microprocesador o equipos industriales.

**X-NODE 3 x AC Current** **Inputs** 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**

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

1. Conectores jack TRS de 3.5 mm para sensores de corriente no invasivos
2. Conectores JST compatibles con [**Qwiic®**](https://www.sparkfun.com/qwiic)
3. Controlador en hardware
4. Puertos de comunicación UART <> I2C
5. Modelo de X-NODE
6. Tipo de X-NODE
7. Jumpers de configuración: 30 > 33 mA, 20 > 50mA, U > Usuario
8. Jumpers de configuración de fábrica
9. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
10. Versión de hardware: R1
11. Característica principal en el X-NODE

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="171"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Medición de corriente</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Integración en proyectos industriales y de IoT con uso de propósito general. Ideal en líneas de producción, monitoreo de consumo eléctrico, sistemas de gestión de energía, diagnóstico de fallas, sistemas de carga, etc.</td></tr><tr><td><strong>Características</strong></td><td>Conectores jack TRS de 3.5 mm para facilitar la conexión con sensores de corriente no invasivos tipo gancho. Operación de trabajo en un rango de temperatura de 0 hasta 80 °C.</td></tr><tr><td><strong>Interfaz</strong></td><td>UART, I2C</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a> y estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a> </td></tr><tr><td><strong>Tamaño</strong></td><td>65.89 x 27 x 20.5 mm</td></tr><tr><td><strong>Voltaje</strong> </td><td>3.3 V</td></tr></tbody></table>

## **IV. Pinout**

La siguiente tabla muestra el pinout del **X-NODE 3 x AC Current** **Inputs** con respecto al estándar  [**mikroBUS™**](https://www.mikroe.com/mikrobus) (este último se encuentra en las dos columnas del centro).

<figure><img src="/files/7HcICuWHn2fvqlwQJ7t9" alt=""><figcaption></figcaption></figure>

## **V. Modo de uso**

Para un uso fácil y rápido del X-NODE se puede hacer a través de los comandos en formato ASCII que proporciona el controlador en hardware integrado mediante una comunicación serial UART o de forma más avanzada a través del protocolo I2C.

## Protocolo UART

Para poder establecer comunicación con el X-NODE se debe conocer el **ID**, éste se conforma por el **modelo** que se localiza en el punto 5 del apartado “Descripción de hardware”, con la clave “XN31” y se complementa con un **index** que por defecto es la letra “A“, siendo posible configurarlo hasta la letra Z del abecedario, brindando la posibilidad de conectar hasta 10 módulos del mismo tipo.

<figure><img src="/files/xpX5HoMUiRYtRTpnuTKv" alt="XN04_X-NODE"><figcaption></figcaption></figure>

#### Configuración

* Velocidad de comunicación: 115,200 bps
* Paridad: Ninguna
* Bits de datos: 8
* Bits de paro: 1

### Lista de comandos

<table data-header-hidden data-full-width="false"><thead><tr><th width="214"></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td><strong>XN31A?&#x3C;CR+LF></strong></td><td><p>Verifica si se estableció una comunicación con éxito.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN31A+V&#x3C;CR+LF></strong></td><td><p>Obtiene la versión del firmware actual que integra el X-NODE.</p><p></p><p><strong>Respuesta:</strong> XN31A=Versión&#x3C;CR+LF></p><p>        <strong>Ejemplo:</strong> XN31A=0.1.0&#x3C;CR+LF></p></td><td></td></tr><tr><td><p><strong>XN31A+ID=</strong></p><p><strong>(A-Z)&#x3C;CR+LF></strong></p></td><td><p>Cambia el index del ID por una letra diferente del abecedario de la A a la Z, la nueva letra debe ser en mayúscula. Una vez modificado, para volver a cambiarlo es necesario colocar el ID con el nuevo index.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN31C+ID=H&#x3C;CR+LF></p></td><td></td></tr><tr><td><p><strong>XN31A+TW=</strong></p><p><strong>(1-126)&#x3C;CR+LF></strong></p></td><td><p>Cambia el address I2C que viene de fábrica por uno diferente. El nuevo address se escribe en decimal seleccionando un valor de 1 a 126.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN31A+TW=24&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN31A+G(1-3)&#x3C;CR+LF></strong></td><td><p>Obtiene el estado del canal de corriente 1, 2 o 3. Retorna el valor en mA (miliamperios).</p><p></p><p><strong>Respuesta:</strong> XN31A=VAL&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN31A+G3&#x3C;CR+LF> <br>       <strong>Ejemplo de respuesta:</strong> XN31A=1200&#x3C;CR+LF></p></td><td></td></tr></tbody></table>

### Comandos avanzados

<table data-header-hidden data-full-width="false"><thead><tr><th width="214"></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td><strong>XN31A+ETW=(0-1)&#x3C;CR+LF></strong></td><td><p>Habilita (1) o deshabilita (0) la interfaz I2C del dispositivo.</p><p></p><p><strong>Nota</strong>: Esta configuración es volátil, desconectar el dispositivo del suministro de energía o enviar el comando de reinicio restaurará la interfaz I2C.</p><p></p><p><strong>Respuesta</strong>: OK&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN31A+ETW=0&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN31A+RST&#x3C;CR+LF></strong></td><td><p>Reinicia el dispositivo, los valores no volátiles (ej. ID, address I2C) se conservarán y los valores volátiles volverán a su configuración por defecto.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN31A+A(1-3)&#x3C;CR+LF></strong></td><td><p>Obtiene el valor del I2C del canal de corriente 1, 2 o 3, la resolución es de 12 bits (0-4095). Este valor es útil durante el proceso de calibración del dispositivo.</p><p></p><p><strong>Respuesta:</strong> XN31A=VAL&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN31A+A3&#x3C;CR+LF></p><p>       <strong>Ejemplo de respuesta:</strong> XN31A=4095&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN31A+C(1-3)=(P_C),(S_CV),[(B_R)] &#x3C;CR+LF></strong></td><td><p>Calibra el canal de corriente 1, 2 o 3 (no volátil). <br>Los parámetros son:</p><ol><li>P_C: Valor de corriente primaria, debe ser el rango de medición del sensor en A.</li><li>S_CV: Valor secundario en mA para los sensores de salida de corriente o en mV para los sensores de salida de voltaje.</li><li>B_R: Valor de la resistencia Burden en Ohms, se debe omitir este parámetro en los sensores de salida de voltaje.</li></ol><p>Consulte la sección de calibración del dispositivo para obtener más información.<br><br><strong>IMPORTANTE:</strong> El X-NODE XN31 está diseñado para utilizarse con señales de <strong>1V</strong>, se debe considerar este valor al seleccionar el valor de la resistencia Burden o el valor de salida de voltaje.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF><br>       <strong>Ejemplo de envío:</strong> XN31A+C2=30,1000&#x3C;CR+LF></p><p><strong>*</strong>Calibra el canal 2 cuando la corriente primaria (rango de medición del sensor) es de 30A y el sensor genera una salida de 1V.<br>       <strong>Ejemplo de envío:</strong> XN31A+C1=30,50,20&#x3C;CR+LF><br><strong>*</strong>Calibra el canal 1 cuando la corriente primaria (rango de medición del sensor) es de 30A, el sensor genera una salida de 50 mA y la resistencia Burden es de 20 Ohms.</p></td><td></td></tr></tbody></table>

## Protocolo I2C

Para poder establecer comunicación se debe conocer la dirección (address) del X-NODE, este se conforma por los dos últimos dígitos del modelo después de “XN”, el cual es necesario convertirlo a formato hexadecimal.

<figure><img src="/files/nNHF3SFwTgRj6ubLTxM4" alt="X-NODE XN01 MICROSIDE_02"><figcaption></figcaption></figure>

#### Configuración

* Velocidad de comunicación: 100 kHz
* Address: 7 bits

{% hint style="warning" %}
**Nota:** Verifica que no cuentes con otro dispositivo con la misma dirección (Address), si es así es necesario cambiarla.
{% endhint %}

### Canales del ADC

#### **Escritura:**

<figure><img src="/files/E7cnipB09HkNtG085qcq" alt="" width="563"><figcaption></figcaption></figure>

**Registros:**

* 0x01: ADC del canal 1
* 0x02: ADC del canal 2
* 0x03: ADC del canal 3

#### **Lectura:**

<figure><img src="/files/9u1renXqtPF90rb4EJGE" alt=""><figcaption></figcaption></figure>

***

### Canales de corriente

#### **Escritura:**

<figure><img src="/files/iZqmleueLnxPNk0GWHtz" alt="" width="563"><figcaption></figcaption></figure>

**Registros:**

* 0x04: Valor de corriente del canal 1
* 0x05: Valor de corriente del canal 2
* 0x06: Valor de corriente del canal 3

#### **Lectura:**

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

***

### Calibración de los canales de corriente

#### Escritura:

<figure><img src="/files/IHOTYjPJa29lXi2Yz42F" alt="" width="563"><figcaption></figcaption></figure>

**Registros:**

* 0x07: Canal 1
* 0x08: Canal 2
* 0x09: Canal 3

**Parámetros:**

1. P\_C: Valor de corriente primaria, debe ser el rango de medición del sensor en A.
2. S\_CV: Valor secundario en mA para los sensores de salida de corriente o en mV para los sensores de salida de voltaje.
3. B\_R: Valor de la resistencia Burden en Ohms, se debe omitir este parámetro en los sensores de salida de voltaje.

{% hint style="warning" %}
Omite el parámetro B\_R cuando se utilice un sensor con salida de voltaje.
{% endhint %}

{% hint style="info" %}
Consulta la sección ***Calibración del dispositivo*** para obtener más información.
{% endhint %}

{% hint style="danger" %}
**IMPORTANTE:** El **X-NODE 3 x AC Current** **Inputs** está diseñado para utilizarse con señales de **1V**, se debe considerar este valor al seleccionar el valor de la resistencia Burden o el valor de salida de voltaje.
{% endhint %}

***

### Estado de la calibración del canal de corriente

#### Escritura:

<figure><img src="/files/UGXIo8A92F1F5nU2OpcR" alt="" width="563"><figcaption></figcaption></figure>

**Registros:**

* 0x07: Estado de la calibración del canal de corriente 1
* 0x08: Estado de la calibración del canal de corriente 2
* 0x09: Estado de la calibración del canal de corriente 3

#### Lectura:

<figure><img src="/files/ANRhGVBwgBeRMdLKX1aJ" alt="" width="563"><figcaption></figcaption></figure>

* 0x00: El canal se encuentra calibrado
* 0x01: El canal se encuentra en proceso de calibración
* 0x02: El canal no se pudo calibrar debido a un error en los parámetros

{% hint style="info" %}
Consulta la sección ***Calibración del dispositivo*** para obtener más información.
{% endhint %}

***

### Comandos avanzados

### Estado de la interfaz de comunicación I2C

#### Escritura:

<figure><img src="/files/9DQq8MYlNIUUjj2zCzyO" alt="" width="563"><figcaption></figcaption></figure>

#### Lectura:

<figure><img src="/files/gNY43moaIVz5RMbTz9st" alt="" width="563"><figcaption></figcaption></figure>

* 0x01: La interfaz I2C funciona correctamente
* Cualquier otro valor: La interfaz I2C encontró un problema y ha dejado de funcionar.

***

### Versión del firmware

#### Escritura:

<figure><img src="/files/Vo6EoQS1vB5ViiLUn91b" alt="" width="563"><figcaption></figcaption></figure>

#### Lectura:

<figure><img src="/files/O6nELOv7xW7ssgM7Tdik" alt="" width="563"><figcaption></figcaption></figure>

Versión del firmware en formato: ***Versión Mayor . Versión Menor . Parche***

Ejemplo:  0x00.0x01.0x00 es la versión ***0.1.0.***

***

### Cambiar ID (protocolo UART)

#### Escritura:

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

***

### Leer ID (protocolo UART)

#### Escritura:

<figure><img src="/files/s91Im9pVg0dUtCafdtM5" alt="" width="563"><figcaption></figcaption></figure>

#### Lectura:

<figure><img src="/files/nJXoEYSSpYwViYfzwC20" alt="" width="563"><figcaption></figcaption></figure>

***

### Cambiar dirección TW (protocolo I2C)

#### Escritura:

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

{% hint style="warning" %}
**Nota:** Para aplicar el cambio se requiere reiniciar el dispositivo.
{% endhint %}

***

### Habilitar/Deshabilitar la interfaz UART

#### Escritura:

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

{% hint style="danger" %}
**Nota:** Esta configuración es volátil, desconectar el dispositivo del suministro de energía o enviar el comando de reinicio restaurará la interfaz UART.
{% endhint %}

***

### Reiniciar el dispositivo

#### Escritura:

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

**RS:** Confirmar reinicio del dispositivo (0x01).

***

### Consultar modelo de X-NODE

#### Escritura:

<figure><img src="/files/z7Qe9Vl7VKfzTxYMLv4x" alt="" width="563"><figcaption></figcaption></figure>

#### Lectura:

<figure><img src="/files/FielK5BDCne4Ldanf3fN" alt="" width="563"><figcaption></figcaption></figure>

**Modelo:** 31 (0x1F).

***

### Calibración del dispositivo

Cada canal de medición de corriente puede calibrarse de manera independiente, este mecanismo permite corregir la desviación entre el **X-NODE 3 x AC Current** **Inputs**, el sensor de corriente tipo gancho y un instrumento de medición calibrado.&#x20;

El proceso de calibración requiere una fase aislada de corriente AC activa, un instrumento de medición de corriente no invasivo calibrado, un dispositivo que pueda enviar y recibir comandos a través del socket [**mikroBUS™**](https://www.mikroe.com/mikrobus) y el **X-NODE 3 x AC Current** **Inputs**.

El proceso de calibración es el siguiente:

1. Configura los jumpers soldables del **X-NODE 3 x AC Current** **Inputs** de acuerdo con el sensor de corriente tipo gancho a utilizar, si utilizas un sensor con salida de voltaje asegúrate que ninguno de los jumpers esté soldado (por defecto). Si se va a utilizar un sensor de corriente tipo gancho de 50 mA o 33 mA puedes utilizar los jumpers, de lo contrario deberás proveer una resistencia Burden, consulta la sección descripción del hardware para obtener más información.

**Nota:** Al seleccionar una resistencia Burden, donde la salida de voltaje debe ser de 1V, utiliza la siguiente formula:

$$
R\_B=1/C\_S
$$

Donde ***Rb*** es el valor en Ohms de la resistencia Burden, ***Cs*** es el valor de corriente del secundario (la salida de corriente del sensor) expresada en Amperes, por ejemplo: Si el sensor tiene una salida de 50 mA, entonces la resistencia Burden debe ser de 20 Ohms.

2. Conecta el sensor de corriente tipo gancho en el canal interesado en calibrar.
3. Abre el gancho del sensor y colócalo alrededor del conductor de la fase aislada de corriente AC activa.
4. Coloca el instrumento de medición alrededor del conductor de la fase aislada de corriente AC activa.
5. Envía el comando para obtener el valor de corriente al **X-NODE 3 x AC Current** **Inputs**. Compara los valores contra el instrumento de medición, considera que el **X-NODE 3 x AC Current** **Inputs** regresa valores en mA, realiza la corrección apropiada.
6. Si los valores son correctos el **X-NODE 3 x AC Current** **Inputs** está calibrado, de lo contrario contina con el siguiente paso.
7. Consulta la información del sensor de corriente tipo gancho y la resistencia de carga que se seleccionó (solo aplica en sensores cuya salida es de corriente).
8. Envía el comando de calibración conforme a los siguientes parámetros:\
   **A)** P\_C: Valor de corriente primaria, debe ser el rango de medición del sensor en A.\
   **B)** S\_CV: Valor secundario en mA para los sensores de salida de corriente o en mV para los sensores de salida de voltaje.\
   **C)** B\_R: Valor de la resistencia Burden en Ohms, se debe omitir este parámetro en los sensores de salida de voltaje.
9. Repite el paso 5.
10. Si los valores son correctos el **X-NODE 3 x AC Current** **Inputs** está calibrado, de lo contrario evalúa el error, si la medición es mayor contra el instrumento de medición, incrementa el valor P\_C, S\_CV o B\_R, si es menor disminuye el valor de P\_C, S\_CV o B\_R y regresa al paso 8. Cada componente del sistema tiene una desviación del valor nominal, lo que ocasiona el error en las mediciones, ajusta los valores hasta obtener un resultado satisfactorio.

{% hint style="warning" %}
**Nota**: Considera que sensores de mayor rango de corriente pueden tener errores más grandes, por ejemplo, un sensor de corriente tipo gancho de 200 A puede tener errores de hasta +/-0.6A, mientras que uno de 20 A suele tener errores de hasta +/-0.06ª.
{% endhint %}

## **VI. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fum4JCE92VCv3Ary187Vs%2FESQUEM%C3%81TICO%20X-NODE%203%20x%20AC%20Current%20Inputs%20XN31.pdf?alt=media&#x26;token=f4700ab4-b933-4f6d-9f6f-c5c46be6f597">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fum4JCE92VCv3Ary187Vs%2FESQUEM%C3%81TICO%20X-NODE%203%20x%20AC%20Current%20Inputs%20XN31.pdf?alt=media&#x26;token=f4700ab4-b933-4f6d-9f6f-c5c46be6f597</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F6Ttfbl5tRQIp2dZ6dePK%2FDIMENSIONES%20XN31%20-%203%20x%20AC%20Current%20Inputs.pdf?alt=media&#x26;token=18b00337-2cb5-4ef0-b59d-66bc8af09187">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F6Ttfbl5tRQIp2dZ6dePK%2FDIMENSIONES%20XN31%20-%203%20x%20AC%20Current%20Inputs.pdf?alt=media&#x26;token=18b00337-2cb5-4ef0-b59d-66bc8af09187</a></td></tr></tbody></table>


# X-BOARDs

* [X-BOARD / XB01 - IoTrainer](/plataforma-xide-iot/x-boards/x-board-xb01-iotrainer)
* [X-BOARD / XB02 - Arduino Nano 33](/plataforma-xide-iot/x-boards/x-board-xb02-arduino-nano-33)
* [X-BOARD / XB03 - Raspberry Pi Pico](/plataforma-xide-iot/x-boards/x-board-xb03-raspberry-pi-pico)
* [X-BOARD / XB04 - Raspberry Pi](/plataforma-xide-iot/x-boards/x-board-xb04-raspberry-pi)
* [X-BOARD / XB05 - Curiosity Nano](/plataforma-xide-iot/x-boards/x-board-xb05-curiosity-nano)
* [X-BOARD / XB06 - Arduino MKR](/plataforma-xide-iot/x-boards/x-board-xb06-arduino-mkr)
* [X-BOARD / XB07 - ToSix](/plataforma-xide-iot/x-boards/x-board-xb07-tosix)
* [X-BOARD / XB08 - Thing Plus](/plataforma-xide-iot/x-boards/x-board-xb08-thing-plus)
* [X-BOARD / XB09 - Click to Qwiic](/plataforma-xide-iot/x-boards/x-board-xb09-click-to-qwiic)
* [X-BOARD / XB10 - Feather](/plataforma-xide-iot/x-boards/x-board-xb10-feather)
* [X-BOARD / XB15 - XIAO](/plataforma-xide-iot/x-boards/x-board-xb15-xiao)

## **Industriales**

* [X-BOARD / XBI01 - IIoTrainer](/plataforma-xide-iot/x-boards/x-board-xbi01-iiotrainer)
* [X-BOARD / XBI06 - Arduino MKR IIoT](/plataforma-xide-iot/x-boards/x-board-xbi06-arduino-mkr-iiot)
* [IoT Traffic - Tarjeta Controladora de Semáforos](/plataforma-xide-iot/x-boards/iot-traffic-tarjeta-controladora-de-semaforos)


# X-BOARD / XB01 - IoTrainer

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/x-board-iotrainer-34">https://www.microside.com/shop/x-board-iotrainer-34</a></td></tr></tbody></table>

**X-BOARD IoTrainer** es una tarjeta de expansión diseñada principalmente para evaluar de forma rápida sensores, actuadores o módulos de comunicación integrados en los **X-NODE** y [**Click Boards™**](https://www.mikroe.com/click-boards). Es ideal para el desarrollo de prototipos y proyectos electrónicos donde se requiera una integración sencilla, tamaño compacto y compatibilidad con herramientas de desarrollo con los estándares [**mikroBUS™**](https://www.mikroe.com/mikrobus) y [**Qwiic®**](https://www.sparkfun.com/qwiic). Cuenta con dos conectores JST, cinco zócalos de conexión [**mikroBUS™**](https://www.mikroe.com/mikrobus) y un header hembra con acceso a los pines de cada zócalo.

### **TABLA DE CONTENIDO**

1. [**¿Cómo funciona?**](#i.-como-funciona)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
3. [**Especificaciones**](#iii.-especificaciones)
4. [**Descargas**](#iv.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FUYRKHfeHVbX4lmv3VLdx%2FSCHEMATIC%20XB01%20-%20IoTrainer.pdf?alt=media\&token=03a27f55-0a98-42f5-9d9e-18b732756ef9)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FLdO84TeevJPYr6vVq9OY%2FDIMENSIONS%20XB01%20-%20IoTrainer.pdf?alt=media\&token=6354f91e-8d7a-4af4-907a-fe84e0e2d89d)

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

**X-BOARD IoTrainer** brinda una comunicación entre módulos **X-NODE,** [**Click Boards™**](https://www.mikroe.com/click-boards) y diversas herramientas de desarrollo que poseen el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) con solo insertarlos en los zócalos de la tarjeta. Posee dos conectores JST para un uso con módulos compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic), teniendo en cuenta que el nivel lógico de voltaje es a 3.3 V. Por último, se integra un header hembra para disponer de los pines de cada zócalo, de esta forma se puede acceder a señales de forma no invasiva o utilizar un analizador lógico en diversas pruebas de funcionamiento.

La tarjeta **X-BOARD IoTrainer** es compatible con el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) de [**Mikroe®**](https://www.mikroe.com/) y 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 de manera rápida y sencilla.

## **II. Descripción del hardware**

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

1. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
2. Conectores JST compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic)
3. Header hembra de fácil acceso a los pines de cada conector [**mikroBUS™**](https://www.mikroe.com/mikrobus)
4. Modelo de X-BOARD
5. Versión del hardware: R1

## **III. Especificaciones**

<table data-header-hidden data-full-width="false"><thead><tr><th width="171"></th><th></th></tr></thead><tbody><tr><td><strong>Modelo</strong></td><td>IoTrainer</td></tr><tr><td><strong>Módulos compatibles</strong></td><td>X-NODEs y <a href="https://www.mikroe.com/click-boards">Click Boards™</a></td></tr><tr><td><strong>Estándares compatibles</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a>  y estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a> </td></tr><tr><td><strong>Características</strong></td><td>Cinco zócalos de conexión con estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a>, dos conectores JST compatibles con el estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a> y un header hembra de 40 pines para disposición de los pines de cada zócalo.</td></tr><tr><td><strong>Tamaño</strong></td><td>102.11 x 71.63 x 14 mm</td></tr><tr><td><strong>Voltaje</strong> </td><td>3.3 V</td></tr></tbody></table>

## **IV. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FUYRKHfeHVbX4lmv3VLdx%2FSCHEMATIC%20XB01%20-%20IoTrainer.pdf?alt=media&#x26;token=03a27f55-0a98-42f5-9d9e-18b732756ef9">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FUYRKHfeHVbX4lmv3VLdx%2FSCHEMATIC%20XB01%20-%20IoTrainer.pdf?alt=media&#x26;token=03a27f55-0a98-42f5-9d9e-18b732756ef9</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FLdO84TeevJPYr6vVq9OY%2FDIMENSIONS%20XB01%20-%20IoTrainer.pdf?alt=media&#x26;token=6354f91e-8d7a-4af4-907a-fe84e0e2d89d">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FLdO84TeevJPYr6vVq9OY%2FDIMENSIONS%20XB01%20-%20IoTrainer.pdf?alt=media&#x26;token=6354f91e-8d7a-4af4-907a-fe84e0e2d89d</a></td></tr></tbody></table>


# X-BOARD / XB02 - Arduino Nano 33

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/x-board-arduino-nano-33-104">https://www.microside.com/shop/x-board-arduino-nano-33-104</a></td></tr></tbody></table>

**X-BOARD Arduino Nano 33** es una tarjeta de expansión diseñada para brindar compatibilidad entre las tarjetas [Arduino®](https://www.arduino.cc/) Nano 33 y los módulos **X-NODE** o [Click Boards™](https://www.mikroe.com/click-boards), logrando una evaluación de forma rápida en sensores, actuadores o módulos de comunicación. Es ideal para el desarrollo de prototipos y proyectos electrónicos donde se requiera una integración sencilla, tamaño compacto y compatibilidad con herramientas de desarrollo con los estándares [**mikroBUS™**](https://www.mikroe.com/mikrobus) y [**Qwiic®**](https://www.sparkfun.com/qwiic). Cuenta con un zócalo de conexión para tarjetas [Arduino®](https://www.arduino.cc/) Nano 33, dos conectores JST, tres zócalos de conexión [**mikroBUS™**](https://www.mikroe.com/mikrobus) y un header hembra con acceso a los pines de cada zócalo.

### **TABLA DE CONTENIDO**

1. [**¿Cómo funciona?**](#i.-como-funciona)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
3. [**Especificaciones**](#iii.-especificaciones)
4. [**Descargas**](#iv.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F1G2w3oMrn2UWAOIqNHLh%2FSCHEMATIC%20X-BOARD%20ARDUINO%20NANO%2033.pdf?alt=media\&token=cf340a59-80b2-4123-b1ef-b99afbb38372)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FcQsvhncgcXdtNZZkaJGm%2FDIMENSIONS%20X-BOARD%20Arduino%20Nano%2033.pdf?alt=media\&token=672314fe-37fa-4c29-bf96-74461230e358)

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

**X-BOARD Arduino Nano 33** brinda una comunicación entre tarjetas Arduino® Nano 33 con módulos **X-NODE,** [**Click Boards™**](https://www.mikroe.com/click-boards) y diversas herramientas de desarrollo que posean el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) con solo insertarlos en los zócalos correspondientes de la tarjeta. Posee dos conectores JST para un uso con módulos compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic), teniendo en cuenta que el nivel lógico de voltaje es a 3.3 V. Por último, se integra un header hembra para disponer de los pines de cada zócalo, de esta forma se puede acceder a señales de forma no invasiva o utilizar un analizador lógico en diversas pruebas de funcionamiento.

La tarjeta **X-BOARD Arduino Nano 33** es compatible con las tarjetas Arduino® Nano 33, el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) de [**Mikroe®**](https://www.mikroe.com/) y 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 de manera rápida y sencilla.

## **II. Descripción del hardware**

<figure><img src="/files/5YdvT80a1KfQEIuFoi0f" alt=""><figcaption></figcaption></figure>

1. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
2. Conectores JST compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic)
3. Header hembra de fácil acceso a los pines de cada conector [**mikroBUS™**](https://www.mikroe.com/mikrobus)
4. Modelo de X-BOARD
5. Conector compatible con tarjetas Arduino® Nano 33
6. Versión de hardware: R1

## **III. Especificaciones**

| Modelo                 | Arduino Nano 33                                                                                                                                                                                                                                                                                           |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Módulos compatibles    | Tarjetas Arduino® Nano 33, X-NODEs y [Click Boards™](https://www.mikroe.com/click-boards)                                                                                                                                                                                                                 |
| Estándares compatibles | Estándar [mikroBUS™](https://www.mikroe.com/mikrobus) y estándar [Qwiic®](https://www.sparkfun.com/qwiic)                                                                                                                                                                                                 |
| Características        | Un zócalo compatible con tarjetas Arduino® Nano 33, tres zócalos de conexión con estándar [mikroBUS™](https://www.mikroe.com/mikrobus), dos conectores JST compatibles con estándar [Qwiic®](https://www.sparkfun.com/qwiic) y un header hembra de 40 pines para disposición de los pines de cada zócalo. |
| Tamaño                 | 102.11 x 71.63 x 14 mm                                                                                                                                                                                                                                                                                    |
| Voltaje                | 3.3 V                                                                                                                                                                                                                                                                                                     |

## **IV. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F1G2w3oMrn2UWAOIqNHLh%2FSCHEMATIC%20X-BOARD%20ARDUINO%20NANO%2033.pdf?alt=media&#x26;token=cf340a59-80b2-4123-b1ef-b99afbb38372">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F1G2w3oMrn2UWAOIqNHLh%2FSCHEMATIC%20X-BOARD%20ARDUINO%20NANO%2033.pdf?alt=media&#x26;token=cf340a59-80b2-4123-b1ef-b99afbb38372</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FcQsvhncgcXdtNZZkaJGm%2FDIMENSIONS%20X-BOARD%20Arduino%20Nano%2033.pdf?alt=media&#x26;token=672314fe-37fa-4c29-bf96-74461230e358">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FcQsvhncgcXdtNZZkaJGm%2FDIMENSIONS%20X-BOARD%20Arduino%20Nano%2033.pdf?alt=media&#x26;token=672314fe-37fa-4c29-bf96-74461230e358</a></td></tr></tbody></table>


# X-BOARD / XB03 - Raspberry Pi Pico

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark> </td><td><a href="https://www.microside.com/shop/x-board-raspberry-pi-pico-105">https://www.microside.com/shop/x-board-raspberry-pi-pico-105</a></td></tr></tbody></table>

**X-BOARD Raspberry Pi Pico** es una tarjeta de expansión diseñada para brindar compatibilidad entre las tarjetas [Raspberry Pi® Pico,](https://www.raspberrypi.com/products/raspberry-pi-pico/) Pico H y Pico W con los módulos **X-NODE** o [Click Boards™](https://www.mikroe.com/click-boards), logrando una evaluación de forma rápida en sensores, actuadores o módulos de comunicación. Es ideal para el desarrollo de prototipos y proyectos electrónicos donde se requiera una integración sencilla, tamaño compacto y compatibilidad con herramientas de desarrollo con los estándares [**mikroBUS™**](https://www.mikroe.com/mikrobus)  y  [**Qwiic®**](https://www.sparkfun.com/qwiic). Cuenta con un zócalo de conexión para tarjetas [Raspberry Pi® Pico](https://www.raspberrypi.com/products/raspberry-pi-pico/), dos conectores JST, tres zócalos de conexión [**mikroBUS™**](https://www.mikroe.com/mikrobus) y un header hembra con acceso a los pines de cada zócalo.

### **TABLA DE CONTENIDO**

1. [**¿Cómo funciona?**](#i.-como-funciona)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
3. [**Especificaciones**](#iii.-especificaciones)
4. [**Descargas**](#iv.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FNZzRU6zuts6dwj6LNTdU%2FSCHEMATIC%20X-BOARD%20Raspberry%20Pi%20Pico.pdf?alt=media\&token=ec58dbd9-3a9c-4012-996b-d524b1ed1859)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F2DtJ215CtIbpwBzPKYzo%2FDIMENSIONS%20X-BOARD%20Raspberry%20Pi%20Pico.pdf?alt=media\&token=f6052ff5-520e-4270-9ffa-4ef386b9caa7)

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

**X-BOARD Raspberry Pi Pico** brinda una comunicación entre tarjetas Raspberry Pi® Pico con módulos **X-NODE**, [**Click Boards™**](https://www.mikroe.com/click-boards) y diversas herramientas de desarrollo que posean el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) con solo insertarlos en los zócalos correspondientes de la tarjeta. Posee dos conectores JST para un uso con módulos compatibles con el estándar [**Qwiic®,**](https://www.sparkfun.com/qwiic) teniendo en cuenta que el nivel lógico de voltaje es a 3.3 V. Por último, se integra un header hembra para disponer de los pines de cada zócalo, de esta forma se puede acceder a señales de forma no invasiva o utilizar un analizador lógico en diversas pruebas de funcionamiento.

La tarjeta **X-BOARD Raspberry Pi Pico** es compatible con las tarjetas Raspberry Pi® Pico (Pico, Pico H y Pico W), el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) de [**Mikroe®**](https://www.mikroe.com/) y 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 de manera rápida y sencilla.

## **II. Descripción del hardware**

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

1. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
2. Conectores JST compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic)
3. Header hembra de fácil acceso a los pines de cada conector [**mikroBUS™**](https://www.mikroe.com/mikrobus)
4. Push button RESET
5. Modelo de X-BOARD
6. Conector compatible con tarjetas Raspberry Pi® Pico, Pico H y Pico W
7. Versión del hardware: R1

## **III. Especificaciones**

|                        |                                                                                                                                                                                                                                                                                                             |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Modelo                 | Raspberry Pi Pico                                                                                                                                                                                                                                                                                           |
| Módulos compatibles    | Raspberry Pi® Pico (Pico, Pico H y Pico W), X-NODEs y [Click Boards™](https://www.mikroe.com/click-boards)                                                                                                                                                                                                  |
| Estándares compatibles | Estándar [mikroBUS™](https://www.mikroe.com/mikrobus) y estándar [Qwiic®](https://www.sparkfun.com/qwiic)                                                                                                                                                                                                   |
| Características        | Un zócalo compatible con tarjetas Raspberry Pi® Pico, tres zócalos de conexión con estándar [mikroBUS™](https://www.mikroe.com/mikrobus), dos conectores JST compatibles con estándar [Qwiic®](https://www.sparkfun.com/qwiic) y un header hembra de 40 pines para disposición de los pines de cada zócalo. |
| Tamaño                 | 102.11 x 71.63 x 14 mm                                                                                                                                                                                                                                                                                      |
| Voltaje                | 3.3 V                                                                                                                                                                                                                                                                                                       |

## **IV. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FNZzRU6zuts6dwj6LNTdU%2FSCHEMATIC%20X-BOARD%20Raspberry%20Pi%20Pico.pdf?alt=media&#x26;token=ec58dbd9-3a9c-4012-996b-d524b1ed1859">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FNZzRU6zuts6dwj6LNTdU%2FSCHEMATIC%20X-BOARD%20Raspberry%20Pi%20Pico.pdf?alt=media&#x26;token=ec58dbd9-3a9c-4012-996b-d524b1ed1859</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F2DtJ215CtIbpwBzPKYzo%2FDIMENSIONS%20X-BOARD%20Raspberry%20Pi%20Pico.pdf?alt=media&#x26;token=f6052ff5-520e-4270-9ffa-4ef386b9caa7">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F2DtJ215CtIbpwBzPKYzo%2FDIMENSIONS%20X-BOARD%20Raspberry%20Pi%20Pico.pdf?alt=media&#x26;token=f6052ff5-520e-4270-9ffa-4ef386b9caa7</a></td></tr></tbody></table>


# X-BOARD / XB04 - Raspberry Pi

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark> </td><td><a href="https://www.microside.com/shop/x-board-raspberry-pi-106">https://www.microside.com/shop/x-board-raspberry-pi-106</a></td></tr></tbody></table>

**X-BOARD Raspberry Pi** es una tarjeta de expansión diseñada principalmente para evaluar de forma rápida sensores, actuadores o módulos de comunicación integrados en los **X-NODE** o [Click Boards™](https://www.mikroe.com/click-boards) en conjunto de tarjetas [Raspberry Pi®](https://www.raspberrypi.com/products/) (modelos 4B, 3B+, Zero, Zero W y Zero 2 W). Es ideal para el desarrollo de prototipos y proyectos electrónicos donde se requiera una integración sencilla, tamaño compacto y compatibilidad con herramientas de desarrollo con los estándares [**mikroBUS™**](https://www.mikroe.com/mikrobus)  y [**Qwiic®**](https://www.sparkfun.com/qwiic). Cuenta con un zócalo de conexión para tarjetas [Raspberry Pi®](https://www.raspberrypi.com/products/), tres zócalos de conexión con estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) y un header hembra con el acceso a todos los pines de la tarjeta [Raspberry Pi®](https://www.raspberrypi.com/products/).

### **TABLA DE CONTENIDO**

1. [**¿Cómo funciona**](#i.-como-funciona)[**?**](#i.-como-funciona)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
3. [**Especificaciones**](#iii.-especificaciones)
4. [**Descargas**](#iv.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FiKjmGMGON43VGrZRG0RQ%2FSCHEMATIC%20X-BOARD%20Raspberry%20Pi.pdf?alt=media\&token=ba44ed74-8dd7-49de-8565-74c2c8c8e6b6)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FEoHoV2CCMffWrtLDUvPq%2FDIMENSIONS%20X-BOARD%20Raspberry%20Pi.pdf?alt=media\&token=9565ae35-d3d9-4028-8f6c-be51b7e90a1d)

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

**X-BOARD Raspberry Pi** brinda una comunicación entre Raspberry Pi® con módulos **X-NODE**, [**Click Boards™**](https://www.mikroe.com/click-boards) y diversas herramientas de desarrollo que posean el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) con solo insertarlos en los zócalos de la tarjeta. Posee dos conectores JST para un uso con módulos compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic), teniendo en cuenta que el nivel lógico de voltaje es a 3.3 V. Por último, se integra un header hembra para disponer de los pines de cada zócalo, de esta forma se puede acceder a señales de forma no invasiva o utilizar un analizador lógico en diversas pruebas de funcionamiento.

La tarjeta **X-BOARD Raspberry Pi** es compatible con las tarjetas Raspberry Pi® (modelos 4B, 3B+, Zero, Zero W y Zero 2 W), el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) de [**Mikroe®**](https://www.mikroe.com/) y 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 de manera rápida y sencilla.

## **II. Descripción del hardware**

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

1. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
2. Conectores JST compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic)
3. Header hembra de fácil acceso a los pines de cada conector [**mikroBUS™**](https://www.mikroe.com/mikrobus)
4. Modelo de X-BOARD
5. Conector compatible con tarjetas Raspberry Pi®
6. Versión de hardware: R1

## **III. Especificaciones**

|                        |                                                                                                                                                                                                                                                                                                        |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Modelo                 | Raspberry Pi                                                                                                                                                                                                                                                                                           |
| Módulos compatibles    | Raspberry Pi® (Modelo 4B, 3B+, Zero, Zero W y Zero 2 W), X-NODEs y [Click Boards™](https://www.mikroe.com/click-boards)                                                                                                                                                                                |
| Estándares compatibles | Estándar [mikroBUS™](https://www.mikroe.com/mikrobus) y estándar [Qwiic®](https://www.sparkfun.com/qwiic)                                                                                                                                                                                              |
| Características        | Un zócalo compatible con tarjetas Raspberry Pi®, tres zócalos de conexión con estándar [mikroBUS™](https://www.mikroe.com/mikrobus), dos conectores JST compatibles con estándar [Qwiic®](https://www.sparkfun.com/qwiic) y un header hembra de 40 pines para disposición de los pines de cada zócalo. |
| Tamaño                 | 102.11 x 71.63 x 14 mm                                                                                                                                                                                                                                                                                 |
| Voltaje                | 3.3 V                                                                                                                                                                                                                                                                                                  |

## **IV. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FiKjmGMGON43VGrZRG0RQ%2FSCHEMATIC%20X-BOARD%20Raspberry%20Pi.pdf?alt=media&#x26;token=ba44ed74-8dd7-49de-8565-74c2c8c8e6b6">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FiKjmGMGON43VGrZRG0RQ%2FSCHEMATIC%20X-BOARD%20Raspberry%20Pi.pdf?alt=media&#x26;token=ba44ed74-8dd7-49de-8565-74c2c8c8e6b6</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FEoHoV2CCMffWrtLDUvPq%2FDIMENSIONS%20X-BOARD%20Raspberry%20Pi.pdf?alt=media&#x26;token=9565ae35-d3d9-4028-8f6c-be51b7e90a1d">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FEoHoV2CCMffWrtLDUvPq%2FDIMENSIONS%20X-BOARD%20Raspberry%20Pi.pdf?alt=media&#x26;token=9565ae35-d3d9-4028-8f6c-be51b7e90a1d</a></td></tr></tbody></table>


# X-BOARD / XB05 - Curiosity Nano

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark> </td><td><a href="https://www.microside.com/shop/x-board-curiosity-nano-107">https://www.microside.com/shop/x-board-curiosity-nano-107</a></td></tr></tbody></table>

**X-BOARD Curiosity Nano** es una tarjeta de expansión diseñada para brindar compatibilidad entre las tarjetas [Curiosity Nano](https://www.microchip.com/en-us/tools-resources/evaluation-boards/curiosity-nano) con los módulos **X-NODE** o [Click Boards™](https://www.mikroe.com/click-boards), logrando una evaluación de forma rápida en sensores, actuadores o módulos de comunicación. Es ideal para el desarrollo de prototipos y proyectos electrónicos donde se requiera una integración sencilla, tamaño compacto y compatibilidad con herramientas de desarrollo con los estándares [**mikroBUS™**](https://www.mikroe.com/mikrobus) y [**Qwiic®**](https://www.sparkfun.com/qwiic). Cuenta con un zócalo de conexión para tarjetas [**Curiosity Nano**](https://www.microchip.com/en-us/tools-resources/evaluation-boards/curiosity-nano), dos conectores JST, tres zócalos de conexión [**mikroBUS™**](https://www.mikroe.com/mikrobus) y un header hembra con acceso a los pines de cada zócalo.

### **TABLA DE CONTENIDO**

1. [**¿Cómo funciona**](#i.-como-funciona)[**?**](#i.-como-funciona)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
3. [**Especificaciones**](#iii.-especificaciones)
4. [**Descargas**](#iv.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FcqI4W5po0cprAPwgLEVH%2FSCHEMATIC%20X-BOARD%20Curiosity%20Nano.pdf?alt=media\&token=a7137e01-d688-4765-a326-7abd2d126283)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FZbpAjIyR8kCj9dfRAGyG%2FDIMENSIONS%20X-BOARD%20Curiosity%20Nano.pdf?alt=media\&token=caea43bc-a8ef-46c0-9856-9ed411c28b2d)

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

**X-BOARD Curiosity Nano** brinda una comunicación entre tarjetas Curiosity Nano con módulos **X-NODE**, [**Click Boards™**](https://www.mikroe.com/click-boards) y diversas herramientas de desarrollo que posean el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) con solo insertarlos en los zócalos correspondientes de la tarjeta. Posee dos conectores JST para un uso con módulos compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic), teniendo en cuenta que el nivel lógico de voltaje es a 3.3 V. Por último, se integra un header hembra para disponer de los pines de cada zócalo, de esta forma se puede acceder a señales de forma no invasiva o utilizar un analizador lógico en diversas pruebas de funcionamiento.

La tarjeta **X-BOARD Curiosity Nano** es compatible con las tarjetas Curiosity Nano, el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) de [**Mikroe®**](https://www.mikroe.com/) y 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 de manera rápida y sencilla.

## **II. Descripción del hardware**

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

1. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
2. Conectores JST compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic)
3. Header hembra de fácil acceso a los pines de cada conector [**mikroBUS™**](https://www.mikroe.com/mikrobus)
4. Modelo de X-BOARD
5. Conector compatible con tarjetas Curiosity Nano
6. Versión de hardware: R1

## **III. Especificaciones**

|                        |                                                                                                                                                                                                                                                                                                        |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Modelo                 | Curiosity Nano                                                                                                                                                                                                                                                                                         |
| Módulos compatibles    | Tarjetas [Curiosity Nano](https://www.microchip.com/en-us/tools-resources/evaluation-boards/curiosity-nano), X-NODEs y [Click Boards](https://www.mikroe.com/click-boards)™                                                                                                                            |
| Estándares compatibles | Estándar [mikroBUS™](https://www.mikroe.com/mikrobus) y estándar [Qwiic®](https://www.sparkfun.com/qwiic)                                                                                                                                                                                              |
| Características        | Un zócalo compatible con tarjetas Curiosity Nano, tres zócalos de conexión con estándar [mikroBUS™](https://www.mikroe.com/mikrobus), dos conectores JST compatibles con estándar [Qwiic®](https://www.sparkfun.com/qwiic) y un header hembra de 40 pines para disposición de los pines de cada zócalo |
| Tamaño                 | 102.11 x 71.63 x 14 mm                                                                                                                                                                                                                                                                                 |
| Voltaje                | 3.3 V                                                                                                                                                                                                                                                                                                  |

## **IV. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FcqI4W5po0cprAPwgLEVH%2FSCHEMATIC%20X-BOARD%20Curiosity%20Nano.pdf?alt=media&#x26;token=a7137e01-d688-4765-a326-7abd2d126283">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FcqI4W5po0cprAPwgLEVH%2FSCHEMATIC%20X-BOARD%20Curiosity%20Nano.pdf?alt=media&#x26;token=a7137e01-d688-4765-a326-7abd2d126283</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FZbpAjIyR8kCj9dfRAGyG%2FDIMENSIONS%20X-BOARD%20Curiosity%20Nano.pdf?alt=media&#x26;token=caea43bc-a8ef-46c0-9856-9ed411c28b2d">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FZbpAjIyR8kCj9dfRAGyG%2FDIMENSIONS%20X-BOARD%20Curiosity%20Nano.pdf?alt=media&#x26;token=caea43bc-a8ef-46c0-9856-9ed411c28b2d</a></td></tr></tbody></table>


# X-BOARD / XB06 - Arduino MKR

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark> </td><td><a href="https://www.microside.com/shop/x-board-arduino-mkr-108">https://www.microside.com/shop/x-board-arduino-mkr-108</a></td></tr></tbody></table>

**X-BOARD Arduino MKR** es una tarjeta de expansión diseñada para brindar compatibilidad entre las tarjetas [Arduino® MKR](https://www.arduino.cc/en/hardware#mkr-family) y los módulos **X-NODE** o [Click Boards™](https://www.mikroe.com/click-boards), logrando una evaluación de forma rápida en sensores, actuadores o módulos de comunicación. Es ideal para el desarrollo de prototipos y proyectos electrónicos donde se requiera una integración sencilla, tamaño compacto y compatibilidad con herramientas de desarrollo con los estándares [**mikroBUS™**](https://www.mikroe.com/mikrobus) y  [**Qwiic®**](https://www.sparkfun.com/qwiic). Cuenta con un zócalo de conexión para tarjetas [**Arduino® MKR**](https://www.arduino.cc/en/hardware#mkr-family), dos conectores JST, tres zócalos de conexión [**mikroBUS™**](https://www.mikroe.com/mikrobus) y un header hembra con acceso a los pines de cada zócalo.

### **TABLA DE CONTENIDO**

1. [**¿Cómo funciona**](#i.-como-funciona)[**?**](#i.-como-funciona)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
3. [**Especificaciones**](#iii.-especificaciones)
4. [**Descargas**](#iv.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FJBN6XaAgMEtN8tCuw7i4%2FSCHEMATIC%20X-BOARD%20Arduino%20MKR.pdf?alt=media\&token=61923e2d-c4ca-4dd2-b71e-da5b1fa0424d)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FXfxcHV1XOdEqJFWWUlVF%2FDIMENSIONS%20X-BOARD%20Arduino%20MKR.pdf?alt=media\&token=8e48aa93-21a5-4e01-8f2f-d696ed9e5b0e)

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

**X-BOARD Arduino MKR** brinda una comunicación entre tarjetas Arduino® MKR con módulos **X-NODE**, Click Boards™ y diversas herramientas de desarrollo que posean el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) con solo insertarlos en los zócalos correspondientes de la tarjeta. Posee dos conectores JST para un uso con módulos compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic), teniendo en cuenta que el nivel lógico de voltaje es a 3.3 V. Por último, se integra un header hembra para disponer de los pines de cada zócalo, de esta forma se puede acceder a señales de forma no invasiva o utilizar un analizador lógico en diversas pruebas de funcionamiento.

La tarjeta **X-BOARD Arduino MKR** es compatible con las tarjetas Arduino® MKR, el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) de [**Mikroe®**](https://www.mikroe.com/) y 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 de manera rápida y sencilla.

## **II. Descripción del hardware**

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

1. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
2. Conectores JST compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic)
3. Header hembra de fácil acceso a los pines de cada conector [**mikroBUS™**](https://www.mikroe.com/mikrobus)
4. Modelo de X-BOARD
5. Conector compatible con tarjetas Arduino® MKR
6. Versión de hardware: R1

## **III. Especificaciones**

|                        |                                                                                                                                                                                                                                                                                                      |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Modelo                 | Arduino MKR                                                                                                                                                                                                                                                                                          |
| Módulos compatibles    | Tarjetas [Arduino® MKR](https://www.arduino.cc/en/hardware#mkr-family), X-NODEs y [Click Boards](https://www.mikroe.com/click-boards)™                                                                                                                                                               |
| Estándares compatibles | Estándar [mikroBUS™](https://www.mikroe.com/mikrobus) y estándar [Qwiic®](https://www.sparkfun.com/qwiic)                                                                                                                                                                                            |
| Características        | Un zócalo compatible con tarjetas Arduino® MKR, tres zócalos de conexión con estándar [mikroBUS™](https://www.mikroe.com/mikrobus), dos conectores JST compatibles con estándar [Qwiic®](https://www.sparkfun.com/qwiic) y un header hembra de 40 pines para disposición de los pines de cada zócalo |
| Tamaño                 | 102.11 x 71.63 x 14 mm                                                                                                                                                                                                                                                                               |
| Voltaje                | 3.3 V                                                                                                                                                                                                                                                                                                |

## **IV. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FJBN6XaAgMEtN8tCuw7i4%2FSCHEMATIC%20X-BOARD%20Arduino%20MKR.pdf?alt=media&#x26;token=61923e2d-c4ca-4dd2-b71e-da5b1fa0424d">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FJBN6XaAgMEtN8tCuw7i4%2FSCHEMATIC%20X-BOARD%20Arduino%20MKR.pdf?alt=media&#x26;token=61923e2d-c4ca-4dd2-b71e-da5b1fa0424d</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FXfxcHV1XOdEqJFWWUlVF%2FDIMENSIONS%20X-BOARD%20Arduino%20MKR.pdf?alt=media&#x26;token=8e48aa93-21a5-4e01-8f2f-d696ed9e5b0e">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FXfxcHV1XOdEqJFWWUlVF%2FDIMENSIONS%20X-BOARD%20Arduino%20MKR.pdf?alt=media&#x26;token=8e48aa93-21a5-4e01-8f2f-d696ed9e5b0e</a></td></tr></tbody></table>


# X-BOARD / XB07 - ToSix

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark> </td><td><a href="https://www.microside.com/shop/x-board-tosix-109">https://www.microside.com/shop/x-board-tosix-109</a></td></tr></tbody></table>

**X-BOARD ToSix** es una tarjeta de expansión diseñada principalmente para evaluar de forma rápida sensores, actuadores o módulos de comunicación integrados en los **X-NODE** o [Click Boards™](https://www.mikroe.com/click-boards). Es ideal para el desarrollo de prototipos y proyectos electrónicos donde se requiera una integración sencilla, tamaño compacto y compatibilidad con herramientas de desarrollo con los estándares [**mikroBUS™**](https://www.mikroe.com/mikrobus) y  [**Qwiic®**](https://www.sparkfun.com/qwiic). Cuenta con dos conectores JST, seis zócalos de conexión [**mikroBUS™**](https://www.mikroe.com/mikrobus) y un header hembra con acceso a los pines de cada zócalo.

### **TABLA DE CONTENIDO**

1. [**¿Cómo funciona**](#i.-como-funciona)[**?**](#i.-como-funciona)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
3. [**Especificaciones**](#iii.-especificaciones)
4. [**Descargas**](#iv.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FeWkIeqzpgv6lwYWqYM54%2FSCHEMATIC%20X-BOARD%20ToSix.pdf?alt=media\&token=72d037d0-9d70-4118-9cfc-754585f77234)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FuLgKLoaPR6J5H4e48UKV%2FDIMENSIONS%20X-BOARD%20ToSix.pdf?alt=media\&token=8b86af9b-2e22-4d2c-b949-4105a4906214)

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

**X-BOARD ToSix** brinda una comunicación entre módulos **X-NODE**, [**Click Boards™**](https://www.mikroe.com/click-boards) y diversas herramientas de desarrollo que posean el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) con solo insertarlos en los zócalos correspondientes de la tarjeta. Posee dos conectores JST para un uso con módulos compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic), teniendo en cuenta que el nivel lógico de voltaje es a 3.3 V. Por último, se integra un header hembra para disponer de los pines de cada zócalo, de esta forma se puede acceder a señales de forma no invasiva o utilizar un analizador lógico en diversas pruebas de funcionamiento.

La tarjeta **X-BOARD ToSix** es compatible con el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) de [**Mikroe®**](https://www.mikroe.com/) e integra conectores JST que admiten 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 de manera rápida y sencilla.

## **II. Descripción del hardware**

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

1. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
2. Conectores JST compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic)
3. Header hembra de fácil acceso a los pines de cada conector [**mikroBUS™**](https://www.mikroe.com/mikrobus)
4. Modelo de X-BOARD
5. Versión de hardware: R1

## **III. Especificaciones**

|                        |                                                                                                                                                                                                                                                          |
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Modelo                 | ToSix                                                                                                                                                                                                                                                    |
| Módulos compatibles    | X-NODEs y [Click Boards](https://www.mikroe.com/click-boards)™                                                                                                                                                                                           |
| Estándares compatibles | Estándar [mikroBUS™](https://www.mikroe.com/mikrobus) y estándar [Qwiic®](https://www.sparkfun.com/qwiic)                                                                                                                                                |
| Características        | Seis zócalos de conexión con estándar [mikroBUS™](https://www.mikroe.com/mikrobus), dos conectores JST compatibles con el estándar [Qwiic®](https://www.sparkfun.com/qwiic) y un header hembra de 40 pines para disposición de los pines de cada zócalo. |
| Tamaño                 | 102.11 x 71.63 x 14 mm                                                                                                                                                                                                                                   |
| Voltaje                | 3.3 V                                                                                                                                                                                                                                                    |

## **IV. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FeWkIeqzpgv6lwYWqYM54%2FSCHEMATIC%20X-BOARD%20ToSix.pdf?alt=media&#x26;token=72d037d0-9d70-4118-9cfc-754585f77234">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FeWkIeqzpgv6lwYWqYM54%2FSCHEMATIC%20X-BOARD%20ToSix.pdf?alt=media&#x26;token=72d037d0-9d70-4118-9cfc-754585f77234</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FuLgKLoaPR6J5H4e48UKV%2FDIMENSIONS%20X-BOARD%20ToSix.pdf?alt=media&#x26;token=8b86af9b-2e22-4d2c-b949-4105a4906214">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FuLgKLoaPR6J5H4e48UKV%2FDIMENSIONS%20X-BOARD%20ToSix.pdf?alt=media&#x26;token=8b86af9b-2e22-4d2c-b949-4105a4906214</a></td></tr></tbody></table>


# X-BOARD / XB08 - Thing Plus

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark> </td><td><a href="https://www.microside.com/shop/x-board-thing-plus-110">https://www.microside.com/shop/x-board-thing-plus-110</a></td></tr></tbody></table>

**X-BOARD Thing Plus** es una tarjeta de expansión diseñada para brindar compatibilidad entre las tarjetas [Thing Plus](https://www.sparkfun.com/thing_plus) de [SparkFun®](https://www.sparkfun.com/) con los módulos **X-NODE** o [Click Boards™](https://www.mikroe.com/click-boards), logrando una evaluación de forma rápida en sensores, actuadores o módulos de comunicación. Es ideal para el desarrollo de prototipos y proyectos electrónicos donde se requiera una integración sencilla, tamaño compacto y compatibilidad con herramientas de desarrollo con los estándares [**mikroBUS™**](https://www.mikroe.com/mikrobus) y [**Qwiic®**](https://www.sparkfun.com/qwiic). Cuenta con un zócalo de conexión tipo Feather para tarjetas [**Thing Plus**](https://www.sparkfun.com/thing_plus), dos conectores JST, tres zócalos de conexión [**mikroBUS™**](https://www.mikroe.com/mikrobus) y un header hembra con acceso a los pines de cada zócalo.

### **TABLA DE CONTENIDO**

1. [**¿Cómo funciona**](#i.-como-funciona)[**?**](#i.-como-funciona)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
3. [**Especificaciones**](#iii.-especificaciones)
4. [**Descargas**](#iv.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FMmtFAfJv9HLXeDhDI8me%2FSCHEMATIC%20X-BOARD%20Thing%20Plus.pdf?alt=media\&token=1c4b5f46-ce16-46a5-924f-dbeb233ddbaf)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F7OeOXHSbSwNchLXgYhfE%2FDIMENSIONS%20X-BOARD%20Thing%20Plus.pdf?alt=media\&token=1b69b3b2-6b3a-48a8-9c47-1e24b7cb06d5)

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

**X-BOARD Thing Plus** brinda una comunicación entre tarjetas Thing Plus con módulos **X-NODE**, [**Click Boards™**](https://www.mikroe.com/click-boards) y diversas herramientas de desarrollo que posean el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)  con solo insertarlos en los zócalos correspondientes de la tarjeta. Posee dos conectores JST para un uso con módulos compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic), teniendo en cuenta que el nivel lógico de voltaje es a 3.3 V. Por último, se integra un header hembra para disponer de los pines de cada zócalo, de esta forma se puede acceder a señales de forma no invasiva o utilizar un analizador lógico en diversas pruebas de funcionamiento.

La tarjeta **X-BOARD Thing Plus** es compatible con las tarjetas Thing Plus, el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) de [**Mikroe®**](https://www.mikroe.com/) y 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 de manera rápida y sencilla.

## **II. Descripción del hardware**

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

1. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
2. Conectores JST compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic)
3. Header hembra de fácil acceso a los pines de cada conector [**mikroBUS™**](https://www.mikroe.com/mikrobus)
4. Modelo de X-BOARD
5. Conector tipo Feather compatible con tarjetas Thing Plus
6. Versión de hardware: R1

## **III. Especificaciones**

|                        |                                                                                                                                                                                                                                                                                                     |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Modelo                 | Thing Plus                                                                                                                                                                                                                                                                                          |
| Módulos compatibles    | Tarjetas [Thing Plus](https://www.sparkfun.com/thing_plus), X-NODEs y [Click Boards™](https://www.mikroe.com/click-boards)                                                                                                                                                                          |
| Estándares compatibles | Estándar [mikroBUS™](https://www.mikroe.com/mikrobus) y estándar [Qwiic®](https://www.sparkfun.com/qwiic)                                                                                                                                                                                           |
| Características        | Un zócalo compatible con tarjetas Thing Plus, tres zócalos de conexión con estándar [mikroBUS™](https://www.mikroe.com/mikrobus), dos conectores JST compatibles con estándar [Qwiic®](https://www.sparkfun.com/qwiic) y un header hembra de 40 pines para disposición de los pines de cada zócalo. |
| Tamaño                 | 102.11 x 71.63 x 14 mm                                                                                                                                                                                                                                                                              |
| Voltaje                | 3.3 V                                                                                                                                                                                                                                                                                               |

## **IV. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FMmtFAfJv9HLXeDhDI8me%2FSCHEMATIC%20X-BOARD%20Thing%20Plus.pdf?alt=media&#x26;token=1c4b5f46-ce16-46a5-924f-dbeb233ddbaf">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FMmtFAfJv9HLXeDhDI8me%2FSCHEMATIC%20X-BOARD%20Thing%20Plus.pdf?alt=media&#x26;token=1c4b5f46-ce16-46a5-924f-dbeb233ddbaf</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F7OeOXHSbSwNchLXgYhfE%2FDIMENSIONS%20X-BOARD%20Thing%20Plus.pdf?alt=media&#x26;token=1b69b3b2-6b3a-48a8-9c47-1e24b7cb06d5">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F7OeOXHSbSwNchLXgYhfE%2FDIMENSIONS%20X-BOARD%20Thing%20Plus.pdf?alt=media&#x26;token=1b69b3b2-6b3a-48a8-9c47-1e24b7cb06d5</a></td></tr></tbody></table>


# X-BOARD / XB09 - Click to Qwiic

<figure><img src="/files/5lO37LQz6VOl8RBi7KLO" alt=""><figcaption></figcaption></figure>

<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"><mark style="color:green;"><strong>Comprar</strong></mark> </td><td><a href="https://www.microside.com/shop/x-board-click-to-qwiic-101">https://www.microside.com/shop/x-board-click-to-qwiic-101</a></td></tr></tbody></table>

**X-BOARD Click to Qwiic** es una pequeña tarjeta de expansión que cuenta con dos conectores JST y un zócalo de conexión [**mikroBUS™**](https://www.mikroe.com/mikrobus)**,** diseñada principalmente para brindar comunicación entre [**Click Boards™**](https://www.mikroe.com/click-boards) con el estándar de conexión [**Qwiic®**](https://www.sparkfun.com/qwiic) y así evaluar rápidamente sensores, actuadores o módulos de comunicación. Es ideal para el desarrollo de prototipos y proyectos electrónicos donde se requiera una integración sencilla, tamaño compacto y compatibilidad con herramientas de desarrollo con los estándares [**mikroBUS™**](https://www.mikroe.com/mikrobus) y [**Qwiic®**](https://www.sparkfun.com/qwiic).

### **TABLA DE CONTENIDO**

1. [**¿Cómo funciona**](#i.-como-funciona)[**?**](#i.-como-funciona)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
3. [**Especificaciones**](#iii.-especificaciones)
4. [**Descargas**](#iv.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fgn4FoodkCmhLHRYe5Cws%2FSCHEMATIC%20X-BOARD%20CLICK%20TO%20QWIIC.pdf?alt=media\&token=f944a210-92dd-4ecf-8505-e536640c11b1)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FyqGfLJLVxSMSH3Wx2WR8%2FDIMENSIONS%20X-BOARD%20CLICK%20TO%20QWIIC.pdf?alt=media\&token=b8fb23b2-c9eb-4352-975a-1a2bc288606e)

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

**X-BOARD Click to Qwiic** brinda una comunicación entre módulos [**Click Boards™**](https://www.mikroe.com/click-boards) y diversas herramientas de desarrollo que posean el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic) con solo conectarlos a través de sus respectivos puertos de la tarjeta. Posee dos conectores JST para un uso con módulos compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic), teniendo en cuenta que el nivel lógico de voltaje es a 3.3 V.

La tarjeta **X-BOARD Click to Qwiic** es compatible con el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) de [**Mikroe®**](https://www.mikroe.com/) y 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 de manera rápida y sencilla.

## **II. Descripción del hardware**

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

1. Conectores JST compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic)
2. Puerto de comunicación I2C
3. Modelo de X-BOARD
4. Voltaje de funcionamiento compatible
5. Conector estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
6. Versión de hardware: R1

## **III. Especificaciones**

|                        |                                                                                                                                                                        |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Modelo                 | Click to Qwiic                                                                                                                                                         |
| Módulos compatibles    | [Click Boards™](https://www.mikroe.com/click-boards)                                                                                                                   |
| Estándares compatibles | Estándar [mikroBUS™](https://www.mikroe.com/mikrobus) y estándar [Qwiic®](https://www.sparkfun.com/qwiic)                                                              |
| Características        | Un zócalo de conexión con estándar [mikroBUS™](https://www.mikroe.com/mikrobus) y dos conectores JST compatibles con estándar [Qwiic®](https://www.sparkfun.com/qwiic) |
| Tamaño                 | 34.92 x 25.55 x 20.5 mm                                                                                                                                                |
| Voltaje                | 3.3 V                                                                                                                                                                  |

## **IV. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fgn4FoodkCmhLHRYe5Cws%2FSCHEMATIC%20X-BOARD%20CLICK%20TO%20QWIIC.pdf?alt=media&#x26;token=f944a210-92dd-4ecf-8505-e536640c11b1">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fgn4FoodkCmhLHRYe5Cws%2FSCHEMATIC%20X-BOARD%20CLICK%20TO%20QWIIC.pdf?alt=media&#x26;token=f944a210-92dd-4ecf-8505-e536640c11b1</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FyqGfLJLVxSMSH3Wx2WR8%2FDIMENSIONS%20X-BOARD%20CLICK%20TO%20QWIIC.pdf?alt=media&#x26;token=b8fb23b2-c9eb-4352-975a-1a2bc288606e">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FyqGfLJLVxSMSH3Wx2WR8%2FDIMENSIONS%20X-BOARD%20CLICK%20TO%20QWIIC.pdf?alt=media&#x26;token=b8fb23b2-c9eb-4352-975a-1a2bc288606e</a></td></tr></tbody></table>


# X-BOARD / XB10 - Feather

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/x-board-feather-111">https://www.microside.com/shop/x-board-feather-111</a></td></tr></tbody></table>

**X-BOARD Feather** es una tarjeta de expansión diseñada para brindar compatibilidad entre las tarjetas de desarrollo con estándar de conexión [**Feather™**](https://learn.adafruit.com/adafruit-feather/) de [**Adafruit®**](https://learn.adafruit.com/) y los módulos **X-NODE** o [**Click Boards™**](https://www.mikroe.com/click-boards), logrando una evaluación de forma rápida en sensores, actuadores o módulos de comunicación. Es ideal para el desarrollo de prototipos y proyectos electrónicos donde se requiera una integración sencilla, tamaño compacto y compatibilidad con herramientas de desarrollo con los estándares [**Feather™**](https://learn.adafruit.com/adafruit-feather/), [**mikroBUS™**](https://www.mikroe.com/mikrobus) y [**Qwiic®**](https://www.sparkfun.com/qwiic). Cuenta con un zócalo de conexión [**Feather™**](https://learn.adafruit.com/adafruit-feather/), dos conectores JST, tres zócalos de conexión [**mikroBUS™**](https://www.mikroe.com/mikrobus) y un header hembra con acceso a los pines de cada zócalo.

### **TABLA DE CONTENIDO**

1. [**¿Cómo funciona?**](#i.-como-funciona)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
3. [**Especificaciones**](#iii.-especificaciones)
4. [**Descargas**](#iv.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FvszdgU6YW6yEh64rxCJ9%2FSCHEMATIC%20XB10%20-%20Feather.pdf?alt=media\&token=604ce145-06d0-4ffb-b439-132e07e25193)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FAOVasVMUTuaCNuLV6uJF%2FDIMENSIONS%20XB10%20-%20Feather.pdf?alt=media\&token=93958594-ee18-49f2-afb2-3fada74d7e3b)

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

**X-BOARD Feather** brinda una comunicación entre tarjetas de desarrollo con estándar [**Feather™**](https://learn.adafruit.com/adafruit-feather/) y módulos **X-NODE,** [**Click Boards™**](https://www.mikroe.com/click-boards) o diversas herramientas de desarrollo que poseen el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) con solo insertarlos en los zócalos de la tarjeta. Posee dos conectores JST para un uso con módulos compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic), teniendo en cuenta que el nivel lógico de voltaje es a 3.3 V. Por último, se integra un header hembra para disponer de los pines de cada zócalo, de esta forma se puede acceder a señales de forma no invasiva o utilizar un analizador lógico en diversas pruebas de funcionamiento.

La tarjeta **X-BOARD Feather** es compatible con los estándares [**Feather™**](https://learn.adafruit.com/adafruit-feather/) de [**Adafruit®**](https://learn.adafruit.com/)**,** [**mikroBUS™**](https://www.mikroe.com/mikrobus) de [**Mikroe®**](https://www.mikroe.com/) y [**Qwiic®**](https://www.sparkfun.com/qwiic) de [**SparkFun®**](https://www.sparkfun.com/) para una comunicación entre diversos módulos y tarjetas de desarrollo de manera rápida y sencilla.

## **II. Descripción del hardware**

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

1. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
2. Conectores JST compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic)
3. Header hembra de fácil acceso a los pines de cada conector [**mikroBUS™**](https://www.mikroe.com/mikrobus)
4. Modelo de X-BOARD&#x20;
5. Conector compatible con estándar [**Feather™**](https://learn.adafruit.com/adafruit-feather/)
6. Versión del hardware: R1

## **III. Especificaciones**

<table data-header-hidden data-full-width="false"><thead><tr><th width="327"></th><th></th></tr></thead><tbody><tr><td><strong>Modelo</strong></td><td>Feather</td></tr><tr><td><strong>Módulos compatibles</strong></td><td>X-NODEs y <a href="https://www.mikroe.com/click-boards">Click Boards™</a></td></tr><tr><td><strong>Estándares compatibles</strong></td><td><a href="https://learn.adafruit.com/adafruit-feather/">Feather™</a>, <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a> y <a href="https://www.sparkfun.com/qwiic">Qwiic®</a> </td></tr><tr><td><strong>Características</strong></td><td>Un zócalo de conexión con estándar <a href="https://learn.adafruit.com/adafruit-feather/">Feather™</a>, tres zócalos de conexión con estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a>, dos conectores JST compatibles con el estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a> y un header hembra de 40 pines para disposición de los pines de cada zócalo</td></tr><tr><td><strong>Tamaño</strong></td><td>102.11 x 71.63 x 14 mm</td></tr><tr><td><strong>Voltaje</strong> </td><td>3.3 V</td></tr></tbody></table>

## **IV. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FvszdgU6YW6yEh64rxCJ9%2FSCHEMATIC%20XB10%20-%20Feather.pdf?alt=media&#x26;token=604ce145-06d0-4ffb-b439-132e07e25193">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FvszdgU6YW6yEh64rxCJ9%2FSCHEMATIC%20XB10%20-%20Feather.pdf?alt=media&#x26;token=604ce145-06d0-4ffb-b439-132e07e25193</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FAOVasVMUTuaCNuLV6uJF%2FDIMENSIONS%20XB10%20-%20Feather.pdf?alt=media&#x26;token=93958594-ee18-49f2-afb2-3fada74d7e3b">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FAOVasVMUTuaCNuLV6uJF%2FDIMENSIONS%20XB10%20-%20Feather.pdf?alt=media&#x26;token=93958594-ee18-49f2-afb2-3fada74d7e3b</a></td></tr></tbody></table>


# X-BOARD / XB15 - XIAO

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/x-board-xiao-112">https://www.microside.com/shop/x-board-xiao-112</a></td></tr></tbody></table>

**X-BOARD XIAO** es una tarjeta de expansión diseñada para brindar compatibilidad entre la colección de tarjetas de desarrollo [**XIAO**](https://www.seeedstudio.com/xiao-series-page) de [**Seeed Studio**](https://www.seeedstudio.com/), el ecosistema [**Grove**](https://wiki.seeedstudio.com/Grove_System/) y los módulos **X-NODE** o [**Click Boards™**](https://www.mikroe.com/click-boards), permitiendo una evaluación de forma rápida en sensores, actuadores o módulos de comunicación. Es ideal para el desarrollo de prototipos y proyectos electrónicos donde se requiera una integración sencilla, tamaño compacto y compatibilidad con herramientas de desarrollo con los estándares de [**Grove**](https://wiki.seeedstudio.com/Grove_System/), [**mikroBUS™**](https://www.mikroe.com/mikrobus) y [**Qwiic®**](https://www.sparkfun.com/qwiic). Cuenta con un zócalo de conexión para tarjetas de la serie [**XIAO**](https://www.seeedstudio.com/xiao-series-page), dos conectores JST, tres zócalos de conexión [**mikroBUS™**](https://www.mikroe.com/mikrobus) y un header hembra con acceso a los pines de cada zócalo.

### **TABLA DE CONTENIDO**

1. [**¿Cómo funciona?**](#i.-como-funciona)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
3. [**Especificaciones**](#iii.-especificaciones)
4. [**Descargas**](#iv.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F8rGGfSUqXLY3gED1kSIU%2FSCHEMATIC%20X-BOARD%20XIAO.pdf?alt=media\&token=bd4bc613-b958-4615-96a3-60c209b2efd2)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FPwXXIQaXkicQ5WVQ6IaY%2FDIMENSIONS%20X-BOARD%20XIAO%20XB15.PDF?alt=media\&token=985add8f-e7c3-4405-83b4-fe62c84ccd00)

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

**X-BOARD XIAO** brinda una comunicación entre tarjetas de desarrollo de la serie [**XIAO**](https://www.seeedstudio.com/xiao-series-page) de [**Seeed Studio**](https://www.seeedstudio.com/) y módulos **X-NODE,** [**Click Boards™**](https://www.mikroe.com/click-boards) o diversas herramientas de desarrollo que poseen el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) con solo insertarlos en los zócalos de la tarjeta. Posee dos conectores JST para un uso con módulos compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic), teniendo en cuenta que el nivel lógico de voltaje es a 3.3 V, además de 4 conectores para el ecosistema [**Grove**](https://wiki.seeedstudio.com/Grove_System/), asegurando una amplia compatibilidad con módulos de [**Seeed Studio**](https://www.seeedstudio.com/). Por último, se integra un header hembra para disponer de los pines de cada zócalo, de esta forma se puede acceder a señales de forma no invasiva o utilizar un analizador lógico en diversas pruebas de funcionamiento.

La tarjeta **X-BOARD XIAO** es compatible con los estándares [**XIAO**](https://www.seeedstudio.com/xiao-series-page) y [**Grove**](https://wiki.seeedstudio.com/Grove_System/) de [**Seeed Studio**](https://www.seeedstudio.com/), [**mikroBUS™**](https://www.mikroe.com/mikrobus) de [**Mikroe®**](https://www.mikroe.com/) y [**Qwiic®**](https://www.sparkfun.com/qwiic) de [**SparkFun®**](https://www.sparkfun.com/) para una comunicación entre diversos módulos y tarjetas de desarrollo de manera rápida y sencilla.

## **II. Descripción del hardware**

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

1. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
2. Conectores JST compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic)
3. Header hembra de fácil acceso a los pines de cada conector [**mikroBUS™**](https://www.mikroe.com/mikrobus)
4. Modelo de X-BOARD&#x20;
5. Conector compatible con tarjetas [**XIAO**](https://www.seeedstudio.com/xiao-series-page) de [**Seeed Studio**](https://www.seeedstudio.com/)
6. Conectores compatibles con ecosistema [**Grove**](https://wiki.seeedstudio.com/Grove_System/) de [**Seeed Studio**](https://www.seeedstudio.com/)
7. Versión del hardware: R1

## **III. Especificaciones**

<table data-header-hidden data-full-width="false"><thead><tr><th width="327"></th><th></th></tr></thead><tbody><tr><td><strong>Modelo</strong></td><td>XIAO</td></tr><tr><td><strong>Módulos compatibles</strong></td><td>Tarjetas <a href="https://www.seeedstudio.com/xiao-series-page">XIAO</a>, X-NODEs y <a href="https://www.mikroe.com/click-boards">Click Boards™</a></td></tr><tr><td><strong>Estándares compatibles</strong></td><td><a href="https://wiki.seeedstudio.com/Grove_System/">Grove</a>, <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a> y <a href="https://www.sparkfun.com/qwiic">Qwiic®</a> </td></tr><tr><td><strong>Características</strong></td><td>Un zócalo de conexión compatible con tarjetas <a href="https://www.seeedstudio.com/xiao-series-page">XIAO</a>, tres zócalos de conexión con estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a>, dos conectores JST compatibles con el estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a>, cuatro conectores compatibles con el ecosistema <a href="https://wiki.seeedstudio.com/Grove_System/">Grove</a> y un header hembra de 40 pines para disposición de los pines de cada zócalo.</td></tr><tr><td><strong>Tamaño</strong></td><td>102.11 x 71.63 x 14 mm</td></tr><tr><td><strong>Voltaje</strong> </td><td>3.3 V</td></tr></tbody></table>

## **IV. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F8rGGfSUqXLY3gED1kSIU%2FSCHEMATIC%20X-BOARD%20XIAO.pdf?alt=media&#x26;token=bd4bc613-b958-4615-96a3-60c209b2efd2">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F8rGGfSUqXLY3gED1kSIU%2FSCHEMATIC%20X-BOARD%20XIAO.pdf?alt=media&#x26;token=bd4bc613-b958-4615-96a3-60c209b2efd2</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FPwXXIQaXkicQ5WVQ6IaY%2FDIMENSIONS%20X-BOARD%20XIAO%20XB15.PDF?alt=media&#x26;token=985add8f-e7c3-4405-83b4-fe62c84ccd00">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FPwXXIQaXkicQ5WVQ6IaY%2FDIMENSIONS%20X-BOARD%20XIAO%20XB15.PDF?alt=media&#x26;token=985add8f-e7c3-4405-83b4-fe62c84ccd00</a></td></tr></tbody></table>


# X-BOARD / XBI01 - IIoTrainer

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/x-board-iiotrainer-102">https://www.microside.com/shop/x-board-iiotrainer-102</a></td></tr></tbody></table>

**X-BOARD IIoTrainer** es una tarjeta de expansión diseñada principalmente para la industria, evaluando rápidamente sensores, actuadores o módulos de comunicación integrados en los **X-NODE** o [Click Boards™](https://www.mikroe.com/click-boards). Es ideal para el desarrollo de prototipos y proyectos electrónicos donde se requiera una integración sencilla, tamaño compacto y compatibilidad con herramientas de desarrollo con los estándares [**mikroBUS™**](https://www.mikroe.com/mikrobus) y  [**Qwiic®**](https://www.sparkfun.com/qwiic). Cuenta con dos conectores JST, cinco zócalos de conexión  [**mikroBUS™**](https://www.mikroe.com/mikrobus), doble header con acceso a los pines de cada zócalo y cinco conectores de propósito general para expansión de señales.

### **TABLA DE CONTENIDO**

1. [**¿Cómo funciona?**](#i.-como-funciona)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
3. [**Especificaciones**](#iii.-especificaciones)
4. [**Descargas**](#iv.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FLq4kJpYRFMc5PjPrcVKZ%2FSCHEMATIC%20X-BOARD%20IIoTrainer.pdf?alt=media\&token=1591dea2-093b-4e1d-9a7a-0ccdb05f1ca0)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F1UFotvh0oEZ0cqRcUoQd%2FDIMENSIONS%20X-BOARD%20IIoTrainer.pdf?alt=media\&token=aeee6d60-d1ae-41e7-b06a-e8f3c352699d)

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

**X-BOARD IIoTrainer** brinda una comunicación entre módulos **X-NODE**, Click Boards™ y diversas herramientas de desarrollo que poseen el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) con solo insertarlos en los zócalos de la tarjeta. Posee dos conectores JST para un uso con módulos compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic), teniendo en cuenta que el nivel lógico de voltaje es a 3.3 V. Por último, se integra un header hembra doble para disponer de los pines de cada zócalo, de esta forma se puede acceder a señales de forma no invasiva o utilizar un analizador lógico en diversas pruebas de funcionamiento.

La tarjeta **X-BOARD IIoTrainer** es compatible con el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) de [**Mikroe®**](https://www.mikroe.com/) y 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 de manera rápida y sencilla.

## **II. Descripción del hardware**

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

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

1. Conectores estándar [**mikroBUS™**  ](https://www.mikroe.com/mikrobus)\
   (El zócalo 5 está conectado en paralelo con los otros 4 zócalos)
2. Conectores JST compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic)
3. Doble header de fácil acceso a los pines de cada conector [**mikroBUS™**](https://www.mikroe.com/mikrobus) (En la parte superior se muestran los pines de los zócalos 1 al 4, mientras que en la parte inferior los pines que están conectados en paralelo al zócalo 5)
4. Versión de hardware: R1
5. Orificios para conexiones por debajo de la tarjeta
6. Conectores de propósito general como expansor de señales
7. Modelo de X-BOARD

## **III. Especificaciones**

| Modelo                 | IIoTrainer                                                                                                                                                                                                                                                                                                                   |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Aplicación             | Industrial                                                                                                                                                                                                                                                                                                                   |
| Módulos compatibles    | X-NODEs y [Click Boards™](https://www.mikroe.com/click-boards)                                                                                                                                                                                                                                                               |
| Estándares compatibles | Estándar [mikroBUS™](https://www.mikroe.com/mikrobus) y estándar [Qwiic®](https://www.sparkfun.com/qwiic)                                                                                                                                                                                                                    |
| Características        | Cinco zócalos de conexión con estándar [mikroBUS™](https://www.mikroe.com/mikrobus), dos conectores JST compatibles con el estándar [Qwiic®](https://www.sparkfun.com/qwiic), header doble hembra de 40 pines para disposición de los pines de cada zócalo y cinco conectores de propósito general para expansión de señales |
| Tamaño                 | 173.74 x 80 x 15.85 mm                                                                                                                                                                                                                                                                                                       |
| Voltaje                | 3.3 V                                                                                                                                                                                                                                                                                                                        |

## **IV. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FLq4kJpYRFMc5PjPrcVKZ%2FSCHEMATIC%20X-BOARD%20IIoTrainer.pdf?alt=media&#x26;token=1591dea2-093b-4e1d-9a7a-0ccdb05f1ca0">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FLq4kJpYRFMc5PjPrcVKZ%2FSCHEMATIC%20X-BOARD%20IIoTrainer.pdf?alt=media&#x26;token=1591dea2-093b-4e1d-9a7a-0ccdb05f1ca0</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F1UFotvh0oEZ0cqRcUoQd%2FDIMENSIONS%20X-BOARD%20IIoTrainer.pdf?alt=media&#x26;token=aeee6d60-d1ae-41e7-b06a-e8f3c352699d">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F1UFotvh0oEZ0cqRcUoQd%2FDIMENSIONS%20X-BOARD%20IIoTrainer.pdf?alt=media&#x26;token=aeee6d60-d1ae-41e7-b06a-e8f3c352699d</a></td></tr></tbody></table>


# X-BOARD / XBI06 - Arduino MKR IIoT

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

**X-BOARD Arduino MKR IIoT** es una tarjeta de expansión diseñada principalmente para la industria, brindando compatibilidad entre las tarjetas [Arduino® MKR](https://www.arduino.cc/en/hardware#mkr-family) con los módulos **X-NODE** o [Click Boards™](https://www.mikroe.com/click-boards), logrando una evaluación rápida y eficaz de sensores, actuadores o módulos de comunicación. Es ideal para pruebas de concepto y desarrollo de proyectos electrónicos donde se requiera una integración sencilla, tamaño compacto y compatibilidad con herramientas de desarrollo con los estándares [**mikroBUS™**](https://www.mikroe.com/mikrobus) y [**Qwiic®**](https://www.sparkfun.com/qwiic). Cuenta con un zócalo de conexión para tarjetas [**Arduino® MKR**](https://www.arduino.cc/en/hardware#mkr-family), dos conectores JST, cinco zócalos de conexión [**mikroBUS™**](https://www.mikroe.com/mikrobus) y un header hembra con acceso a los pines de cada zócalo.

### **TABLA DE CONTENIDO**

1. [**¿Cómo funciona**](#i.-como-funciona)[**?**](#i.-como-funciona)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
3. [**Especificaciones**](#iii.-especificaciones)
4. [**Descargas**](#iv.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FpjYcniHsCpTkU8BnsSta%2FSCHEMATIC%20X-BOARD%20ARDUINO%20MKR%20IIoT.pdf?alt=media\&token=59e3b8cd-1a26-4b86-90d2-1b0cc164be7c)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FDxNP0qmfr9RoUqAXN6wi%2FDIMENSIONS%20X-BOARD%20Arduino%20MKR%20IIoT.pdf?alt=media\&token=2a3d8c1e-1205-4d6b-958c-63a7e136bbce)

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

**X-BOARD Arduino MKR IIoT** brinda una comunicación entre tarjetas Arduino® MKR con módulos **X-NODE**, Click Boards™ y diversas herramientas de desarrollo que posean el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) con solo insertarlos en los zócalos correspondientes de la tarjeta. Posee dos conectores JST para un uso con módulos compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic), teniendo en cuenta que el nivel lógico de voltaje es a 3.3 V. Se integra un header hembra para disponer de los pines de cada zócalo, de esta forma se puede acceder a señales de forma no invasiva o utilizar un analizador lógico en diversas pruebas de funcionamiento, por último, cuenta con dos jumpers que permiten la alimentación de la tarjeta Arduino® MKR hacia los zócalos [**mikroBUS™**](https://www.mikroe.com/mikrobus) o viceversa.

La tarjeta **X-BOARD Arduino MKR IIoT** es compatible con las tarjetas Arduino® MKR, el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) de [**Mikroe®**](https://www.mikroe.com/) y 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 de manera rápida y sencilla.

## **II. Descripción del hardware**

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

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

1. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
2. Conectores JST compatibles con el estándar [**Qwiic®**](https://www.sparkfun.com/qwiic)
3. Header hembra de fácil acceso a los pines de cada conector [**mikroBUS™**](https://www.mikroe.com/mikrobus)
4. Versión de hardware: R1
5. Jumpers para permitir alimentación entre el conector de la tarjeta Arduino® MKR y los conectores [**mikroBUS™**](https://www.mikroe.com/mikrobus)
6. Conector compatible con tarjetas Arduino® MKR
7. Modelo de X-BOARD

{% hint style="danger" %}
**Nota:** Los jumpers de alimentación (punto 5 en “Descripción del hardware”) permiten que la tarjeta Arduino® MKR alimente los conectores mikroBUS™ cuando está conectada por cable micro USB, o viceversa, en caso de no estar conectada la tarjeta es posible alimentarla desde un conector mikroBUS™ con apoyo de un módulo de alimentación (Power Supply). Recomendamos **NO** tener ambas alimentaciones activas y de ser necesario retirar los jumpers para evitar un cortocircuito o daño en los componentes.
{% endhint %}

## **III. Especificaciones**

|                        |                                                                                                                                                                                                                                                                                                       |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Modelo                 | Arduino MKR                                                                                                                                                                                                                                                                                           |
| Aplicación             | Industrial                                                                                                                                                                                                                                                                                            |
| Módulos compatibles    | Tarjetas [Arduino® MKR](https://www.arduino.cc/en/hardware#mkr-family), X-NODEs y [Click Boards™](https://www.mikroe.com/click-boards)                                                                                                                                                                |
| Estándares compatibles | Estándar [mikroBUS™](https://www.mikroe.com/mikrobus) y estándar [Qwiic®](https://www.sparkfun.com/qwiic)                                                                                                                                                                                             |
| Características        | Un zócalo compatible con tarjetas Arduino® MKR, tres zócalos de conexión con estándar [mikroBUS™](https://www.mikroe.com/mikrobus), dos conectores JST compatibles con estándar [Qwiic®](https://www.sparkfun.com/qwiic) y un header hembra de 40 pines para disposición de los pines de cada zócalo. |
| Tamaño                 | 173.74 x 80 x 14 mm                                                                                                                                                                                                                                                                                   |
| Voltaje                | 3.3 V                                                                                                                                                                                                                                                                                                 |

## **IV. Descargas**

<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"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FpjYcniHsCpTkU8BnsSta%2FSCHEMATIC%20X-BOARD%20ARDUINO%20MKR%20IIoT.pdf?alt=media&#x26;token=59e3b8cd-1a26-4b86-90d2-1b0cc164be7c">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FpjYcniHsCpTkU8BnsSta%2FSCHEMATIC%20X-BOARD%20ARDUINO%20MKR%20IIoT.pdf?alt=media&#x26;token=59e3b8cd-1a26-4b86-90d2-1b0cc164be7c</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FDxNP0qmfr9RoUqAXN6wi%2FDIMENSIONS%20X-BOARD%20Arduino%20MKR%20IIoT.pdf?alt=media&#x26;token=2a3d8c1e-1205-4d6b-958c-63a7e136bbce">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FDxNP0qmfr9RoUqAXN6wi%2FDIMENSIONS%20X-BOARD%20Arduino%20MKR%20IIoT.pdf?alt=media&#x26;token=2a3d8c1e-1205-4d6b-958c-63a7e136bbce</a></td></tr></tbody></table>


# IoT Traffic - Tarjeta Controladora de Semáforos

<figure><img src="/files/88Hwq3jVjnItmMn1EzwT" alt=""><figcaption></figcaption></figure>

IoT Traffic Light es una tarjeta controladora capaz de dominar hasta seis semáforos de cuatro fases, integra conectores compatibles con el estándar mikroBUS™ para uso de módulos de comunicación o controladores con funciones específicas, por ejemplo, brindar conectividad WiFi o de red celular. IoT Traffic Light está diseñada principalmente para aplicaciones de IoT y Smart City que requieren un control preciso y eficiente de múltiples semáforos. Cuenta con seis salidas de control con relevadores de estado sólido y fusibles de protección, dos zócalos de conexión [**mikroBUS™**](https://www.mikroe.com/mikrobus), un panel LED indicador de estado, buzzer de propósito general, reloj en tiempo real y sensores de corriente, luminosidad, temperatura y humedad ambiental.

### **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. [**Descargas**](#v.-descargas)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F4YIdWcdIZy0yzTmDyPzY%2FDIMENSIONS%20IoT%20Traffic%20Light%20Controller%20Board.pdf?alt=media\&token=3898ae0f-edea-4cf8-b36b-8b48f1ff14c6)

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

Para el funcionamiento de la tarjeta IoT Traffic Light es necesario colocar un módulo controlador en el zócalo compatible con estándar mikroBUS™, de esta forma se podrán utilizar las diversas características que esta tarjeta ofrece. Debido al estándar mikroBUS™ es posible utilizar diversos módulos controladores ya sean Click Boards o X-NODEs junto a módulos de comunicación capaces de brindar diferentes tipos de conectividad inalámbrica como Bluetooth, WiFi, red celular, geolocalización, etc.

La tarjeta IoT Traffic Light incluye un sistema de medición de corriente, útil como mecanismo de detección de fallas o monitoreo de uso de energía. Integra una fuente de alimentación compatible con voltajes de 120V o 220V AC y cada salida de control cuenta con fusibles de protección para garantizar la seguridad de los equipos y de los usuarios.

Posee un reloj en tiempo real RTC lo que permite llevar un seguimiento preciso de la hora y programar operaciones que requieran de ella, mejorando considerablemente la seguridad en aplicaciones de control de tráfico.

También integra un sensor de luminosidad ambiental, gracias a este cuando la tarjeta es colocada en un gabinete será posible saber si se ha abierto tiempo después, esto ayuda a mantener la integridad y seguridad del dispositivo ya que se puede detectar si ha ocurrido una manipulación no autorizada. Además de ello, también cuenta con un sensor de temperatura y humedad para monitorear que el dispositivo se encuentre en rangos de operación aceptables.

## **II. Descripción del hardware**

<div data-full-width="false"><figure><img src="/files/r1AmTynuHXlhqetbzur6" alt=""><figcaption></figcaption></figure></div>

1. Nombre de la tarjeta.
2. Buzzer pasivo de propósito general.
3. Pines de entrada para botón de propósito general.
4. Panel LED indicador de estado (6 semáforos x 4 fases).
5. Sensor de temperatura y humedad.
6. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)**.**
7. Porta batería tipo botón para el reloj en tiempo real.
8. Sensor de luminosidad ambiental.
9. Pines de acceso al estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) para expansión o depuración.
10. Jumper para interruptor de encendido/apagado de la tarjeta.
11. Puerto de alimentación 120-220V AC.
12. Fuente de poder 120-220V AC a 5V-3.3V DC.
13. Salidas de control por relé (6 semáforos x 4 fases) con fusibles de protección. &#x20;

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="239"></th><th></th></tr></thead><tbody><tr><td><strong>Modelo</strong></td><td>IoT Traffic Lights</td></tr><tr><td><strong>Módulos compatibles</strong></td><td>X-NODEs y <a href="https://www.mikroe.com/click-boards">Click Boards™</a></td></tr><tr><td><strong>Estándares compatibles</strong></td><td><a href="https://www.mikroe.com/mikrobus">mikroBUS™</a> </td></tr><tr><td><strong>Salidas de control</strong></td><td><p>24 salidas AC, N común, con protección contra sobrecorriente mediante fusible cilíndrico.</p><p>El control de las salidas se realiza mediante 3 expansores de puertos I2C <a href="https://ww1.microchip.com/downloads/en/DeviceDoc/21919e.pdf">MCP23008T</a>.</p><p>Los relevadores de estado sólido <a href="https://www3.panasonic.biz/ac/e_download/control/relay/solid-state/catalog/semi_eng_aqg.pdf">AQG22205</a> pueden controlar una carga de hasta 240VAC 2A.</p></td></tr><tr><td><strong>Sensores de corriente</strong></td><td>Los 12 sensores de corriente ACS723 de efecto Hall permiten realizar mediciones precisas del consumo de corriente instantáneo, detectar fallas y pueden configurarse en una banda de frecuencia de funcionamiento de 20 kHz para atenuación de ruido eléctrico o en 80kHz para aplicaciones de alto ancho de banda. </td></tr><tr><td><strong>Sensor de luz ambiental</strong></td><td>El sensor digital de luz ambiental y proximidad (8) <a href="https://look.ams-osram.com/m/414abb523da40e66/original/SFH-7779.pdf">SFH 7779 </a>de <a href="https://www.osram.es/cb/">OSRAM®</a> puede indicar si el dispositivo fue abierto de forma no autorizada al detectar los cambios en la iluminación. Sensor de luz ambiental con detección de 0.0022 a 73000 lx, supresión de ruido a 50 Hz/60 Hz y consumo típico de 90µA. Sensor de proximidad con detección de hasta 160 mm y corriente de pulso programable de hasta 200 mA.</td></tr><tr><td><strong>Sensor de temperatura y humedad</strong></td><td>El sensor digital de temperatura y humedad (5) <a href="https://sensirion.com/products/catalog/SHT40">SHT40</a> de<a href="https://www.sensirion.com/en/"> Sensirion®</a> puede utilizarse para monitorear que el dispositivo trabaje dentro de rangos de operación aceptables. Sensor de temperatura y humedad con detección de 0 °C a 85 °C con una precisión típica de +/- 0.2 °C y +/- 1.8% RH, calibración automática, consumo de 0.5 mA y alta relación señal/ruido.</td></tr><tr><td><strong>Reloj en tiempo real (RTC)</strong></td><td>El reloj en tiempo real (RTC) MCP79401 permite llevar un seguimiento preciso del tiempo y permite programar operaciones que dependan de este. Su consumo menor a 1 µA y su circuito de cambio automático a batería le permite conservar la configuración de tiempo incluso en casos de falla de la red eléctrica además de registrar la fecha y hora de la incidencia.</td></tr><tr><td><strong>Panel LED indicador de estado</strong></td><td>El panel de indicadores LED (4) es una herramienta útil en el diagnóstico de fallas, permitiendo identificar rápidamente si el origen de la falla se encuentra en la etapa de control o en la etapa de potencia.</td></tr><tr><td><strong>Buzzer pasivo</strong></td><td>Buzzer pasivo (2) controlado mediante señal PWM, permite crear alertas sonoras programables, por ejemplo, indicar fallas, alertar sobre condiciones de operación inusuales o alertas para el público. Puede utilizarse con dispositivos externos acoplando la señal PWM a través de los pines de salida del buzzer.</td></tr><tr><td><strong>Entrada de botón de propósito general</strong></td><td>La entrada de botón de propósito general (3) puede programarse para ejecutar operaciones, enviar notificaciones, etc. Se encuentra conectada al pin CS del conector <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a>.</td></tr><tr><td><strong>Voltaje de alimentación</strong></td><td><p>120-220 VAC 50-60Hz</p><p>La fuente de poder LDL1117 ofrece una salida de 5V/1A y 3.3V para el circuito de control y los conectores mikroBUS™. Es posible controlar el encendido y apagado de la tarjeta conectando un interruptor a los pines designados para ello (10).</p></td></tr><tr><td><strong>Tamaño</strong></td><td>214.34 x 167.58 x 21.36 mm</td></tr></tbody></table>

| <p><strong>Sensores de corriente</strong><br><strong>F1, F2, F3 y F4</strong><br><strong>I2C: 0x48</strong></p> | <p>Canal 0: F1 fases A, B, C</p><p>Canal 1: F1 fase D</p><p>Canal 2: F2 fases A, B, C</p><p>Canal 3: F2 fase D</p><p>Canal 4: F3 fases A, B, C</p><p>Canal 5: F3 fase D</p><p>Canal 6: F4 fases A, B, C</p><p>Canal 7: F4 fase D</p> |
| --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <p><strong>Sensores de corriente</strong><br><strong>F5 y F6</strong><br><strong>I2C: 0x49</strong></p>         | <p>Canal 0: F5 fases A, B, C</p><p>Canal 1: F5 fase D</p><p>Canal 2: F6 fases A, B, C</p><p>Canal 3: F6 fase D</p>                                                                                                                   |

## **IV. Pinout**

<figure><img src="/files/q7esWvUFcgaIE4QOShbk" alt="" width="375"><figcaption></figcaption></figure>

<figure><img src="/files/b309lu8wUaVAi85bdR0g" alt="" width="375"><figcaption></figcaption></figure>

## **V. Descargas**

<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"><mark style="color:green;"><strong>Dimensiones</strong></mark> </td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F4YIdWcdIZy0yzTmDyPzY%2FDIMENSIONS%20IoT%20Traffic%20Light%20Controller%20Board.pdf?alt=media&#x26;token=3898ae0f-edea-4cf8-b36b-8b48f1ff14c6">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F4YIdWcdIZy0yzTmDyPzY%2FDIMENSIONS%20IoT%20Traffic%20Light%20Controller%20Board.pdf?alt=media&#x26;token=3898ae0f-edea-4cf8-b36b-8b48f1ff14c6</a></td></tr></tbody></table>


# Red  Celular IoT


# SIMs


# SIM Card – Multicarrier

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/membresia-sim-multicarrier-297">https://www.microside.com/shop/membresia-sim-multicarrier-297</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Recarga Saldo</strong></mark></td><td><a href="https://www.microside.com/shop/recarga-membresia-sim-multicarrier-259">https://www.microside.com/shop/recarga-membresia-sim-multicarrier-259</a></td></tr></tbody></table>

La **SIM Card – Multicarrier** cuenta con conectividad global a través de roaming internacional. Es ideal para proyectos IoT donde se requiere redundancia en la conectividad de red celular ya que se conecta con los principales operadores en México: **AT\&T, Telcel y Movistar**. Tiene un plan precargado de **50 MB de datos con vigencia de 6 meses** a partir de la primera conexión. Se envía en formato estándar de tarjeta plástica 1FF con tres opciones de uso: mini SIM (2FF), micro SIM (3FF) y nano SIM (4FF).

### **Recargar saldo**

Al término de los 50MB o el periodo de vigencia de 6 meses es posible realizar una nueva recarga en el siguiente link:

<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"><mark style="color:green;"><strong>Recargar Saldo</strong></mark></td><td><a href="https://www.microside.com/shop/recarga-membresia-sim-multicarrier-259">https://www.microside.com/shop/recarga-membresia-sim-multicarrier-259</a></td></tr></tbody></table>

### **TABLA DE CONTENIDO**

1. [**Especificaciones**](#i.-especificaciones)
2. [**Dimensiones**](#ii.-dimensiones)

## **I. Especificaciones**

<table data-header-hidden><thead><tr><th width="189"></th><th></th></tr></thead><tbody><tr><td><strong>Aplicaciones</strong></td><td>Integración en dispositivos móviles, proyectos de IoT, Industria 4.0 y aplicaciones M2M</td></tr><tr><td><strong>Carrier</strong></td><td>AT&#x26;T, Telcel y Movistar</td></tr><tr><td><strong>APN</strong></td><td>Internet4gd.gdsp</td></tr><tr><td><strong>Dimensiones</strong></td><td>85.6 x 54 mm</td></tr><tr><td><strong>MB incluidos</strong></td><td>50</td></tr><tr><td><strong>Vigencia</strong></td><td>6 meses</td></tr></tbody></table>

## **II. Dimensiones**

<figure><img src="/files/8cDvzzsuv0g8C80zsebx" alt="" width="563"><figcaption></figcaption></figure>


# SIM Card – Telcel

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/membresia-sim-am-298">https://www.microside.com/shop/membresia-sim-am-298</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Recarga Saldo</strong></mark></td><td><a href="https://www.microside.com/shop/recarga-membresia-sim-am-173">https://www.microside.com/shop/recarga-membresia-sim-am-173</a></td></tr></tbody></table>

La **SIM Card – Telcel** cuenta con conectividad global a través de roaming internacional. Es ideal para proyectos IoT donde se requiere cobertura en conectividad de red celular con el principal carrier de México. Tiene un plan precargado de **50 MB de datos con vigencia de 6 meses** a partir de la primera conexión. Se envía en formato estándar de tarjeta plástica 1FF con tres opciones de uso: mini SIM (2FF), micro SIM (3FF) y nano SIM (4FF).

### **Recargar saldo**

Al término de los 50MB o el periodo de vigencia de 6 meses es posible realizar una nueva recarga en el siguiente link:

<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"><mark style="color:green;"><strong>Recargar Saldo</strong></mark></td><td><a href="https://www.microside.com/shop/recarga-membresia-sim-am-173">https://www.microside.com/shop/recarga-membresia-sim-am-173</a></td></tr></tbody></table>

### **TABLA DE CONTENIDO**

1. [**Especificaciones**](#i.-especificaciones)
2. [**Dimensiones**](#ii.-dimensiones)

## **I. Especificaciones**

<table data-header-hidden><thead><tr><th width="189"></th><th></th></tr></thead><tbody><tr><td><strong>Aplicaciones</strong></td><td>Integración en dispositivos móviles, proyectos de IoT, Industria 4.0 y aplicaciones M2M</td></tr><tr><td><strong>Carrier</strong></td><td>Telcel</td></tr><tr><td><strong>APN</strong></td><td>linksnet</td></tr><tr><td><strong>Dimensiones</strong></td><td>85.6 x 54 mm</td></tr><tr><td><strong>MB incluidos</strong></td><td>50</td></tr><tr><td><strong>Vigencia</strong></td><td>6 meses</td></tr></tbody></table>

## **II. Dimensiones**

<figure><img src="/files/8cDvzzsuv0g8C80zsebx" alt="" width="563"><figcaption></figcaption></figure>


# Antenas

* [Antena LTE YE0004AA](/plataforma-xide-iot/red-celular-iot/antenas/antena-lte-ye0004aa)
* [Antena LTE YF0006AA](/plataforma-xide-iot/red-celular-iot/antenas/antena-lte-yf0006aa)
* [Antena LTE YMLR001](/plataforma-xide-iot/red-celular-iot/antenas/antena-lte-ymlr001)
* [Antena Activa GPS](/plataforma-xide-iot/red-celular-iot/antenas/antena-activa-gps)
* [Antena Activa GPS YG0015AA](/plataforma-xide-iot/red-celular-iot/antenas/antena-activa-gps-yg0015aa)
* [Antena Pasiva GPS YEGT001AA](/plataforma-xide-iot/red-celular-iot/antenas/antena-pasiva-gps-yegt001aa)


# Antena LTE YE0004AA

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/antena-lte-ye0004aa-115">https://www.microside.com/shop/antena-lte-ye0004aa-115</a></td></tr></tbody></table>

La **Antena LTE - YE0004AA** está diseñada con material ABS, es movible y cuenta con un conector SMA macho, ofreciendo un rendimiento superior para usarse ampliamente en aplicaciones inalámbricas de conectividad celular LTE CAT-M1 y NB-IoT.\
Es ideal para uso en módulos de conectividad celular **X-NODE** y proyectos enfocados al Internet de las Cosas e Industria 4.0.

### **TABLA DE CONTENIDO**

1. [**Dimensiones**](#i.-dimensiones)
2. [**Especificaciones**](#ii.-especificaciones)

## **I. Dimensiones**

<figure><img src="/files/nwEM0mRsz5GUVin1GBRI" alt="" width="563"><figcaption></figcaption></figure>

## **II. Especificaciones**

<table data-header-hidden><thead><tr><th width="276"></th><th></th></tr></thead><tbody><tr><td><strong>Conector</strong></td><td>SMA Macho</td></tr><tr><td><strong>Rango de frecuencia (MHz)</strong></td><td>700–2700</td></tr><tr><td><strong>Impedancia de entrada (Ω)</strong></td><td>50</td></tr><tr><td><strong>VSWR</strong></td><td>≤ 2.0</td></tr><tr><td><strong>Ganancia (dBi)</strong></td><td>≤ 5</td></tr><tr><td><strong>Tipo de polarización</strong></td><td>Lineal</td></tr><tr><td><strong>Temperatura de trabajo (°C)</strong></td><td>-20 a +80</td></tr><tr><td><strong>Dimensiones</strong></td><td>208 x Ø12 mm</td></tr></tbody></table>


# Antena LTE YF0006AA

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/antena-lte-yf0006aa-116">https://www.microside.com/shop/antena-lte-yf0006aa-116</a></td></tr></tbody></table>

La **Antena LTE YF0006AA** está diseñada con material FPC para ofrecer un rendimiento superior y usarse ampliamente en aplicaciones inalámbricas de conectividad celular LTE CAT-M1 y NB-IoT.\
Es ideal para uso en módulos de conectividad celular **X-NODE** y proyectos enfocados al Internet de las Cosas e Industria 4.0.

### **TABLA DE CONTENIDO**

1. [**Dimensiones**](#i.-dimensiones)
2. [**Especificaciones**](#ii.-especificaciones)

## **I. Dimensiones**

<figure><img src="/files/YCYGB2SEmeFIZngTfvqM" alt="" width="563"><figcaption></figcaption></figure>

## **II. Especificaciones**

<table data-header-hidden><thead><tr><th width="276"></th><th></th></tr></thead><tbody><tr><td><strong>Conector</strong></td><td>U.FL IPX</td></tr><tr><td><strong>Material</strong></td><td>FPC</td></tr><tr><td><strong>Rango de frecuencia (MHz)</strong></td><td>690–960, 1710–2170, 2300–2690</td></tr><tr><td><strong>Impedancia de entrada (Ω)</strong></td><td>50</td></tr><tr><td><strong>VSWR</strong></td><td>≤ 3.0</td></tr><tr><td><strong>Ganancia (dBi)</strong></td><td>≤ 6</td></tr><tr><td><strong>Tipo de polarización</strong></td><td>Lineal</td></tr><tr><td><strong>Temperatura de trabajo (°C)</strong></td><td>-20 a +80</td></tr><tr><td><strong>Dimensiones</strong></td><td>50 x 25 x 0.13 mm</td></tr></tbody></table>


# Antena LTE YMLR001

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/antena-lte-ymlr001-50">https://www.microside.com/shop/antena-lte-ymlr001-50</a></td></tr></tbody></table>

La **Antena LTE YMLR001** está diseñada en una posición recta para ofrecer un rendimiento superior y usarse ampliamente en aplicaciones inalámbricas de conectividad celular **LTE CAT-M1 y NB-IoT**. Es ideal para uso en módulos de conectividad celular **X-NODE** ya que cuenta con un conector SMA macho e incluye un adaptador de SMA a U.FL IPX 1.13 de 15 cm.

### **TABLA DE CONTENIDO**

1. [**Dimensiones**](#i.-dimensiones)
2. [**Especificaciones**](#ii.-especificaciones)

## **I. Dimensiones**

<figure><img src="/files/opDThX41LiTqncT1IaaA" alt="" width="563"><figcaption></figcaption></figure>

## **II. Especificaciones**

<table data-header-hidden><thead><tr><th width="276"></th><th></th></tr></thead><tbody><tr><td><strong>Conector</strong></td><td>SMA Macho</td></tr><tr><td><strong>Rango de frecuencia (MHz)</strong></td><td>824–960; 1710–2170</td></tr><tr><td><strong>Impedancia de entrada (Ω)</strong></td><td>50</td></tr><tr><td><strong>VSWR</strong></td><td>≤ 2.1</td></tr><tr><td><strong>Ganancia (dBi)</strong></td><td>≤ 2</td></tr><tr><td><strong>Tipo de polarización</strong></td><td>Vertical</td></tr><tr><td><strong>Temperatura de trabajo (°C)</strong></td><td>-20 a +75</td></tr><tr><td><strong>Dimensiones</strong></td><td>48 x Ø8 mm</td></tr></tbody></table>


# Antena Activa GPS

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/antena-activa-gps-113">https://www.microside.com/shop/antena-activa-gps-113</a></td></tr></tbody></table>

La **Antena Activa GPS** es ideal para aplicaciones que requieren de una alta precisión de posicionamiento mediante la combinación de señales en sistemas GPS, GLONASS. Cuenta con un conector SMA macho, un cable de 2.8 metros de largo y una superficie magnética plana para mantenerla estable en diversas superficies.

Posee una carcasa totalmente resistente al agua IP67 y resistente a los rayos UV, permitiendo su uso en entornos al aire libre.

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

### **TABLA DE CONTENIDO**

1. [**Dimensiones**](#i.-dimensiones)
2. [**Especificaciones**](#ii.-especificaciones)

## **I. Dimensiones**

<figure><img src="/files/ZMqqI4pao5TVWnxQJhI5" alt="" width="563"><figcaption></figcaption></figure>

## **II. Especificaciones**

<table data-header-hidden><thead><tr><th width="299"></th><th></th></tr></thead><tbody><tr><td><strong>Conector</strong></td><td>SMA Macho</td></tr><tr><td><strong>Frecuencia (MHz)</strong></td><td>1,575.42</td></tr><tr><td><strong>Voltaje</strong></td><td>3 a 5 V</td></tr><tr><td><strong>Corriente Max.</strong></td><td>20 mA</td></tr><tr><td><strong>Ganancia LNA (dBi)</strong></td><td>28</td></tr><tr><td><strong>Polarización</strong></td><td>RHCP</td></tr><tr><td><strong>Temperatura de operación (°C)</strong></td><td>-40 a +85</td></tr><tr><td><strong>Dimensiones</strong></td><td>48 x 37 x 16 mm</td></tr><tr><td><strong>Peso (g)</strong></td><td>80</td></tr></tbody></table>


# Antena Activa GPS YG0015AA

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/antena-activa-gps-yg0015aa-51">https://www.microside.com/shop/antena-activa-gps-yg0015aa-51</a></td></tr></tbody></table>

La **Antena Activa GPS YG0015AA** está fabricada con material cerámico y es ideal para aplicaciones que requieren de una alta precisión de posicionamiento mediante la combinación de señales en sistemas GPS, GLONASS.

### **TABLA DE CONTENIDO**

1. [**Dimensiones**](#i.-dimensiones)
2. [**Especificaciones**](#ii.-especificaciones)

## **I. Dimensiones**

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

## **II. Especificaciones**

<table data-header-hidden><thead><tr><th width="299"></th><th></th></tr></thead><tbody><tr><td><strong>Conector</strong></td><td>U.FL IPEX MHF I</td></tr><tr><td><strong>Material</strong></td><td>Cerámico</td></tr><tr><td><strong>Impedancia de entrada (Ω)</strong></td><td>50</td></tr><tr><td><strong>Frecuencia (MHz)</strong></td><td>1575.42 – 1602</td></tr><tr><td><strong>VSWR</strong></td><td>≤ 2.0</td></tr><tr><td><strong>Ganancia LNA</strong></td><td><p>1575.42 MHz: 26.0 ±3.0 dB</p><p>1602 MHz: 25.0 ±3.0 dB</p></td></tr><tr><td><strong>Voltaje</strong></td><td>3 V</td></tr><tr><td><strong>Corriente</strong></td><td>8.0 ±3.0 mA</td></tr><tr><td><strong>Polarización</strong></td><td>RHCP</td></tr><tr><td><strong>Temperatura de operación (°c)</strong></td><td>-40 a +85</td></tr><tr><td><strong>Dimensiones</strong></td><td>25 x 25 x 7.6 mm</td></tr></tbody></table>


# Antena Pasiva GPS YEGT001AA

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/antena-pasiva-gps-yegt001aa-114">https://www.microside.com/shop/antena-pasiva-gps-yegt001aa-114</a></td></tr></tbody></table>

La **Antena Pasiva GPS YEGT001AA** tiene una posición fija de 90° con un conector SMA macho, es ideal para aplicaciones que requieren de una alta precisión de posicionamiento mediante la combinación de señales en sistemas GPS, GLONASS.

### **TABLA DE CONTENIDO**

1. [**Dimensiones**](#i.-dimensiones)
2. [**Especificaciones**](#ii.-especificaciones)

## **I. Dimensiones**

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

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

## **II. Especificaciones**

<table data-header-hidden><thead><tr><th width="299"></th><th></th></tr></thead><tbody><tr><td><strong>Conector</strong></td><td>SMA Macho</td></tr><tr><td><strong>Material</strong></td><td>ABS</td></tr><tr><td><strong>Certificación IP</strong></td><td>IP64</td></tr><tr><td><strong>Impedancia de entrada (Ω)</strong></td><td>50</td></tr><tr><td><strong>Frecuencia (MHz)</strong></td><td>1555–1605</td></tr><tr><td><strong>VSWR</strong></td><td>≤ 2.0</td></tr><tr><td><strong>Ganancia (dBi)</strong></td><td>≤ 3.16</td></tr><tr><td><strong>Polarización</strong></td><td>Lineal</td></tr><tr><td><strong>Temperatura de operación (°c)</strong></td><td>-40 a +85</td></tr><tr><td><strong>Dimensiones</strong></td><td>50 x Ø10 mm</td></tr></tbody></table>


# Accesorios


# Gabinete Industrial

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

Las cajas estancas son gabinetes de registro donde se pueden derivar circuitos hacia nuevas direcciones o trayectorias dependiendo de la necesidad de cada usuario. Las cajas estancas están diseñadas para proteger las conexiones eléctricas contra adversidades del exterior como lo son agua y polvo.&#x20;

Esta caja tipo pared lisa (con lados cerrados) de sellado con tornillo cuenta con una tapa a presión con cierre hermético IP65 y 12 entradas compatibles con tubo conduit PVC y galvanizado. Está hecha de un material termoplástico, auto extinguible.

<figure><img src="/files/k3wJU8PrnGMClIy9b1on" alt="" width="480"><figcaption></figcaption></figure>

### **TABLA DE CONTENIDO**

1. [**Dimensiones**](#i.-dimensiones)
2. [**Especificaciones**](#ii.-especificaciones)

## **I. Dimensiones**

<figure><img src="/files/hv1sMEDtQ7eGWFwM8zJ3" alt="" width="300"><figcaption></figcaption></figure>

## II. Especificaciones

<table data-header-hidden><thead><tr><th width="276"></th><th></th></tr></thead><tbody><tr><td><strong>Aplicaciones</strong></td><td>Protección de circuitos para uso exterior contra intemperie</td></tr><tr><td><strong>Modelo</strong></td><td>WDL1715S</td></tr><tr><td><strong>Protección</strong></td><td>IP65</td></tr><tr><td><strong>Material</strong></td><td>ABS Termoplástico auto-extinguible</td></tr><tr><td><strong>Color</strong></td><td>Gris</td></tr><tr><td><strong>Tipo de cierre</strong></td><td>Tornillos ¼ vuelta</td></tr><tr><td><strong>Dimensiones</strong></td><td>175 x 150 x 80 mm</td></tr></tbody></table>

## III. Accesorios incluidos

&#x20;

* 1 x Cable tomacorriente para corriente alterna.
* 1 x Porta fusible tipo europeo 2A.
* 5 x Glándulas sujetadoras PG9.
* 1 x Cable USB C.


# Acerca de...


# Plataforma XIDE

## ¿Qué es XIDE?

**XIDE®** es una plataforma de hardware modular integrada por módulos **X-NODE** y tarjetas de expansión **X-BOARD,** diseñado para incorporar **en menos de 24 hrs,** prototipos de hardware para **proyectos de IoT.**

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

## ¿Cómo se conforma?

### X-NODE

El X-NODE es un módulo integrado por un sensor, actuador o módulo de comunicación y un controlador en hardware, cuenta con el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus), que lo hace compatible con un gran ecosistema de kits para desarrollo de hardware. También integra conectores JST compatibles con el estándar de conexión [**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.

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

### X-BOARD

Las X-BOARD son tarjetas de expansión para la evaluación rápida y sencilla de proyectos orientados al IoT, son compatibles con diferentes herramientas de desarrollo y cuentan con el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus), lo cual las hace compatibles con módulos X-NODE y [**Click Boards™**](https://www.mikroe.com/click-boards), también integran conectores JST compatibles con el estándar de conexión [**Qwiic®**](https://www.sparkfun.com/qwiic) de [**SparkFun®**](https://www.sparkfun.com/), que brinda una comunicación entre diversos módulos y tarjetas de desarrollo por medio del protocolo I2C.

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


# Estándar mikroBUS™

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

## El estándar de conexión con más crecimiento en el mundo

<table data-header-hidden data-full-width="true"><thead><tr><th width="206"></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td><img src="/files/VT04dZplHC7N3TihHCAD" alt=""></td><td><h4>Menor número de pines<br>es más capacidad de expansión.</h4><p>El estándar mikroBUS™ comprende un par de headers hembra 1×8 con una configuración de pines patentada y marcas de serigrafía. El pinout (siempre dispuesto en el mismo orden) consta de tres grupos de pines de comunicación (SPI, UART e I2C), seis pines adicionales (PWM, interrupción, Entrada Analógica, Reset y Chip Select) y dos voltajes de alimentación (+3.3V y 5V).</p></td><td></td></tr><tr><td><img src="/files/PaTeVguypD2CEWpxVJUE" alt=""></td><td><h4>Simplifica el desarrollo, maximiza la eficiencia</h4><p>mikroSDK hace que el código de la aplicación sea portable y reutilizable en diferentes plataformas y arquitecturas, prácticamente sin cambiar ni una sola línea de código.</p></td><td></td></tr><tr><td><img src="/files/VUDOCj0amlaz78wA38OT" alt=""></td><td><h4>Simplemente hace "Click"</h4><p>Las tarjetas complementarias de MIKROE son la forma más fácil de agregar sensores, interfaces, control o comunicación inalámbrica en tu diseño. Basado en el estándar de conexión mikroBUS™, los Click Boards™ agregan una increíble capacidad de integración en cualquier sistema con facilidad.</p></td><td></td></tr></tbody></table>

## Integra el estándar mikroBUS™ en tu diseño

<figure><img src="https://cdn.mikroe.com/img/mikrobus/mikrobussocket.jpg" alt=""><figcaption></figcaption></figure>

#### Un estándar abierto

mikroBUS™ - es el estándar de conexión que ofrece la máxima capacidad de expansión con el menor número de pines. Intégralo en tu diseño y abre las puertas de miles de posibilidades utilizando las tarjetas Click boards™ compatibles.

Agregar un zócalo mikroBUS™ a tu diseño te permitirá utilizar el catálogo de Click boards™ que cada vez se hace mayor. Sensores, módulos inalámbricos, transceptores, amplificadores de audio, pantallas LED y mucho más. Es la forma más sencilla de agregar máxima conectividad a tus proyectos. Todos los principales proveedores de componentes electrónicos aceptan el estándar mikroBUS™ y lo han añadido a sus tarjetas de desarrollo, así que únete a esta revolución.

## Conoce más

{% embed url="<https://www.mikroe.com/mikrobus>" %}


# Estándar Qwiic®

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

## El prototipado con I2C nunca había sido tan fácil

El estándar [**Qwiic Connect**](https://www.sparkfun.com/qwiic#overview) de [**SparkFun**](https://www.sparkfun.com) utiliza conectores JST de 4 pines para unir rápidamente tarjetas de desarrollo con sensores, LCDs, módulos y más.

<figure><img src="/files/0cBmRMqNCSVMiqBnY4jr" alt=""><figcaption></figcaption></figure>

## Beneficios

El estándar **Qwiic Connect** está diseñado para mantener tus proyectos en movimiento.

{% embed url="<https://www.youtube.com/watch?v=x0RDEHqFIF8>" %}

<table data-header-hidden><thead><tr><th width="162"></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td><img src="/files/lhNzXDuJyXgXs4ZZh7rF" alt=""></td><td><h4>Sin soldadura</h4><p>Los cables Qwiic (JST de 4 pines) se conectan fácilmente desde tarjetas de desarrollo a sensores, shields, módulos de accesorios y más, lo que facilita el trabajo de configurar un nuevo prototipo.</p></td><td></td></tr><tr><td><img src="/files/xG8HfEHTExaHL2W1dRhV" alt=""></td><td><h4>Conector polarizado</h4><p>No hay necesidad de preocuparse por intercambiar accidentalmente los cables SDA y SCL en tu tarjeta de pruebas. El conector Qwiic está polarizado para encajar de manera correcta.</p></td><td></td></tr><tr><td><img src="/files/ddat2gYkMgJSTyqWLdy3" alt=""></td><td><h4>Compatible con conexión en cadena</h4><p>¡Es hora de aprovechar el poder del bus I2C! La mayoría de las tarjetas Qwiic tienen dos o más conectores, lo que permite conectar múltiples dispositivos.</p></td><td></td></tr></tbody></table>

## Conoce más

{% embed url="<https://www.sparkfun.com/qwiic#overview>" %}


# X-TRAINER


# X-TRAINER LITE M


# R3

* [X-TRAINER LITE M R3 PIC18F45K50](/tarjetas-de-desarrollo-pics/x-trainer/x-trainer-lite-m/r3/x-trainer-lite-m-r3-pic18f45k50)
* [X-TRAINER LITE M R3 PIC18F4550](/tarjetas-de-desarrollo-pics/x-trainer/x-trainer-lite-m/r3/x-trainer-lite-m-r3-pic18f4550)
* [X-TRAINER LITE M R3 PIC16F877A](/tarjetas-de-desarrollo-pics/x-trainer/x-trainer-lite-m/r3/x-trainer-lite-m-r3-pic16f877a)
* [X-TRAINER LITE M R3 PIC16F887](/tarjetas-de-desarrollo-pics/x-trainer/x-trainer-lite-m/r3/x-trainer-lite-m-r3-pic16f887)


# X-TRAINER LITE M R3 PIC18F45K50

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/x-trainer-lite-m-pic18f45k50-entrenador-41">https://www.microside.com/shop/x-trainer-lite-m-pic18f45k50-entrenador-41</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Prácticas</strong></mark></td><td><a href="https://docs.microside.com/manuales-de-usuario/tarjetas-de-desarrollo/x-trainer-lite-m-r3-pic18f45k50#vii.-practicas">https://docs.microside.com/manuales-de-usuario/tarjetas-de-desarrollo/x-trainer-lite-m-r3-pic18f45k50#vii.-practicas</a></td></tr></tbody></table>

**X-TRAINER LITE M R3** es una tarjeta de desarrollo aprobada por [**Microchip Technology®**](https://www.microchip.com/) para proyectos electrónicos, posee el microcontrolador [**PIC18F45K50**](https://www.microchip.com/en-us/product/PIC18F45K50) con **bootloader integrado** que permitirá programarlo por USB sin necesidad de programadores externos.

Su diseño permite la programación, depuración e implementación de códigos, convirtiéndola en la opción ideal para estudiantes y profesionales.

**Incluye prácticas** compatibles con los compiladores **mikroC PRO for PIC**, **MPLAB X IDE (XC8 Compiler, PIC-AS Compiler y MPASM Compiler) y PIC C COMPILER**.

### **TABLA DE CONTENIDO**

1. [**Información**](#i.-informacion)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
3. [**Especificaciones**](#iii.-especificaciones)
4. [**Puerto de programación externa ICSP**](#iv.-puerto-de-programacion-externa-icsp)
5. [**Ejemplo de conexión**](#v.-ejemplo-de-conexion)
6. [**Programación de la tarjeta**](#vi.-programacion-de-la-tarjeta)
   * [**Instalación del software**](#instalacion-del-software)
   * [**Subir proyecto**](#subir-proyecto)
7. [**Prácticas**](#vii.-practicas)
   * [**PIC C Compiler CCS**](/practicas/pic-c-compiler-ccs/pic18f4550-or-pic18f45k50)&#x20;
   * [**mikroC PRO for PIC** ](/practicas/mikroc-pro-for-pic/pic18f4550-or-pic18f45k50)
   * [**MPLAB X IDE XC8 Compiler**](/practicas/mplab-x-ide/xc8-compiler/pic18f4550-or-pic18f45k50)
   * [**MPLAB X IDE PIC-AS Compiler**](/practicas/mplab-x-ide/pic-as-compiler/pic18f4550-or-pic18f45k50)
   * [**MPLAB X IDE MPASM Compiler** ](/practicas/mplab-x-ide/mpasm-compiler/pic18f4550-or-pic18f45k50)
8. [**Descargas**](#viii.-descargas)&#x20;
   * [**Software de programación X-TRAINER Suite v1.0**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite) **para archivos .hex**
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FaxOZ3scPqZcNlpIKOjnH%2FSCHEMATIC%20X-TRAINER%20LITE%20M%20R3%20PIC18.pdf?alt=media\&token=f97cf732-36f6-4b5e-b582-dbbed709cfe0)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FNz6cxB0r4pYwXiwFxgN5%2FDIMENSIONS%20X-TRAINER%20LITE%20M%20R3.PDF?alt=media\&token=bb9b8364-51a5-470f-ae36-9de1e7287361)

## **I. Información**

**X-TRAINER LITE M R3** cuenta con la nueva característica de integrar un conector USB tipo C, conservando su conector SIL de 40 pines clasificado por puertos que facilita la integración en un protoboard, así como orificios para un acceso extra a las señales.&#x20;

Dispone de un botón RESET, un LED indicador, un botón de propósito general, un puerto USB tipo C para comunicación o alimentación y un puerto ICSP para el uso de programadores externos.

**X-TRAINER LITE M R3** se ofrece con un microcontrolador [**PIC18F45K50**](https://www.microchip.com/en-us/product/PIC18F45K50) precargado con **bootloader Microside** para un uso inmediato a través del puerto USB sin necesidad de un programador externo.

{% hint style="danger" %}
**¡ Advertencia !** Si se programa un PIC18F45K50 que cuente con **bootloader Microside** precargado por medio del puerto ICSP con un programador externo, se **borrará** el bootloader y será necesario adquirir un **nuevo PIC con bootloader Microside**.
{% endhint %}

## II. Descripción del hardware

<figure><img src="/files/LzKyUNazUF0BYT4ZA2bw" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/Jxys8UTTVaOX7rSIujOl" alt="" width="563"><figcaption></figcaption></figure>

1. Puerto USB tipo C para alimentación de 5 VDC o comunicación USB
2. Resonador integrado de 20 MHz
3. Puerto de programación ICSP para conectar depuradores o programadores externos&#x20;

{% hint style="danger" %}
**¡ Advertencia !** Si se programa un PIC18F45K50 que cuente con **bootloader Microside** precargado por medio del puerto ICSP con un programador externo, se **borrará** el bootloader y será necesario adquirir un **nuevo PIC con bootloader Microside**.
{% endhint %}

4. Jumper para asignar el LED integrado al pin A4 o A1 (asignado de fábrica al pin A4)
5. LED indicador de encendido
6. RESET: Botón con resistencia de pull-up, conectado al pin RESET\
   BOOT: Botón con resistencia de pull-up, conectado al pin A2
7. LED indicador de propósito general conectado al pin A4 o A1 (depende la configuración del jumper LED)
8. Microcontrolador [**PIC18F45K50**](https://www.microchip.com/en-us/product/PIC18F45K50)
9. Orificios de acceso y conector SIL de 40 pines con los puertos del PIC serigrafiados para su fácil identificación
10. Versión del hardware: R3

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td>Microcontrolador</td><td><a href="https://www.microchip.com/en-us/product/PIC18F45K50">PIC18F45K50</a></td><td></td></tr><tr><td>Voltaje de operación</td><td>5 VDC</td><td></td></tr><tr><td>Pines</td><td>40</td><td></td></tr><tr><td>Puerto de programación</td><td>ICSP</td><td></td></tr><tr><td>Tamaño</td><td>101.68 x 36.12 x 16.59 mm</td><td></td></tr></tbody></table>

## **IV. Puerto de programación externa ICSP**

La siguiente imagen muestra el pinout del puerto de programación ICSP, la orientación se puede identificar gracias a la flecha en forma de triángulo que está localizada a un costado del puerto.&#x20;

{% hint style="danger" %}
**¡ Advertencia !** Si se programa un PIC18F45K50 que cuente con **bootloader Microside** precargado por medio del puerto ICSP con un programador externo, se **borrará** el bootloader y será necesario adquirir un **nuevo PIC con bootloader Microside**.
{% endhint %}

<figure><img src="/files/DyUsgfucqrBU5qpWMJ0X" alt="" width="563"><figcaption></figcaption></figure>

## **V. Ejemplo de conexión**

### **Programación por medio del puerto USB**

{% hint style="warning" %}
Solo si el PIC cuenta con un **bootloader** precargado.
{% endhint %}

{% tabs %}
{% tab title="PIC18F45K50" %}

<figure><img src="/files/jCE0W3NL7MU1KY8zO7OZ" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

### **Programación por medio del puerto ICSP con un programador externo**

{% hint style="danger" %}
**¡ Advertencia !** Si se programa un PIC18F45K50 que cuente con **bootloader Microside** precargado por medio del puerto ICSP con un programador externo, se **borrará** el bootloader y será necesario adquirir un **nuevo PIC con bootloader Microside**.
{% endhint %}

{% tabs %}
{% tab title="PIC18F45K50" %}

<figure><img src="/files/DCEuSUNoquaRpvHp0Bkk" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

## VI. Programación de la tarjeta

{% embed url="<https://www.tiktok.com/@microside.com/video/7327758783956995333?is_from_webapp=1&sender_device=pc&web_id=7299528151892362758>" %}

Para cargar tu proyecto a la tarjeta **X-TRAINER LITE M R3** con **PIC18F45K50** se utiliza el Software **X-TRAINER Suite v1.0**.&#x20;

{% hint style="success" %}
En el apartado[ **Prácticas**](#vii.-practicas) encontrarás un listado de ejemplos en diferentes compiladores compatibles con la tarjeta **X-TRAINER LITE M R3.**
{% endhint %}

### Instalación del software

Si aún no cuentas con el Software **X-TRAINER Suite v1.0** instalado en tu computadora, en el siguiente[ **link**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite/instalacion) podrás encontrar los pasos para realizarlo.

<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"><mark style="color:green;"><strong>Instalación Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="/pages/LNXSt0fegLCzog0eQCeV">/pages/LNXSt0fegLCzog0eQCeV</a></td></tr></tbody></table>

### Subir proyecto

Ejecuta el Software **X-TRAINER Suite v1.0** y realiza los pasos del siguiente [**link**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite/pic18f4550-45k50).

<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>P</strong><mark style="color:green;"><strong>rogramar con el Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="/pages/mh6kbS7PjZE7WxnmAmEu">/pages/mh6kbS7PjZE7WxnmAmEu</a></td></tr></tbody></table>

{% hint style="warning" %}
Para subir tus propios proyectos al **X-TRAINER LITE M R3** con **PIC18F45K50** es **indispensable** que primero realices la **configuración del bootloader** dependiendo del compilador que utilices. Puedes consultarlo a través del siguiente [**link**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite/configuracion-de-bootloader).
{% endhint %}

## **VII. Prácticas**

{% hint style="success" %}
Prácticas compatibles con la tarjeta **X-TRAINER LITE M R3** con **PIC18F45K50.**
{% endhint %}

Selecciona el compilador de tu preferencia para comenzar a aprender:

<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"><mark style="color:green;"><strong>PIC C Compiler CCS</strong></mark></td><td><a href="https://docs.microside.com/practicas/pic-c-compiler-ccs/pic18f4550-or-pic18f45k50">https://docs.microside.com/practicas/pic-c-compiler-ccs/pic18f4550-or-pic18f45k50</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>mikroC PRO for PIC</strong></mark></td><td><a href="https://docs.microside.com/practicas/mikroc-pro-for-pic/pic18f4550-or-pic18f45k50">https://docs.microside.com/practicas/mikroc-pro-for-pic/pic18f4550-or-pic18f45k50</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>MPLAB X IDE XC8 Compiler</strong></mark></td><td><a href="https://docs.microside.com/practicas/mplab-x-ide/xc8-compiler/pic18f4550-or-pic18f45k50">https://docs.microside.com/practicas/mplab-x-ide/xc8-compiler/pic18f4550-or-pic18f45k50</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>MPLAB X IDE PIC-AS Compiler</strong></mark></td><td><a href="https://docs.microside.com/practicas/mplab-x-ide/pic-as-compiler/pic18f4550-or-pic18f45k50">https://docs.microside.com/practicas/mplab-x-ide/pic-as-compiler/pic18f4550-or-pic18f45k50</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>MPLAB X IDE MPASM Compiler</strong></mark></td><td><a href="https://docs.microside.com/practicas/mplab-x-ide/mpasm-compiler/pic18f4550-or-pic18f45k50">https://docs.microside.com/practicas/mplab-x-ide/mpasm-compiler/pic18f4550-or-pic18f45k50</a></td></tr></tbody></table>

## **VIII. Descargas**

<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"><mark style="color:green;"><strong>Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="/pages/6sj7W832lGq8xNeWjoeg">/pages/6sj7W832lGq8xNeWjoeg</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FaxOZ3scPqZcNlpIKOjnH%2FSCHEMATIC%20X-TRAINER%20LITE%20M%20R3%20PIC18.pdf?alt=media&#x26;token=f97cf732-36f6-4b5e-b582-dbbed709cfe0">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FaxOZ3scPqZcNlpIKOjnH%2FSCHEMATIC%20X-TRAINER%20LITE%20M%20R3%20PIC18.pdf?alt=media&#x26;token=f97cf732-36f6-4b5e-b582-dbbed709cfe0</a></td></tr><tr><td align="center"><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F6ZV9FUagamLwVpYJVPOa%2FDIMENSIONES%20X-TRAINER%20LITE%20M%20R3.pdf?alt=media&#x26;token=c4c81cca-1b10-4c1e-84d4-79964d5758d5"><mark style="color:green;"><strong>Dimensiones</strong></mark></a></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FNz6cxB0r4pYwXiwFxgN5%2FDIMENSIONS%20X-TRAINER%20LITE%20M%20R3.PDF?alt=media&#x26;token=bb9b8364-51a5-470f-ae36-9de1e7287361">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FNz6cxB0r4pYwXiwFxgN5%2FDIMENSIONS%20X-TRAINER%20LITE%20M%20R3.PDF?alt=media&#x26;token=bb9b8364-51a5-470f-ae36-9de1e7287361</a></td></tr></tbody></table>


# X-TRAINER LITE M R3 PIC18F4550

<figure><img src="/files/7SgNZmQA673J4FSUbUFM" alt=""><figcaption></figcaption></figure>

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/x-trainer-lite-m-pic18f4550-entrenador-78">https://www.microside.com/shop/x-trainer-lite-m-pic18f4550-entrenador-78</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Prácticas</strong></mark></td><td><a href="https://docs.microside.com/manuales-de-usuario/tarjetas-de-desarrollo/x-trainer-lite-m-r3-pic18f45k50#vii.-practicas">https://docs.microside.com/manuales-de-usuario/tarjetas-de-desarrollo/x-trainer-lite-m-r3-pic18f45k50#vii.-practicas</a></td></tr></tbody></table>

**X-TRAINER LITE M R3** es una tarjeta de desarrollo aprobada por [**Microchip Technology®**](https://www.microchip.com/) para proyectos electrónicos, posee el microcontrolador [**PIC18F4550**](https://www.microchip.com/en-us/product/PIC18F4550) con **bootloader integrado** que permitirá programarlo por USB sin necesidad de programadores externos.

Su diseño permite la programación, depuración e implementación de códigos, convirtiéndola en la opción ideal para estudiantes y profesionales.

**Incluye prácticas** compatibles con los compiladores **mikroC PRO for PIC**, **MPLAB X IDE (XC8 Compiler, PIC-AS Compiler y MPASM Compiler) y PIC C COMPILER**.

### **TABLA DE CONTENIDO**

1. [**Información**](#i.-informacion)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
3. [**Especificaciones**](#iii.-especificaciones)
4. [**Puerto de programación externa ICSP**](#iv.-puerto-de-programacion-externa-icsp)
5. [**Ejemplo de conexión**](#v.-ejemplo-de-conexion)
6. [**Programación de la tarjeta**](#vi.-programacion-de-la-tarjeta)
   * [**Instalación del software**](#instalacion-del-software)
   * [**Subir proyecto**](#subir-proyecto)
7. [**Prácticas**](#vii.-practicas)
   * [**PIC C Compiler CCS**](/practicas/pic-c-compiler-ccs/pic18f4550-or-pic18f45k50)&#x20;
   * [**mikroC PRO for PIC** ](/practicas/mikroc-pro-for-pic/pic18f4550-or-pic18f45k50)
   * [**MPLAB X IDE XC8 Compiler**](/practicas/mplab-x-ide/xc8-compiler/pic18f4550-or-pic18f45k50)
   * [**MPLAB X IDE PIC-AS Compiler**](/practicas/mplab-x-ide/pic-as-compiler/pic18f4550-or-pic18f45k50)
   * [**MPLAB X IDE MPASM Compiler** ](/practicas/mplab-x-ide/mpasm-compiler/pic18f4550-or-pic18f45k50)
8. [**Descargas**](#viii.-descargas)&#x20;
   * [**Software de programación X-TRAINER Suite v1.0**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite) **para archivos .hex**
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FaxOZ3scPqZcNlpIKOjnH%2FSCHEMATIC%20X-TRAINER%20LITE%20M%20R3%20PIC18.pdf?alt=media\&token=f97cf732-36f6-4b5e-b582-dbbed709cfe0)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FNz6cxB0r4pYwXiwFxgN5%2FDIMENSIONS%20X-TRAINER%20LITE%20M%20R3.PDF?alt=media\&token=bb9b8364-51a5-470f-ae36-9de1e7287361)

## **I. Información**

**X-TRAINER LITE M R3** cuenta con la nueva característica de integrar un conector USB tipo C, conservando su conector SIL de 40 pines clasificado por puertos que facilita la integración en un protoboard, así como orificios para un acceso extra a las señales.&#x20;

Dispone de un botón RESET, un LED indicador, un botón de propósito general, un puerto USB tipo C para comunicación o alimentación y un puerto ICSP para el uso de programadores externos.

**X-TRAINER LITE M R3** se ofrece con un microcontrolador [**PIC18F4550**](https://www.microchip.com/en-us/product/PIC18F4550) precargado con **bootloader Microside** para un uso inmediato a través del puerto USB sin necesidad de un programador externo.

{% hint style="danger" %}
**¡ Advertencia !** Si se programa un PIC18F4550 que cuente con **bootloader Microside** precargado por medio del puerto ICSP con un programador externo, se **borrará** el bootloader y será necesario adquirir un **nuevo PIC con bootloader Microside**.
{% endhint %}

## II. Descripción del hardware

<figure><img src="/files/LzKyUNazUF0BYT4ZA2bw" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/Jxys8UTTVaOX7rSIujOl" alt="" width="563"><figcaption></figcaption></figure>

1. Puerto USB tipo C para alimentación de 5 VDC o comunicación USB
2. Resonador integrado de 20 MHz
3. Puerto de programación ICSP para conectar depuradores o programadores externos&#x20;

{% hint style="danger" %}
**¡ Advertencia !** Si se programa un PIC18F4550 que cuente con **bootloader Microside** precargado por medio del puerto ICSP con un programador externo, se **borrará** el bootloader y será necesario adquirir un **nuevo PIC con bootloader Microside**.
{% endhint %}

4. Jumper para asignar el LED integrado al pin A4 o A1 (asignado de fábrica al pin A4)
5. LED indicador de encendido
6. RESET: Botón con resistencia de pull-up, conectado al pin RESET\
   BOOT: Botón con resistencia de pull-up, conectado al pin A2
7. LED indicador de propósito general conectado al pin A4 o A1 (depende la configuración del jumper LED)
8. Microcontrolador [**PIC18F4550**](https://www.microchip.com/en-us/product/PIC18F4550)
9. Orificios de acceso y conector SIL de 40 pines con los puertos del PIC serigrafiados para su fácil identificación
10. Versión del hardware: R3

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="304"></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td>Microcontrolador</td><td><a href="https://www.microchip.com/en-us/product/PIC18F4550">PIC18F4550</a></td><td></td></tr><tr><td>Voltaje de operación</td><td>5 VDC</td><td></td></tr><tr><td>Pines</td><td>40</td><td></td></tr><tr><td>Puerto de programación</td><td>ICSP</td><td></td></tr><tr><td>Tamaño</td><td>101.68 x 36.12 x 16.59 mm</td><td></td></tr></tbody></table>

## **IV. Puerto de programación externa ICSP**

La siguiente imagen muestra el pinout del puerto de programación ICSP, la orientación se puede identificar gracias a la flecha en forma de triángulo que está localizada a un costado del puerto.&#x20;

{% hint style="danger" %}
**¡ Advertencia !** Si se programa un PIC18F4550 que cuente con **bootloader Microside** precargado por medio del puerto ICSP con un programador externo, se **borrará** el bootloader y será necesario adquirir un **nuevo PIC con bootloader Microside**.
{% endhint %}

<figure><img src="/files/DyUsgfucqrBU5qpWMJ0X" alt="" width="563"><figcaption></figcaption></figure>

## **V. Ejemplo de conexión**

### **Programación por medio del puerto USB**

{% hint style="warning" %}
Solo si el PIC cuenta con un **bootloader** precargado.
{% endhint %}

{% tabs %}
{% tab title="PIC18F4550" %}

<figure><img src="/files/TZxEu3STEOKBEgKtWHVi" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

### **Programación por medio del puerto ICSP con un programador externo**

{% hint style="danger" %}
**¡ Advertencia !** Si se programa un PIC18F4550 que cuente con **bootloader Microside** precargado por medio del puerto ICSP con un programador externo, se **borrará** el bootloader y será necesario adquirir un **nuevo PIC con bootloader Microside**.
{% endhint %}

{% tabs %}
{% tab title="PIC18F4550" %}

<figure><img src="/files/g9FquyFaNcUUmnEZCSHh" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

## VI. Programación de la tarjeta

{% embed url="<https://www.tiktok.com/@microside.com/video/7327758783956995333?is_from_webapp=1&sender_device=pc&web_id=7299528151892362758>" %}

Para cargar tu proyecto a la tarjeta **X-TRAINER LITE M R3** con **PIC18F4550** se utiliza el Software **X-TRAINER Suite v1.0**.&#x20;

{% hint style="success" %}
En el apartado[ **Prácticas**](#vii.-practicas) encontrarás un listado de ejemplos en diferentes compiladores compatibles con la tarjeta **X-TRAINER LITE M R3.**
{% endhint %}

### Instalación del software

Si aún no cuentas con el Software **X-TRAINER Suite v1.0** instalado en tu computadora, en el siguiente[ **link**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite/instalacion) podrás encontrar los pasos para realizarlo.

<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"><mark style="color:green;"><strong>Instalación Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="/pages/LNXSt0fegLCzog0eQCeV">/pages/LNXSt0fegLCzog0eQCeV</a></td></tr></tbody></table>

### Subir proyecto

Ejecuta el Software **X-TRAINER Suite v1.0** y realiza los pasos del siguiente [**link**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite/pic18f4550-45k50).

<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"><mark style="color:green;"><strong>Programar con el Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="/pages/mh6kbS7PjZE7WxnmAmEu">/pages/mh6kbS7PjZE7WxnmAmEu</a></td></tr></tbody></table>

{% hint style="warning" %}
Para subir tus propios proyectos al **X-TRAINER LITE M R3** con **PIC18F4550** es **indispensable** que primero realices la **configuración del bootloader** dependiendo del compilador que utilices. Puedes consultarlo a través del siguiente [**link**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite/configuracion-de-bootloader).
{% endhint %}

## **VII. Prácticas**

{% hint style="success" %}
Prácticas compatibles con la tarjeta **X-TRAINER LITE M R3** con **PIC18F4550.**
{% endhint %}

Selecciona el compilador de tu preferencia para comenzar a aprender:

<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"><mark style="color:green;"><strong>PIC C Compiler CCS</strong></mark></td><td><a href="https://docs.microside.com/practicas/pic-c-compiler-ccs/pic18f4550-or-pic18f45k50">https://docs.microside.com/practicas/pic-c-compiler-ccs/pic18f4550-or-pic18f45k50</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>mikroC PRO for PIC</strong></mark></td><td><a href="https://docs.microside.com/practicas/mikroc-pro-for-pic/pic18f4550-or-pic18f45k50">https://docs.microside.com/practicas/mikroc-pro-for-pic/pic18f4550-or-pic18f45k50</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>MPLAB X IDE XC8 Compiler</strong></mark></td><td><a href="https://docs.microside.com/practicas/mplab-x-ide/xc8-compiler/pic18f4550-or-pic18f45k50">https://docs.microside.com/practicas/mplab-x-ide/xc8-compiler/pic18f4550-or-pic18f45k50</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>MPLAB X IDE PIC-AS Compiler</strong></mark></td><td><a href="https://docs.microside.com/practicas/mplab-x-ide/pic-as-compiler/pic18f4550-or-pic18f45k50">https://docs.microside.com/practicas/mplab-x-ide/pic-as-compiler/pic18f4550-or-pic18f45k50</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>MPLAB X IDE MPASM Compiler</strong></mark></td><td><a href="https://docs.microside.com/practicas/mplab-x-ide/mpasm-compiler/pic18f4550-or-pic18f45k50">https://docs.microside.com/practicas/mplab-x-ide/mpasm-compiler/pic18f4550-or-pic18f45k50</a></td></tr></tbody></table>

## **VIII. Descargas**

<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"><mark style="color:green;"><strong>Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="/pages/6sj7W832lGq8xNeWjoeg">/pages/6sj7W832lGq8xNeWjoeg</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FaxOZ3scPqZcNlpIKOjnH%2FSCHEMATIC%20X-TRAINER%20LITE%20M%20R3%20PIC18.pdf?alt=media&#x26;token=f97cf732-36f6-4b5e-b582-dbbed709cfe0">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FaxOZ3scPqZcNlpIKOjnH%2FSCHEMATIC%20X-TRAINER%20LITE%20M%20R3%20PIC18.pdf?alt=media&#x26;token=f97cf732-36f6-4b5e-b582-dbbed709cfe0</a></td></tr><tr><td align="center"><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F6ZV9FUagamLwVpYJVPOa%2FDIMENSIONES%20X-TRAINER%20LITE%20M%20R3.pdf?alt=media&#x26;token=c4c81cca-1b10-4c1e-84d4-79964d5758d5"><mark style="color:green;"><strong>Dimensiones</strong></mark></a></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FNz6cxB0r4pYwXiwFxgN5%2FDIMENSIONS%20X-TRAINER%20LITE%20M%20R3.PDF?alt=media&#x26;token=bb9b8364-51a5-470f-ae36-9de1e7287361">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FNz6cxB0r4pYwXiwFxgN5%2FDIMENSIONS%20X-TRAINER%20LITE%20M%20R3.PDF?alt=media&#x26;token=bb9b8364-51a5-470f-ae36-9de1e7287361</a></td></tr></tbody></table>


# X-TRAINER LITE M R3 PIC16F877A

PIC16F877A

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/x-trainer-lite-m-pic16f877a-entrenador-79">https://www.microside.com/shop/x-trainer-lite-m-pic16f877a-entrenador-79</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Prácticas</strong></mark></td><td><a href="/pages/NxBbUxuYYInG4f6R2xlf#vii.-practicas">/pages/NxBbUxuYYInG4f6R2xlf#vii.-practicas</a></td></tr></tbody></table>

**X-TRAINER LITE M R3** es una tarjeta de desarrollo aprobada por [**Microchip Technology®**](https://www.microchip.com/) para proyectos electrónicos, posee el microcontrolador [**PIC16F877A**](https://www.microchip.com/en-us/product/PIC16F877A) con **bootloader integrado** que permitirá programarlo por USB sin necesidad de programadores externos.

Su diseño permite la programación, depuración e implementación de códigos, convirtiéndola en la opción ideal para estudiantes y profesionales.

**Incluye prácticas** compatibles con **PIC C COMPILER**.

### **TABLA DE CONTENIDO**

1. [**Información**](#i.-informacion)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
3. [**Especificaciones**](#iii.-especificaciones)
4. [**Puerto de programación externa ICSP**](#iv.-puerto-de-programacion-externa-icsp)
5. [**Ejemplo de conexión**](#v.-ejemplo-de-conexion)
6. [**Programación de la tarjeta**](#vi.-programacion-de-la-tarjeta)
   * [**Instalación del software**](#instalacion-del-software)
   * [**Subir proyecto**](#subir-proyecto)
7. [**Prácticas**](#vii.-practicas)
   * [**PIC C Compiler CCS**](/practicas/pic-c-compiler-ccs/pic16f887-or-pic16f877a)&#x20;
8. [**Descargas**](#viii.-descargas)&#x20;
   * [**Software de programación X-TRAINER Suite v1.0**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite) **para archivos .hex**
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FdoHew2AqNEKIPrK8x1Fw%2FSCHEMATIC%20X-TRAINER%20LITE%20M%20R3%20PIC16.pdf?alt=media\&token=d6ec4b1e-ad00-4a9c-a1b5-aef5a79bb60d)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FNz6cxB0r4pYwXiwFxgN5%2FDIMENSIONS%20X-TRAINER%20LITE%20M%20R3.PDF?alt=media\&token=bb9b8364-51a5-470f-ae36-9de1e7287361)

## **I. Información**

**X-TRAINER LITE M R3** cuenta con la nueva característica de integrar un conector USB tipo C, conservando su conector SIL de 40 pines clasificado por puertos que facilita la integración en un protoboard, así como orificios para un acceso extra a las señales.&#x20;

Dispone de un botón RESET, un LED indicador, un botón de propósito general, un puerto USB tipo C para comunicación o alimentación y un puerto ICSP para el uso de programadores externos.

**X-TRAINER LITE M R3** se ofrece con un microcontrolador [**PIC16F877A**](https://www.microchip.com/en-us/product/PIC16F877A) precargado con **bootloader Microside** para un uso inmediato a través del puerto USB sin necesidad de un programador externo.

{% hint style="danger" %}
**¡ Advertencia !** Si se programa un PIC16F877A que cuente con **bootloader Microside** precargado por medio del puerto ICSP con un programador externo, se **borrará** el bootloader y será necesario adquirir un **nuevo PIC con bootloader Microside**.
{% endhint %}

## II. Descripción del hardware

<figure><img src="/files/kWPjEAwc9yZ43x0f2GJg" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/eRQSIeEuZregpNixWAt1" alt="" width="563"><figcaption></figcaption></figure>

1. Puerto USB tipo C para alimentación de 5 VDC o comunicación USB
2. Resonador integrado de 20 MHz
3. Puerto de programación ICSP para conectar depuradores o programadores externos&#x20;

{% hint style="danger" %}
**¡ Advertencia !** Si se programa un PIC16F877A que cuente con **bootloader Microside** precargado por medio del puerto ICSP con un programador externo, se **borrará** el bootloader y será necesario adquirir un **nuevo PIC con bootloader Microside**.
{% endhint %}

4. Jumper para asignar el LED integrado al pin A4 o A1 (asignado de fábrica al pin A1)
5. LED indicador de encendido
6. RESET: Botón con resistencia de pull-up, conectado al pin RESET\
   BOOT: Botón con resistencia de pull-up, conectado al pin A2
7. LED indicador de propósito general conectado al pin A4 o A1 (depende la configuración del jumper LED)
8. Microcontrolador [**PIC16F877A**](https://www.microchip.com/en-us/product/PIC16F877A)
9. Orificios de acceso y conector SIL de 40 pines con los puertos del PIC serigrafiados para su fácil identificación
10. Convertidor USB a Serial UART
11. Versión del hardware: R3

## **III. Especificaciones**

| Microcontrolador       | [PIC16F877A](https://www.microchip.com/en-us/product/PIC16F877A) |
| ---------------------- | ---------------------------------------------------------------- |
| Voltaje de operación   | 5 VDC                                                            |
| Pines                  | 40                                                               |
| Puerto de programación | ICSP                                                             |
| Tamaño                 | 101.68 x 36.12 x 16.59 mm                                        |

## **IV. Puerto de programación externa ICSP**

La siguiente imagen muestra el pinout del puerto de programación ICSP, la orientación se puede identificar gracias a la flecha en forma de triángulo que está localizada a un costado del puerto.&#x20;

{% hint style="danger" %}
**¡ Advertencia !** Si se programa un PIC16F877A que cuente con **bootloader Microside** precargado por medio del puerto ICSP con un programador externo, se **borrará** el bootloader y será necesario adquirir un **nuevo PIC con bootloader Microside**.
{% endhint %}

<figure><img src="/files/DyUsgfucqrBU5qpWMJ0X" alt="" width="563"><figcaption></figcaption></figure>

## **V. Ejemplo de conexión**

### **Programación por medio del puerto USB**

{% hint style="warning" %}
Solo si el PIC cuenta con un **bootloader** precargado.
{% endhint %}

{% tabs %}
{% tab title="PIC16F877A" %}

<figure><img src="/files/SOzHsyaKyFZzaFDvdReD" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

### **Programación por medio del puerto ICSP con un programador externo**

{% hint style="danger" %}
**¡ Advertencia !** Si se programa un PIC16F877A que cuente con **bootloader Microside** precargado por medio del puerto ICSP con un programador externo, se **borrará** el bootloader y será necesario adquirir un **nuevo PIC con bootloader Microside**.
{% endhint %}

{% tabs %}
{% tab title="PIC16F877A" %}

<figure><img src="/files/tXGK2As0EnuFQxaI4qay" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

## VI. Programación de la tarjeta

{% embed url="<https://www.tiktok.com/@microside.com/video/7328561566109011205?embed_source=121374463,121409638,121404359,121351166,121331973,120811592,120810756;null;embed_name&refer=embed&referer_url=cdn.iframe.ly/wqNsEvV?app=1&referer_video_id=7327758783956995333>" %}

Para cargar tu proyecto a la tarjeta **X-TRAINER LITE M R3** con **PIC16F877A** se utiliza el Software **X-TRAINER Suite v1.0**.&#x20;

{% hint style="success" %}
En el apartado[ **Prácticas**](#vii.-practicas) encontrarás un listado de ejemplos en diferentes compiladores compatibles con la tarjeta **X-TRAINER LITE M R3.**
{% endhint %}

### Instalación del software

Si aún no cuentas con el Software **X-TRAINER Suite v1.0** instalado en tu computadora, en el siguiente[ **link**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite/instalacion) podrás encontrar los pasos para realizarlo.

<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"><mark style="color:green;"><strong>Instalación Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="/pages/LNXSt0fegLCzog0eQCeV">/pages/LNXSt0fegLCzog0eQCeV</a></td></tr></tbody></table>

### Subir proyecto

Ejecuta el Software **X-TRAINER Suite v1.0** y realiza los pasos del siguiente [**link**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite/pic16f877a-887).

<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"><mark style="color:green;"><strong>Programar con el Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="/pages/lqAsGvT4l1zINdR7G1x7">/pages/lqAsGvT4l1zINdR7G1x7</a></td></tr></tbody></table>

## **VII. Prácticas**

{% hint style="success" %}
Prácticas compatibles con la tarjeta **X-TRAINER LITE M R3** con **PIC16F877A.**
{% endhint %}

<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"><mark style="color:green;"><strong>PIC C Compiler CCS</strong></mark></td><td><a href="/pages/xwHwa7x1JRf1csalHe3j">/pages/xwHwa7x1JRf1csalHe3j</a></td></tr></tbody></table>

## **VIII. Descargas**

<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"><mark style="color:green;"><strong>Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="/pages/6sj7W832lGq8xNeWjoeg">/pages/6sj7W832lGq8xNeWjoeg</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FdoHew2AqNEKIPrK8x1Fw%2FSCHEMATIC%20X-TRAINER%20LITE%20M%20R3%20PIC16.pdf?alt=media&#x26;token=d6ec4b1e-ad00-4a9c-a1b5-aef5a79bb60d">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FdoHew2AqNEKIPrK8x1Fw%2FSCHEMATIC%20X-TRAINER%20LITE%20M%20R3%20PIC16.pdf?alt=media&#x26;token=d6ec4b1e-ad00-4a9c-a1b5-aef5a79bb60d</a></td></tr><tr><td align="center"><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F6ZV9FUagamLwVpYJVPOa%2FDIMENSIONES%20X-TRAINER%20LITE%20M%20R3.pdf?alt=media&#x26;token=c4c81cca-1b10-4c1e-84d4-79964d5758d5"><mark style="color:green;"><strong>Dimensiones</strong></mark></a></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FNz6cxB0r4pYwXiwFxgN5%2FDIMENSIONS%20X-TRAINER%20LITE%20M%20R3.PDF?alt=media&#x26;token=bb9b8364-51a5-470f-ae36-9de1e7287361">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FNz6cxB0r4pYwXiwFxgN5%2FDIMENSIONS%20X-TRAINER%20LITE%20M%20R3.PDF?alt=media&#x26;token=bb9b8364-51a5-470f-ae36-9de1e7287361</a></td></tr></tbody></table>


# X-TRAINER LITE M R3 PIC16F887

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

<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"><mark style="color:green;"><strong>Comprar</strong></mark></td><td><a href="https://www.microside.com/shop/x-trainer-lite-m-pic16f887-entrenador-80">https://www.microside.com/shop/x-trainer-lite-m-pic16f887-entrenador-80</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Prácticas</strong></mark></td><td><a href="/pages/NxBbUxuYYInG4f6R2xlf#vii.-practicas">/pages/NxBbUxuYYInG4f6R2xlf#vii.-practicas</a></td></tr></tbody></table>

**X-TRAINER LITE M R3** es una tarjeta de desarrollo aprobada por [**Microchip Technology®**](https://www.microchip.com/) para proyectos electrónicos, posee el microcontrolador [**PIC16F887**](https://www.microchip.com/en-us/product/PIC16F887) con **bootloader integrado** que permitirá programarlo por USB sin necesidad de programadores externos.

Su diseño permite la programación, depuración e implementación de códigos, convirtiéndola en la opción ideal para estudiantes y profesionales.

**Incluye prácticas** compatibles con **PIC C COMPILER**.

### **TABLA DE CONTENIDO**

1. [**Información**](#i.-informacion)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
3. [**Especificaciones**](#iii.-especificaciones)
4. [**Puerto de programación externa ICSP**](#iv.-puerto-de-programacion-externa-icsp)
5. [**Ejemplo de conexión**](#v.-ejemplo-de-conexion)
6. [**Programación de la tarjeta**](#vi.-programacion-de-la-tarjeta)
   * [**Instalación del software**](#instalacion-del-software)
   * [**Subir proyecto**](#subir-proyecto)
7. [**Prácticas**](#vii.-practicas)
   * [**PIC C Compiler CCS**](/practicas/pic-c-compiler-ccs/pic16f887-or-pic16f877a)&#x20;
8. [**Descargas**](#viii.-descargas)&#x20;
   * [**Software de programación X-TRAINER Suite v1.0**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite) **para archivos .hex**
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FdoHew2AqNEKIPrK8x1Fw%2FSCHEMATIC%20X-TRAINER%20LITE%20M%20R3%20PIC16.pdf?alt=media\&token=d6ec4b1e-ad00-4a9c-a1b5-aef5a79bb60d)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FNz6cxB0r4pYwXiwFxgN5%2FDIMENSIONS%20X-TRAINER%20LITE%20M%20R3.PDF?alt=media\&token=bb9b8364-51a5-470f-ae36-9de1e7287361)

## **I. Información**

**X-TRAINER LITE M R3** cuenta con la nueva característica de integrar un conector USB tipo C, conservando su conector SIL de 40 pines clasificado por puertos que facilita la integración en un protoboard, así como orificios para un acceso extra a las señales.&#x20;

Dispone de un botón RESET, un LED indicador, un botón de propósito general, un puerto USB tipo C para comunicación o alimentación y un puerto ICSP para el uso de programadores externos.

**X-TRAINER LITE M R3** se ofrece con un microcontrolador [**PIC16F887**](https://www.microchip.com/en-us/product/PIC16F887) precargado con **bootloader Microside** para un uso inmediato a través del puerto USB sin necesidad de un programador externo.

{% hint style="danger" %}
**¡ Advertencia !** Si se programa un PIC16F887 que cuente con **bootloader Microside** precargado por medio del puerto ICSP con un programador externo, se **borrará** el bootloader y será necesario adquirir un **nuevo PIC con bootloader Microside**.
{% endhint %}

## II. Descripción del hardware

<figure><img src="/files/kWPjEAwc9yZ43x0f2GJg" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/eRQSIeEuZregpNixWAt1" alt="" width="563"><figcaption></figcaption></figure>

1. Puerto USB tipo C para alimentación de 5 VDC o comunicación USB
2. Resonador integrado de 20 MHz
3. Puerto de programación ICSP para conectar depuradores o programadores externos&#x20;

{% hint style="danger" %}
**¡ Advertencia !** Si se programa un PIC16F887 que cuente con **bootloader Microside** precargado por medio del puerto ICSP con un programador externo, se **borrará** el bootloader y será necesario adquirir un **nuevo PIC con bootloader Microside**.
{% endhint %}

4. Jumper para asignar el LED integrado al pin A4 o A1 (asignado de fábrica al pin A1)
5. LED indicador de encendido
6. RESET: Botón con resistencia de pull-up, conectado al pin RESET\
   BOOT: Botón con resistencia de pull-up, conectado al pin A2
7. LED indicador de propósito general conectado al pin A4 o A1 (depende la configuración del jumper LED)
8. Microcontrolador [**PIC16F887**](https://www.microchip.com/en-us/product/PIC16F887)
9. Orificios de acceso y conector SIL de 40 pines con los puertos del PIC serigrafiados para su fácil identificación
10. Convertidor USB a Serial UART
11. Versión del hardware: R3

## **III. Especificaciones**

| Microcontrolador       | [PIC16F887](https://www.microchip.com/en-us/product/PIC16F887) |
| ---------------------- | -------------------------------------------------------------- |
| Voltaje de operación   | 5 VDC                                                          |
| Pines                  | 40                                                             |
| Puerto de programación | ICSP                                                           |
| Tamaño                 | 101.68 x 36.12 x 16.59 mm                                      |

## **IV. Puerto de programación externa ICSP**

La siguiente imagen muestra el pinout del puerto de programación ICSP, la orientación se puede identificar gracias a la flecha en forma de triángulo que está localizada a un costado del puerto.&#x20;

{% hint style="danger" %}
**¡ Advertencia !** Si se programa un PIC16F887 que cuente con **bootloader Microside** precargado por medio del puerto ICSP con un programador externo, se **borrará** el bootloader y será necesario adquirir un **nuevo PIC con bootloader Microside**.
{% endhint %}

<figure><img src="/files/DyUsgfucqrBU5qpWMJ0X" alt="" width="563"><figcaption></figcaption></figure>

## **V. Ejemplo de conexión**

### **Programación por medio del puerto USB**

{% hint style="warning" %}
Solo si el PIC cuenta con un **bootloader** precargado.
{% endhint %}

{% tabs %}
{% tab title="PIC16F887" %}

<figure><img src="/files/py7H9dKbRJTJlspwTiNl" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

### **Programación por medio del puerto ICSP con un programador externo**

{% hint style="danger" %}
**¡ Advertencia !** Si se programa un PIC16F887 que cuente con **bootloader Microside** precargado por medio del puerto ICSP con un programador externo, se **borrará** el bootloader y será necesario adquirir un **nuevo PIC con bootloader Microside**.
{% endhint %}

{% tabs %}
{% tab title="PIC16F887" %}

<figure><img src="/files/r95Hxi5MJbOCFqam7H3V" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

## VI. Programación de la tarjeta

{% embed url="<https://www.tiktok.com/@microside.com/video/7328561566109011205?embed_source=121374463,121409638,121404359,121351166,121331973,120811592,120810756;null;embed_name&refer=embed&referer_url=cdn.iframe.ly/wqNsEvV?app=1&referer_video_id=7327758783956995333>" %}

Para cargar tu proyecto a la tarjeta **X-TRAINER LITE M R3** con **PIC16F887** se utiliza el Software **X-TRAINER Suite v1.0**.&#x20;

{% hint style="success" %}
En el apartado[ **Prácticas**](#vii.-practicas) encontrarás un listado de ejemplos en diferentes compiladores compatibles con la tarjeta **X-TRAINER LITE M R3.**
{% endhint %}

### Instalación del software

Si aún no cuentas con el Software **X-TRAINER Suite v1.0** instalado en tu computadora, en el siguiente[ **link**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite/instalacion) podrás encontrar los pasos para realizarlo.

<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"><mark style="color:green;"><strong>Instalación Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="/pages/LNXSt0fegLCzog0eQCeV">/pages/LNXSt0fegLCzog0eQCeV</a></td></tr></tbody></table>

### Subir proyecto

Ejecuta el Software **X-TRAINER Suite v1.0** y realiza los pasos del siguiente [**link**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite/pic16f877a-887).

<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"><mark style="color:green;"><strong>Programar con el Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="/pages/lqAsGvT4l1zINdR7G1x7">/pages/lqAsGvT4l1zINdR7G1x7</a></td></tr></tbody></table>

## **VII. Prácticas**

{% hint style="success" %}
Prácticas compatibles con la tarjeta **X-TRAINER LITE M R3** con **PIC16F887.**
{% endhint %}

<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"><mark style="color:green;"><strong>PIC C Compiler CCS</strong></mark></td><td><a href="/pages/xwHwa7x1JRf1csalHe3j">/pages/xwHwa7x1JRf1csalHe3j</a></td></tr></tbody></table>

## **VIII. Descargas**

<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"><mark style="color:green;"><strong>Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="/pages/6sj7W832lGq8xNeWjoeg">/pages/6sj7W832lGq8xNeWjoeg</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FdoHew2AqNEKIPrK8x1Fw%2FSCHEMATIC%20X-TRAINER%20LITE%20M%20R3%20PIC16.pdf?alt=media&#x26;token=d6ec4b1e-ad00-4a9c-a1b5-aef5a79bb60d">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FdoHew2AqNEKIPrK8x1Fw%2FSCHEMATIC%20X-TRAINER%20LITE%20M%20R3%20PIC16.pdf?alt=media&#x26;token=d6ec4b1e-ad00-4a9c-a1b5-aef5a79bb60d</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dim</strong></mark><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F6ZV9FUagamLwVpYJVPOa%2FDIMENSIONES%20X-TRAINER%20LITE%20M%20R3.pdf?alt=media&#x26;token=c4c81cca-1b10-4c1e-84d4-79964d5758d5"><mark style="color:green;"><strong>ensiones</strong></mark></a></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FNz6cxB0r4pYwXiwFxgN5%2FDIMENSIONS%20X-TRAINER%20LITE%20M%20R3.PDF?alt=media&#x26;token=bb9b8364-51a5-470f-ae36-9de1e7287361">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FNz6cxB0r4pYwXiwFxgN5%2FDIMENSIONS%20X-TRAINER%20LITE%20M%20R3.PDF?alt=media&#x26;token=bb9b8364-51a5-470f-ae36-9de1e7287361</a></td></tr></tbody></table>


# R2

* [X-TRAINER LITE M R2 PIC18F45K50](/tarjetas-de-desarrollo-pics/x-trainer/x-trainer-lite-m/r2/x-trainer-lite-m-r2-pic18f45k50)
* [X-TRAINER LITE M R2 PIC18F4550](/tarjetas-de-desarrollo-pics/x-trainer/x-trainer-lite-m/r2/x-trainer-lite-m-r2-pic18f4550)
* [X-TRAINER LITE M R2 PIC16F877A](/tarjetas-de-desarrollo-pics/x-trainer/x-trainer-lite-m/r2/x-trainer-lite-m-r2-pic16f877a)
* [X-TRAINER LITE M R2 PIC16F887](/tarjetas-de-desarrollo-pics/x-trainer/x-trainer-lite-m/r2/x-trainer-lite-m-r2-pic16f887)


# X-TRAINER LITE M R2 PIC18F45K50

<figure><img src="/files/5RBUGW1OBE7o05bqG4Re" alt=""><figcaption></figcaption></figure>

<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"><mark style="color:green;"><strong>Prácticas</strong></mark></td><td><a href="/pages/pCeuYtESTsOpMJ4pXbfL#vii.-practicas">/pages/pCeuYtESTsOpMJ4pXbfL#vii.-practicas</a></td></tr></tbody></table>

**X-TRAINER LITE M** es una tarjeta de desarrollo aprobada por [**Microchip Technology®**](https://www.microchip.com/) para proyectos electrónicos, posee el microcontrolador [**PIC18F45K50**](https://www.microchip.com/en-us/product/PIC18F45K50) con **bootloader integrado** que permitirá programarlo por USB sin necesidad de programadores externos, ideal para estudiantes, profesionales y makers.

**Incluye prácticas** compatibles con los compiladores **mikroC PRO for PIC**, **MPLAB X IDE (XC8 Compiler, PIC-AS Compiler y MPASM Compiler) y PIC C COMPILER**.

### **TABLA DE CONTENIDO**

1. [**Información**](#i.-informacion)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
3. [**Especificaciones**](#iii.-especificaciones)
4. [**Puerto de programación externa ICSP**](#iv.-puerto-de-programacion-externa-icsp)
5. [**Ejemplo de conexión**](#v.-ejemplo-de-conexion)
6. [**Programación de la tarjeta**](#vi.-programacion-de-la-tarjeta)
   * [**Instalación**](#instalacion-del-software)
   * [**Subir proyecto**](#subir-proyecto)
7. [**Prácticas**](#vii.-practicas)
   * [**PIC C Compiler CCS**](https://docs.microside.com/practicas/pic-c-compiler-ccs/pic18f4550-or-pic18f45k50)&#x20;
   * [**mikroC PRO for PIC** ](https://docs.microside.com/practicas/mikroc-pro-for-pic/pic18f4550-or-pic18f45k50)
   * [**MPLAB X IDE XC8 Compiler**](https://docs.microside.com/practicas/mplab-x-ide/xc8-compiler/pic18f4550-or-pic18f45k50)
   * [**MPLAB X IDE PIC-AS Compiler**](https://docs.microside.com/practicas/mplab-x-ide/pic-as-compiler/pic18f4550-or-pic18f45k50)
   * [**MPLAB X IDE MPASM Compiler** ](https://docs.microside.com/practicas/mplab-x-ide/mpasm-compiler/pic18f4550-or-pic18f45k50)
8. [**Descargas**](#viii.-descargas)&#x20;
   * [**Software de programación X-TRAINER Suite v1.0**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite) **para  archivos .hex**
   * [**Esquemático**](https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FupdGyDuYa1lfaAnmP6vS%2FSCHEMATIC-X-TRAINER-LITE-M-PIC18F45K50.pdf?alt=media\&token=da3ae528-a6ab-44cb-a0c5-8f3ad46b4276)
   * [**Dimensiones**](https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F3pYOENM1rxA7qcU7y59Y%2FDIMENSIONS%20X-TRAINER-LITE-M-PIC18F45K50.pdf?alt=media\&token=7c6b9a34-5860-4e47-85a5-421bee44313e)

## **I. Información**

**X-TRAINER LITE M** cuenta con la característica de tener un conector SIL de 40 pines clasificado por puertos que facilita la integración en un protoboard, así como orificios para un acceso extra a las señales. Dispone de un botón RESET, un LED indicador, un botón de propósito general, un conector micro USB para comunicación o alimentación y un conector ICSP para el uso de programadores externos.

**X-TRAINER LITE M** se ofrece con un microcontrolador [**PIC18F45K50**](https://www.microchip.com/en-us/product/PIC18F45K50) precargado con **bootloader Microside** para un uso inmediato a través del puerto micro USB sin necesidad de un programador externo.

{% hint style="danger" %}
**Nota:** Si se usa un programador externo por medio del puerto ICSP se **borrará** el bootloader precargado y será necesario adquirir un nuevo PIC.
{% endhint %}

## **II. Descripción del hardware**

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

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

1. Conector micro USB para alimentación de 5 VCD y programación del microcontrolador
2. Oscilador de 20 MHz con capacitores de 22 pF
3. Puerto de programación ICSP para conectar depuradores o programadores externos (si se usa un programador externo se borrará el bootloader precargado y será necesario adquirir un nuevo PIC)
4. LED: Indicador de propósito general conectado al pin RA4\
   PWR: Indicador de encendido
5. BOOT: Botón con resistencia de pull-up, conectado al pin RA2\
   RESET: Botón con resistencia de pull-up, conectado al pin RESET
6. Jumper para asignar el LED al pin RA4 o RA1 (asignado al pin RA4 de fábrica)
7. Base tipo DIP de 40 pines para el microcontrolador [PIC18F45K50](https://www.microchip.com/en-us/product/PIC18F45K50)
8. Orificios de acceso y conector SIL de 40 pines con los puertos del PIC serigrafiados para su fácil identificación

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td>Microcontrolador</td><td><a href="https://www.microchip.com/en-us/product/PIC18F45K50">PIC18F45K50</a></td><td></td></tr><tr><td>Voltaje de operación</td><td>5 VDC</td><td></td></tr><tr><td>Pines</td><td>40</td><td></td></tr><tr><td>Puerto de programación</td><td>ICSP</td><td></td></tr><tr><td>Tamaño</td><td>101.68 x 36.12 x 16.59 mm</td><td></td></tr></tbody></table>

## **IV. Puerto de programación externa ICSP**

La siguiente imagen muestra el pinout del puerto de programación ICSP, la orientación se puede identificar gracias a la flecha en forma de triángulo que está localizada a un costado del puerto.&#x20;

{% hint style="danger" %}
**Nota:** Si se usa un programador externo por medio del puerto ICSP se **borrará** el bootloader precargado y será necesario adquirir un nuevo PIC.
{% endhint %}

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

## **V. Ejemplo de conexión**

### **Programación con bootloader por medio del puerto USB**

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

### **Programación por medio del puerto ICSP con un programador externo**

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

{% hint style="danger" %}
**Nota:** Si se usa un programador externo por medio del puerto ICSP se **borrará** el bootloader precargado y será necesario adquirir un nuevo PIC.
{% endhint %}

## VI. Programación de la tarjeta

{% embed url="<https://www.tiktok.com/@microside.com/video/7327758783956995333?is_from_webapp=1&sender_device=pc&web_id=7299528151892362758>" %}

Para cargar tu proyecto a la tarjeta **X-TRAINER LITE M** con **PIC18F45K50** se utiliza el Software **X-TRAINER Suite v1.0**.&#x20;

{% hint style="success" %}
En el apartado[ **Prácticas**](#vii.-practicas) encontrarás un listado de ejemplos en diferentes compiladores compatibles con la tarjeta **X-TRAINER LITE M.**
{% endhint %}

### Instalación del software

Si aún no cuentas con el Software **X-TRAINER Suite v1.0** instalado en tu computadora, en el siguiente[ **link**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite/instalacion) podrás encontrar los pasos para realizarlo.

<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"><mark style="color:green;"><strong>Instalación Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="/pages/LNXSt0fegLCzog0eQCeV">/pages/LNXSt0fegLCzog0eQCeV</a></td></tr></tbody></table>

### Subir proyecto

Ejecuta el Software **X-TRAINER Suite v1.0** y realiza los pasos del siguiente [**link**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite/pic18f4550-45k50).

<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"><mark style="color:green;"><strong>Programar con el Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="/pages/mh6kbS7PjZE7WxnmAmEu">/pages/mh6kbS7PjZE7WxnmAmEu</a></td></tr></tbody></table>

{% hint style="warning" %}
Para subir tus propios proyectos al **X-TRAINER LITE M** con **PIC18F45K50** es **indispensable** que primero realices la **configuración del bootloader** dependiendo del compilador que utilices. Puedes consultarlo a través del siguiente [**link**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite/configuracion-de-bootloader).
{% endhint %}

## **VII. Prácticas**

{% hint style="success" %}
Prácticas compatibles con la tarjeta **X-TRAINER LITE M** con **PIC18F45K50.**
{% endhint %}

Selecciona el compilador de tu preferencia para comenzar a aprender:

<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"><mark style="color:green;"><strong>PIC C Compiler CCS</strong></mark></td><td><a href="https://docs.microside.com/practicas/pic-c-compiler-ccs/pic18f4550-or-pic18f45k50">https://docs.microside.com/practicas/pic-c-compiler-ccs/pic18f4550-or-pic18f45k50</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>mikroC PRO for PIC</strong></mark></td><td><a href="https://docs.microside.com/practicas/mikroc-pro-for-pic/pic18f4550-or-pic18f45k50">https://docs.microside.com/practicas/mikroc-pro-for-pic/pic18f4550-or-pic18f45k50</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>MPLAB X IDE XC8 Compiler</strong></mark></td><td><a href="https://docs.microside.com/practicas/mplab-x-ide/xc8-compiler/pic18f4550-or-pic18f45k50">https://docs.microside.com/practicas/mplab-x-ide/xc8-compiler/pic18f4550-or-pic18f45k50</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>MPLAB X IDE PIC-AS Compiler</strong></mark></td><td><a href="https://docs.microside.com/practicas/mplab-x-ide/pic-as-compiler/pic18f4550-or-pic18f45k50">https://docs.microside.com/practicas/mplab-x-ide/pic-as-compiler/pic18f4550-or-pic18f45k50</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>MPLAB X IDE MPASM Compiler</strong></mark></td><td><a href="https://docs.microside.com/practicas/mplab-x-ide/mpasm-compiler/pic18f4550-or-pic18f45k50">https://docs.microside.com/practicas/mplab-x-ide/mpasm-compiler/pic18f4550-or-pic18f45k50</a></td></tr></tbody></table>

## **VIII. Descargas**

<table 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"><mark style="color:green;"><strong>Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="/pages/6sj7W832lGq8xNeWjoeg">/pages/6sj7W832lGq8xNeWjoeg</a></td></tr><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%2FupdGyDuYa1lfaAnmP6vS%2FSCHEMATIC-X-TRAINER-LITE-M-PIC18F45K50.pdf?alt=media&#x26;token=da3ae528-a6ab-44cb-a0c5-8f3ad46b4276">https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FupdGyDuYa1lfaAnmP6vS%2FSCHEMATIC-X-TRAINER-LITE-M-PIC18F45K50.pdf?alt=media&#x26;token=da3ae528-a6ab-44cb-a0c5-8f3ad46b4276</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%2F3pYOENM1rxA7qcU7y59Y%2FDIMENSIONS%20X-TRAINER-LITE-M-PIC18F45K50.pdf?alt=media&#x26;token=7c6b9a34-5860-4e47-85a5-421bee44313e">https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F3pYOENM1rxA7qcU7y59Y%2FDIMENSIONS%20X-TRAINER-LITE-M-PIC18F45K50.pdf?alt=media&#x26;token=7c6b9a34-5860-4e47-85a5-421bee44313e</a></td></tr></tbody></table>


# X-TRAINER LITE M R2 PIC18F4550

<figure><img src="/files/5RBUGW1OBE7o05bqG4Re" alt=""><figcaption></figcaption></figure>

<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"><mark style="color:green;"><strong>Prácticas</strong></mark></td><td><a href="/pages/dsMirl68bbt6XClVSMgp#vii.-practicas">/pages/dsMirl68bbt6XClVSMgp#vii.-practicas</a></td></tr></tbody></table>

**X-TRAINER LITE M** es una tarjeta de desarrollo aprobada por [**Microchip Technology®**](https://www.microchip.com/) para proyectos electrónicos, posee el microcontrolador [**PIC18F4550**](https://www.microchip.com/en-us/product/PIC18F4550) con **bootloader integrado** que permitirá programarlo por USB sin necesidad de programadores externos, ideal para estudiantes, profesionales y makers.

**Incluye prácticas** compatibles con los compiladores **mikroC PRO for PIC**, **MPLAB X IDE (XC8 Compiler, PIC-AS Compiler y MPASM Compiler) y PIC C COMPILER**.

### **TABLA DE CONTENIDO**

1. [**Información**](#i.-informacion)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
3. [**Especificaciones**](#iii.-especificaciones)
4. [**Puerto de programación externa ICSP**](#iv.-puerto-de-programacion-externa-icsp)
5. [**Ejemplo de conexión**](#v.-ejemplo-de-conexion)
6. [**Programación de la tarjeta**](#vi.-programacion-de-la-tarjeta)
   * [**Instalación**](#instalacion-del-software)
   * [**Subir proyecto**](#subir-proyecto)
7. [**Prácticas**](#vii.-practicas)
   * [**PIC C Compiler CCS**](https://docs.microside.com/practicas/pic-c-compiler-ccs/pic18f4550-or-pic18f45k50)&#x20;
   * [**mikroC PRO for PIC** ](https://docs.microside.com/practicas/mikroc-pro-for-pic/pic18f4550-or-pic18f45k50)
   * [**MPLAB X IDE XC8 Compiler**](https://docs.microside.com/practicas/mplab-x-ide/xc8-compiler/pic18f4550-or-pic18f45k50)
   * [**MPLAB X IDE PIC-AS Compiler**](https://docs.microside.com/practicas/mplab-x-ide/pic-as-compiler/pic18f4550-or-pic18f45k50)
   * [**MPLAB X IDE MPASM Compiler** ](https://docs.microside.com/practicas/mplab-x-ide/mpasm-compiler/pic18f4550-or-pic18f45k50)
8. [**Descargas**](#viii.-descargas)
   * [**Software de programación X-TRAINER Suite v1.0**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite) **para archivos .hex**
   * [**Esquemático**](https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F2yqErzhJYHATGDpKxf6A%2FSCHEMATIC-X-TRAINER-LITE-M-PIC18F4550.pdf?alt=media\&token=0457f344-c4c5-4ba7-909b-f66c6a315c3b)
   * [**Dimensiones**](https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FU6ao1vOK3BkXYANsPDFC%2FDIMENSIONS%20X-TRAINER-LITE-M.pdf?alt=media\&token=56c3ce33-97b0-4ee1-9ec5-13eb455677c8)

## **I. Información**

**X-TRAINER LITE M** cuenta con la característica de tener un conector SIL de 40 pines clasificado por puertos que facilita la integración en un protoboard, así como orificios para un acceso extra a las señales. Dispone de un botón RESET, un LED indicador, un botón de propósito general, un conector micro USB para comunicación o alimentación y un conector ICSP para el uso de programadores externos.

**X-TRAINER LITE M** se ofrece con un microcontrolador [**PIC18F4550**](https://www.microchip.com/en-us/product/PIC18F4550) precargado con **bootloader Microside** para un uso inmediato a través del puerto micro USB sin necesidad de un programador externo.

{% hint style="danger" %}
**Nota:** Si se usa un programador externo por medio del puerto ICSP se **borrará** el bootloader precargado y será necesario adquirir un nuevo PIC.
{% endhint %}

## **II. Descripción del hardware**

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

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

1. Conector micro USB para alimentación de 5 VCD y programación del microcontrolador
2. Oscilador de 20 MHz con capacitores de 22 pF
3. Puerto de programación ICSP para conectar depuradores o programadores externos\
   (si se usa un programador externo se **borrará** el bootloader precargado y será necesario adquirir un nuevo PIC)
4. LED: Indicador de propósito general conectado al pin RA4\
   PWR: Indicador de encendido
5. BOOT: Botón con resistencia de pull-up, conectado al pin RA2\
   RESET: Botón con resistencia de pull-up, conectado al pin RESET
6. Jumper para asignar el LED al pin RA4 o RA1 (asignado al pin RA4 de fábrica)
7. Base tipo DIP de 40 pines para el microcontrolador [PIC18F4550](https://www.microchip.com/en-us/product/PIC18F4550)
8. Orificios de acceso y conector SIL de 40 pines con los puertos del PIC serigrafiados para su fácil identificación

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="304"></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td>Microcontrolador</td><td><a href="https://www.microchip.com/en-us/product/PIC18F4550">PIC18F4550</a></td><td></td></tr><tr><td>Voltaje de operación</td><td>5 VDC</td><td></td></tr><tr><td>Pines</td><td>40</td><td></td></tr><tr><td>Puerto de programación</td><td>ICSP</td><td></td></tr><tr><td>Tamaño</td><td>101.68 x 36.12 x 16.59 mm</td><td></td></tr></tbody></table>

## **IV. Puerto de programación externa ICSP**

La siguiente imagen muestra el pinout del puerto de programación ICSP, la orientación se puede identificar gracias a la flecha en forma de triángulo que está localizada a un costado del puerto.&#x20;

{% hint style="danger" %}
**Nota:** Si se usa un programador externo por medio del puerto ICSP se **borrará** el bootloader precargado y será necesario adquirir un nuevo PIC.
{% endhint %}

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

## **V. Ejemplo de conexión**

### **Programación con bootloader por medio del puerto USB**

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

### **Programación por medio del puerto ICSP con un programador externo**

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

{% hint style="danger" %}
**Nota:** Si se usa un programador externo por medio del puerto ICSP se **borrará** el bootloader precargado y será necesario adquirir un nuevo PIC.
{% endhint %}

## VI. Programación de la tarjeta

{% embed url="<https://www.tiktok.com/@microside.com/video/7327758783956995333?is_from_webapp=1&sender_device=pc&web_id=7299528151892362758>" %}

Para cargar tu proyecto a la tarjeta **X-TRAINER LITE M** con **PIC18F4550** se utiliza el Software **X-TRAINER Suite v1.0**.&#x20;

{% hint style="success" %}
En el apartado[ **Prácticas**](#vii.-practicas) encontrarás un listado de ejemplos en diferentes compiladores compatibles con la tarjeta **X-TRAINER LITE M.**
{% endhint %}

### Instalación del software

Si aún no cuentas con el Software **X-TRAINER Suite v1.0** instalado en tu computadora, en el siguiente[ **link**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite/instalacion) podrás encontrar los pasos para realizarlo.

<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"><mark style="color:green;"><strong>Instalación Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="/pages/LNXSt0fegLCzog0eQCeV">/pages/LNXSt0fegLCzog0eQCeV</a></td></tr></tbody></table>

### Subir proyecto

Ejecuta el Software **X-TRAINER Suite v1.0** y realiza los pasos del siguiente [**link**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite/pic18f4550-45k50).

<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"><mark style="color:green;"><strong>Programar con el Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="/pages/mh6kbS7PjZE7WxnmAmEu">/pages/mh6kbS7PjZE7WxnmAmEu</a></td></tr></tbody></table>

{% hint style="warning" %}
Para subir tus propios proyectos al **X-TRAINER LITE M** con **PIC18F4550** es **indispensable** que primero realices la **configuración del bootloader** dependiendo del compilador que utilices. Puedes consultarlo a través del siguiente [**link**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite/configuracion-de-bootloader).
{% endhint %}

## **VII. Prácticas**

{% hint style="success" %}
Prácticas compatibles con la tarjeta **X-TRAINER LITE M** con **PIC18F4550.**
{% endhint %}

Selecciona el compilador de tu preferencia para comenzar a aprender:

<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"><mark style="color:green;"><strong>PIC C Compiler CCS</strong></mark></td><td><a href="https://docs.microside.com/practicas/pic-c-compiler-ccs/pic18f4550-or-pic18f45k50">https://docs.microside.com/practicas/pic-c-compiler-ccs/pic18f4550-or-pic18f45k50</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>mikroC PRO for PIC</strong></mark></td><td><a href="https://docs.microside.com/practicas/mikroc-pro-for-pic/pic18f4550-or-pic18f45k50">https://docs.microside.com/practicas/mikroc-pro-for-pic/pic18f4550-or-pic18f45k50</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>MPLAB X IDE XC8 Compiler</strong></mark></td><td><a href="https://docs.microside.com/practicas/mplab-x-ide/xc8-compiler/pic18f4550-or-pic18f45k50">https://docs.microside.com/practicas/mplab-x-ide/xc8-compiler/pic18f4550-or-pic18f45k50</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>MPLAB X IDE PIC-AS Compiler</strong></mark></td><td><a href="https://docs.microside.com/practicas/mplab-x-ide/pic-as-compiler/pic18f4550-or-pic18f45k50">https://docs.microside.com/practicas/mplab-x-ide/pic-as-compiler/pic18f4550-or-pic18f45k50</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>MPLAB X IDE MPASM Compiler</strong></mark></td><td><a href="https://docs.microside.com/practicas/mplab-x-ide/mpasm-compiler/pic18f4550-or-pic18f45k50">https://docs.microside.com/practicas/mplab-x-ide/mpasm-compiler/pic18f4550-or-pic18f45k50</a></td></tr></tbody></table>

## **VIII. Descargas**

<table 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"><mark style="color:green;"><strong>Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="/pages/6sj7W832lGq8xNeWjoeg">/pages/6sj7W832lGq8xNeWjoeg</a></td></tr><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%2F2yqErzhJYHATGDpKxf6A%2FSCHEMATIC-X-TRAINER-LITE-M-PIC18F4550.pdf?alt=media&#x26;token=0457f344-c4c5-4ba7-909b-f66c6a315c3b">https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F2yqErzhJYHATGDpKxf6A%2FSCHEMATIC-X-TRAINER-LITE-M-PIC18F4550.pdf?alt=media&#x26;token=0457f344-c4c5-4ba7-909b-f66c6a315c3b</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%2FU6ao1vOK3BkXYANsPDFC%2FDIMENSIONS%20X-TRAINER-LITE-M.pdf?alt=media&#x26;token=56c3ce33-97b0-4ee1-9ec5-13eb455677c8">https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FU6ao1vOK3BkXYANsPDFC%2FDIMENSIONS%20X-TRAINER-LITE-M.pdf?alt=media&#x26;token=56c3ce33-97b0-4ee1-9ec5-13eb455677c8</a></td></tr></tbody></table>


# X-TRAINER LITE M R2 PIC16F877A

<figure><img src="/files/9UV1BiAm7hBvoLCwft3M" alt=""><figcaption></figcaption></figure>

<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"><mark style="color:green;"><strong>Prácticas</strong></mark></td><td><a href="/pages/r2moCJuphwtawbYMdLOU#vii.-practicas">/pages/r2moCJuphwtawbYMdLOU#vii.-practicas</a></td></tr></tbody></table>

\
**X-TRAINER LITE M** es una tarjeta de desarrollo aprobada por [**Microchip Technology®**](https://www.microchip.com/) para proyectos electrónicos, posee el microcontrolador [**PIC16F877A**](https://www.microchip.com/en-us/product/PIC16F877A) con **bootloader integrado** que permitirá programarlo por USB sin necesidad de programadores externos, ideal para estudiantes, profesionales y makers.

Incluye proyectos compatibles con el compilador **PIC C COMPILER.**

### **TABLA DE CONTENIDO**

1. [**Información**](#i.-informacion)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
3. [**Especificaciones**](#iii.-especificaciones)
4. [**Puerto de programación externa ICSP**](#iv.-puerto-de-programacion-externa-icsp)
5. [**Ejemplo de conexión**](#v.-ejemplo-de-conexion)
6. [**Programación de la tarjeta**](#vi.-programacion-de-la-tarjeta)
   * [**Instalación**](#instalacion-del-software)
   * [**Subir proyecto**](#subir-proyecto)
7. [**Prácticas**](#vii.-practicas)
   * [**PIC C Compiler CCS** ](https://docs.microside.com/practicas/pic-c-compiler-ccs/pic16f887-or-pic16f877a)
8. [**Descargas**](#viii.-descargas)
   * [**Software de programación X-TRAINER Suite v1.0**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite) **para archivos .hex**
   * [**Esquemático**](https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FzpSypsaPMZGlLL8vXoV5%2FSCHEMATIC%20X-TRAINER%20LITE%20M%20PIC16F887.pdf?alt=media\&token=c331be79-41aa-4f8b-b6e7-b3022554c532)
   * [**Dimensiones**](https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FrRlfu2knEwdYWkW21aKa%2FDIMENSIONS%20X-TRAINER%20LITE%20M%20PIC16F887.pdf?alt=media\&token=0ff8b948-b542-400d-ab15-568fb02285fe)

## **I. Información**

**X-TRAINER LITE M** cuenta con la característica de tener un conector SIL de 40 pines clasificado por puertos que facilita la integración en un protoboard, así como orificios para un acceso extra a las señales. Dispone de un botón RESET, un LED indicador, un botón de propósito general, un conector micro USB para comunicación o alimentación y un conector ICSP para el uso de programadores externos.

**X-TRAINER LITE M** se ofrece con un microcontrolador [**PIC16F877A**](https://www.microchip.com/en-us/product/PIC16F877A) precargado con **bootloader** para un uso inmediato a través del puerto micro USB sin necesidad de un programador externo.

{% hint style="danger" %}
**Nota**: Si se usa un programador externo por medio del puerto ICSP se **borrará** el bootloader precargado y será necesario adquirir un nuevo PIC.
{% endhint %}

## **II. Descripción del hardware**

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

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

1. Conector micro USB para alimentación de 5 VCD y programación del microcontrolador
2. Oscilador de 20 MHz con capacitores de 22 pF
3. Puerto de programación ICSP para conectar depuradores o programadores externos\
   (si se usa un programador externo se **borrará** el bootloader precargado y será necesario adquirir un nuevo PIC)
4. LED: Indicador de propósito general conectado al pin RA4\
   PWR: Indicador de encendido
5. BOOT: Botón con resistencia de pull-up, conectado al pin RA2\
   RESET: Botón con resistencia de pull-up, conectado al pin RESET
6. Jumper para asignar el LED al pin RA4 o RA1 (asignado al pin RA1 de fábrica)
7. Base tipo DIP de 40 pines para el microcontrolador [**PIC16F877A**](https://www.microchip.com/en-us/product/PIC16F877A)
8. Orificios de acceso y conector SIL de 40 pines con los puertos del PIC serigrafiados para su fácil identificación
9. Convertidor USB a Serial UART

## **III. Especificaciones**

| Microcontrolador       | [PIC16F877A](https://www.microchip.com/en-us/product/PIC16F877A) |
| ---------------------- | ---------------------------------------------------------------- |
| Voltaje de operación   | 5 VDC                                                            |
| Pines                  | 40                                                               |
| Puerto de programación | ICSP                                                             |
| Tamaño                 | 101.68 x 36.12 x 16.59 mm                                        |

## **IV. Puerto de programación externa ICSP**

La siguiente imagen muestra el pinout del puerto de programación ICSP, la orientación se puede identificar gracias a la flecha en forma de triángulo que está localizada a un costado del puerto.

{% hint style="danger" %}
**Nota:** Si se usa un programador externo por medio del puerto ICSP se **borrará** el bootloader precargado y será necesario adquirir un nuevo PIC.
{% endhint %}

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

## **V. Ejemplo de conexión**

### **Programación con bootloader por medio del puerto USB**

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

### **Programación por medio del puerto ICSP con un programador externo**

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

{% hint style="danger" %}
**Nota**: Si se usa un programador externo por medio del puerto ICSP se **borrará** el bootloader precargado y será necesario adquirir un nuevo PIC.
{% endhint %}

## **VI. Programación de la tarjeta**

{% embed url="<https://www.tiktok.com/@microside.com/video/7328561566109011205>" %}

Para cargar tu proyecto a la tarjeta **X-TRAINER LITE M** con **PIC16F877A** se utiliza el Software **X-TRAINER Suite v1.0**.&#x20;

{% hint style="success" %}
En el apartado[ **Prácticas**](#vii.-practicas) encontrarás una lista de ejemplos en **PIC C Compiler** compatibles con la tarjeta **X-TRAINER LITE M.**
{% endhint %}

### Instalación del software

Si aún no cuentas con el Software **X-TRAINER Suite v1.0** instalado en tu computadora, en el siguiente[ **link**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite/instalacion) podrás encontrar los pasos para realizarlo.

<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"><mark style="color:green;"><strong>Instalación Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="/pages/LNXSt0fegLCzog0eQCeV">/pages/LNXSt0fegLCzog0eQCeV</a></td></tr></tbody></table>

### Subir proyecto

Ejecuta el Software **X-TRAINER Suite v1.0** y realiza los pasos del siguiente [**link**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite/pic16f877a-887).

<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"><mark style="color:green;"><strong>Programar con el Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="/pages/lqAsGvT4l1zINdR7G1x7">/pages/lqAsGvT4l1zINdR7G1x7</a></td></tr></tbody></table>

## **VII. Prácticas**

{% hint style="success" %}
Prácticas compatibles con la tarjeta **X-TRAINER LITE M** con **PIC16F877A.**
{% endhint %}

<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"><mark style="color:green;"><strong>PIC C Compiler CCS</strong></mark></td><td><a href="https://docs.microside.com/practicas/pic-c-compiler-ccs/pic16f887-or-pic16f877a">https://docs.microside.com/practicas/pic-c-compiler-ccs/pic16f887-or-pic16f877a</a></td></tr></tbody></table>

## **VIII. Descargas**

<table 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"><mark style="color:green;"><strong>Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="/pages/6sj7W832lGq8xNeWjoeg">/pages/6sj7W832lGq8xNeWjoeg</a></td></tr><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%2Ff3hvaYELyItTUyg6hzZm%2FSCHEMATIC%20X-TRAINER%20LITE%20M%20PIC16F877A.pdf?alt=media&#x26;token=86e155d4-5fb6-419d-887c-1eda7148df95">https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Ff3hvaYELyItTUyg6hzZm%2FSCHEMATIC%20X-TRAINER%20LITE%20M%20PIC16F877A.pdf?alt=media&#x26;token=86e155d4-5fb6-419d-887c-1eda7148df95</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%2Fhux37k0eJkgDvGm0Xy80%2FDIMENSIONS%20X-TRAINER%20LITE%20M%20PIC16F877A.pdf?alt=media&#x26;token=dfe2db77-19e7-42a8-83e1-6d096cf24ce0">https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fhux37k0eJkgDvGm0Xy80%2FDIMENSIONS%20X-TRAINER%20LITE%20M%20PIC16F877A.pdf?alt=media&#x26;token=dfe2db77-19e7-42a8-83e1-6d096cf24ce0</a></td></tr></tbody></table>


# X-TRAINER LITE M R2 PIC16F887

<figure><img src="/files/9UV1BiAm7hBvoLCwft3M" alt=""><figcaption></figcaption></figure>

<table data-card-size="large" data-view="cards" data-full-width="false"><thead><tr><th align="center"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><mark style="color:green;"><strong>Prácticas</strong></mark> </td><td><a href="/pages/Kx8RRaQsGSRXVoOA6RG8#vii.-practicas">/pages/Kx8RRaQsGSRXVoOA6RG8#vii.-practicas</a></td></tr></tbody></table>

**X-TRAINER LITE M** es una tarjeta de desarrollo aprobada por [**Microchip Technology®**](https://www.microchip.com/) para proyectos electrónicos, posee el microcontrolador [**PIC16F887**](https://www.microchip.com/en-us/product/PIC16F887) con **bootloader integrado** que permitirá programarlo por USB sin necesidad de programadores externos, ideal para estudiantes, profesionales y makers.

Incluye proyectos compatibles con el compilador **PIC C COMPILER.**

### **TABLA DE CONTENIDO**

1. [**Información**](#i.-informacion)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
3. [**Especificaciones**](#iii.-especificaciones)
4. [**Puerto de programación externa ICSP**](#iv.-puerto-de-programacion-externa-icsp)
5. [**Ejemplo de conexión**](#v.-ejemplo-de-conexion)
6. [**Programación de la tarjeta**](#vi.-programacion-de-la-tarjeta)
   * [**Instalación**](#instalacion-del-software)
   * [**Subir proyecto**](#subir-proyecto)
7. [**Prácticas**](#vii.-practicas)
   * [**PIC C Compiler CCS** ](https://docs.microside.com/practicas/pic-c-compiler-ccs/pic16f887-or-pic16f877a)
8. [**Descargas**](#viii.-descargas)
   * [**Software de programación X-TRAINER Suite v1.0**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite) **para archivos .hex**
   * [**Esquemático**](https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FzpSypsaPMZGlLL8vXoV5%2FSCHEMATIC%20X-TRAINER%20LITE%20M%20PIC16F887.pdf?alt=media\&token=c331be79-41aa-4f8b-b6e7-b3022554c532)
   * [**Dimensiones**](https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FrRlfu2knEwdYWkW21aKa%2FDIMENSIONS%20X-TRAINER%20LITE%20M%20PIC16F887.pdf?alt=media\&token=0ff8b948-b542-400d-ab15-568fb02285fe)

## **I. Información**

**X-TRAINER LITE M** cuenta con la característica de tener un conector SIL de 40 pines clasificado por puertos que facilita la integración en un protoboard, así como orificios para un acceso extra a las señales. Dispone de un botón RESET, un LED indicador, un botón de propósito general, un conector micro USB para comunicación o alimentación y un conector ICSP para el uso de programadores externos.

**X-TRAINER LITE M** se ofrece con un microcontrolador [**PIC16F887**](https://www.microchip.com/en-us/product/PIC16F887) precargado con **bootloader** para un uso inmediato a través del puerto micro USB sin necesidad de un programador externo.

{% hint style="danger" %}
**Nota:** Si se usa un programador externo por medio del puerto ICSP se **borrará** el bootloader precargado y será necesario adquirir un nuevo PIC.
{% endhint %}

## **II. Descripción del hardware**

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

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

1. Conector micro USB para alimentación de 5 VCD y programación del microcontrolador
2. Oscilador de 20 MHz con capacitores de 22 pF
3. Puerto de programación ICSP para conectar depuradores o programadores externos\
   (si se usa un programador externo se **borrará** el bootloader precargado y será necesario adquirir un nuevo PIC)
4. LED: Indicador de propósito general conectado al pin RA4\
   PWR: Indicador de encendido
5. BOOT: Botón con resistencia de pull-up, conectado al pin RA2\
   RESET: Botón con resistencia de pull-up, conectado al pin RESET
6. Jumper para asignar el LED al pin RA4 o RA1 (asignado al pin RA1 de fábrica)
7. Base tipo DIP de 40 pines para el microcontrolador [**PIC16F887**](https://www.microchip.com/en-us/product/PIC16F887)
8. Orificios de acceso y conector SIL de 40 pines con los puertos del PIC serigrafiados para su fácil identificación
9. Convertidor USB a Serial UART

## **III. Especificaciones**

| Microcontrolador       | [PIC16F887](https://www.microchip.com/en-us/product/PIC16F887) |
| ---------------------- | -------------------------------------------------------------- |
| Voltaje de operación   | 5 VDC                                                          |
| Pines                  | 40                                                             |
| Puerto de programación | ICSP                                                           |
| Tamaño                 | 101.68 x 36.12 x 16.59 mm                                      |

## **IV. Puerto de programación externa ICSP**

La siguiente imagen muestra el pinout del puerto de programación ICSP, la orientación se puede identificar gracias a la flecha en forma de triángulo que está localizada a un costado del puerto.

{% hint style="danger" %}
**Nota:** Si se usa un programador externo por medio del puerto ICSP se **borrará** el bootloader precargado y será necesario adquirir un nuevo PIC.
{% endhint %}

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

## **V. Ejemplo de conexión**

### **Programación con bootloader por medio del puerto USB**

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

### **Programación por medio del puerto ICSP con un programador externo**

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

{% hint style="danger" %}
**Nota:** Si se usa un programador externo por medio del puerto ICSP se **borrará** el bootloader precargado y será necesario adquirir un nuevo PIC.
{% endhint %}

## **VI. Programación de la tarjeta**

{% embed url="<https://www.tiktok.com/@microside.com/video/7328561566109011205>" %}

Para cargar tu proyecto a la tarjeta **X-TRAINER LITE M** con **PIC16F887** se utiliza el Software **X-TRAINER Suite v1.0**.&#x20;

{% hint style="success" %}
En el apartado[ **Prácticas**](#vii.-practicas) encontrarás una lista de ejemplos en **PIC C Compiler** compatibles con la tarjeta **X-TRAINER LITE M.**
{% endhint %}

### Instalación del software

Si aún no cuentas con el Software **X-TRAINER Suite v1.0** instalado en tu computadora, en el siguiente[ **link**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite/instalacion) podrás encontrar los pasos para realizarlo.

<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"><mark style="color:green;"><strong>Instalación Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="/pages/LNXSt0fegLCzog0eQCeV">/pages/LNXSt0fegLCzog0eQCeV</a></td></tr></tbody></table>

### Subir proyecto

Ejecuta el Software **X-TRAINER Suite v1.0** y realiza los pasos del siguiente [**link**](/tarjetas-de-desarrollo-pics/software-x-trainer-suite/pic16f877a-887).

<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"><mark style="color:green;"><strong>Programar con el Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="/pages/lqAsGvT4l1zINdR7G1x7">/pages/lqAsGvT4l1zINdR7G1x7</a></td></tr></tbody></table>

## **VII. Prácticas**

{% hint style="success" %}
Prácticas compatibles con la tarjeta **X-TRAINER LITE M** con **PIC16F887.**
{% endhint %}

<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"><mark style="color:green;"><strong>PIC C Compiler CCS</strong></mark></td><td><a href="https://docs.microside.com/practicas/pic-c-compiler-ccs/pic16f887-or-pic16f877a">https://docs.microside.com/practicas/pic-c-compiler-ccs/pic16f887-or-pic16f877a</a></td></tr></tbody></table>

## **VIII. Descargas**

<table 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"><mark style="color:green;"><strong>Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="/pages/6sj7W832lGq8xNeWjoeg">/pages/6sj7W832lGq8xNeWjoeg</a></td></tr><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%2FzpSypsaPMZGlLL8vXoV5%2FSCHEMATIC%20X-TRAINER%20LITE%20M%20PIC16F887.pdf?alt=media&#x26;token=c331be79-41aa-4f8b-b6e7-b3022554c532">https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FzpSypsaPMZGlLL8vXoV5%2FSCHEMATIC%20X-TRAINER%20LITE%20M%20PIC16F887.pdf?alt=media&#x26;token=c331be79-41aa-4f8b-b6e7-b3022554c532</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%2FrRlfu2knEwdYWkW21aKa%2FDIMENSIONS%20X-TRAINER%20LITE%20M%20PIC16F887.pdf?alt=media&#x26;token=0ff8b948-b542-400d-ab15-568fb02285fe">https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FrRlfu2knEwdYWkW21aKa%2FDIMENSIONS%20X-TRAINER%20LITE%20M%20PIC16F887.pdf?alt=media&#x26;token=0ff8b948-b542-400d-ab15-568fb02285fe</a></td></tr></tbody></table>


# X-TRAINER LITE F


# R1

* [X-TRAINER LITE F R1 PIC18F45K50](/tarjetas-de-desarrollo-pics/x-trainer/x-trainer-lite-f/r1/x-trainer-lite-f-r1-pic18f45k50)
* [X-TRAINER LITE F R1 PIC18F4550](/tarjetas-de-desarrollo-pics/x-trainer/x-trainer-lite-f/r1/x-trainer-lite-f-r1-pic18f4550)
* [X-TRAINER LITE F R1 PIC16F877A](/tarjetas-de-desarrollo-pics/x-trainer/x-trainer-lite-f/r1/x-trainer-lite-f-r1-pic16f877a)
* [X-TRAINER LITE F R1 PIC16F887](/tarjetas-de-desarrollo-pics/x-trainer/x-trainer-lite-f/r1/x-trainer-lite-f-r1-pic16f887)




---

[Next Page](/llms-full.txt/1)

