Preparar equipo para trabajar con interfaces UART para micro-controladores Arduino, ESPxx, etc.

Actualmente los micro-controladores como ESPxx, Arduino, son fáciles de encontrar en infinidad de productos tecnológicos, ya que sus bajos precios los convierten en herramientas accesibles, y tomando en cuenta la gran cantidad de documentación los convierten en un hardware muy adaptable para utilizar en proyectos de automatización.

Para utilizar estos micro-controladores necesitamos conectarnos mediante su UART (siglas en inglés de Universal Asynchronous Receiver-Transmitter, en español: Transmisor-Receptor Asíncrono Universal), esta interfaz utiliza una técnica muy antigua de comunicación, mejor conocida como conexión Serial, la utilizada antiguamente en los años 90 mediante conectores DB9, aunque a diferencia de esos años los voltajes han cambiado a comunicación TTL (Lógica de Transistor a Transistor) a 5v o 3.3v  dependiendo de la electrónica del propio dispositivo.

Algunos dispositivos como Arduino, ESPxxx, etc.. incorporan en el mismo circuito un adaptador USB-Serial, sin embargo, para otros casos solo se dispondrá de la UART y tendremos que suministrar nosotros un adaptador que se comunique con nuestro computador.

Ejemplos de interfaz UART TTL:

Interfaz UART de un TV-Box Android

Interfaz UART de un dispositivo SonOff RF-Bridge

Ejemplos de adaptadores USB-Serial para comunicación UART

1.- Instalar controladores (drivers) comunes para adaptadores USB-Serial 

Apple OsX:

Para el caso de computadoras Apple, con sistema operativo OsX (en mi caso High Sierra) es necesario instalar un controlador para que el sistema detecte estos adaptadores. El controlador común que sirve para la mayoría de estos dispositivos es suministrado por la empresa Silabs y puede descargarse desde aquí: 


El archivo a descargar para OsX es: CP210x VCP Mac OSX Driver


Seguir los pasos de instalación, reiniciar el equipo y ya deberíamos ver nuestros dispositivos seriales conectados a nuestra máquina.

GNU/Linux Debian o Ubuntu:

Al parecer los sistemas operativos Debian / Ubuntu incluyen el controlador, ya que no fue necesario realizar alguna acción para que lo detectara.

2.- Comunicarse con el adaptador USB a Serial

Apple OsX:

Dependiendo del sistema operativo que uses, en mi caso OsX por lo que usaré el siguiente comando para visualizar los dispositivos Seriales conectados a la máquina:

ls -l /dev/cu.*

En caso de tener más de un dispositivo que funcione en serie conectado al computador, les recomiendo que corran el comando sin el adaptador USB-Serial conectado, y que luego lo vuelvan a correr cuando conecten el adaptador, de esta forma podrán identificar el correcto, ejemplo:


GNU/Linux Debian o Ubuntu:

En linux podemos listar los dispositivos USB-Serial mediante el siguiente comando:

ll /dev/ttyUSB*

Ejemplo en la terminal:


3.- Instalar herramientas para trabajar con la interfaz UART del micro-controlador

Apple OsX:

3.1 Instalar Homebrew

Homebrew es el gestor de paquetes por excelencia de OsX, para instalarlo correr el siguiente comando en su terminal:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

3.2 Instalar Picocom

Picocom es una herramienta usada para abrir una comunicación serie mediante una consola, similar a Putty, CoolTerm, etc.  Se puede instalar en OsX mediante Homebrew:

brew install picocom

3.3 Instalar Python3, Pip y PycURL

Luego de eso es necesario instalar Python3 y las demás dependencias, usa los siguientes comandos:

brew install python3

en caso de no funcionar el comando anterior usar:

brew install --build-from-source python@3.9

Instalar Pip:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py

Instalar PycURL:

brew reinstall openssl
pip uninstall pycurl
pip install --install-option="--with-openssl" --install-option="--openssl-dir=/usr/local/opt/openssl" pycurl

3.4 Instalar esptool.py

Espytool es una de las mejores herramientas para conectarse a micro-controladores mediante un adaptador serial, para instalarlo ejecutar los siguientes comandos en la terminal:

pip install esptool

3.5 Instalar adafruit-ampy

Ampy es una herramientas que facilita la comunicación con micro-controladores que utilizan un módulo CircuitPython o MicroPython:

pip install adafruit-ampy



GNU/Linux Debian o Ubuntu:

3.1 Instalar Picocom

sudo apt install picocom

3.2 Instalar Python3, Pip y PycURL

sudo apt install python3

Instalar pip

sudo apt install python3-pip

Instalar PycURL

sudo apt install python3-pycurl

3.3 Instalar Esptool.py

sudo apt install esptool

3.4 Instalar adafruit-ampy

sudo pip install adafruit-ampy

4.- Realizar una prueba de comunicación hacia un micro-controlador

Apple OsX

Una vez que tenemos los controladores y las herramientas instaladas podemos correr el siguiente comando para verificar la comunicación:

esptool.py --port <ruta del puerto serial> chip_id

Esptool intentará conectarse a cada interfaz serial disponible, para ello debemos energizar el dispositivo manteniendo presionado el botón reset unos segundos.


Este comando nos entregará toda la información importante del micro-controlador, la que podremos usar más adelante para para los fines que estimemos convenientes.

GNU/Linux Debian o Ubuntu:

Dado que es la misma herramienta, se usa el mismo comando, solo tener en cuenta el nombre del puerto Serial:


Comentarios