Construye un HMI Display para Windows/MacOS usando Wio Terminal

En esta wiki, te mostraremos cómo usar el Wio Terminal como una pantalla HMI (Human Machine Interface) usando el usermode SDK para Windows/Linux/Mac OS. Esto amplía las posibilidades del Wio Terminal en aplicaciones industriales.
Si quieres usar el Wio Terminal como pantalla HMI con Raspberry Pi, consulta esta wiki.
Hardware requerido
Firmware para Wio Terminal
Primero, debes cargar un programa Arduino en tu Wio Terminal desde tu PC.
- Descarga la librería Seeed_Arduino_USBDISP.
Hay dos ejemplos principales: NullFunctional
y USBDisplayAndMouseControl
:
- Para mayor tasa de refresco de pantalla, carga el ejemplo
NullFunctional
. - Para que el Wio Terminal también funcione como ratón USB, carga
USBDisplayAndMouseControl
.
Para el usermode SDK, cambia USBDISP().begin(true);
por USBDISP().begin(true, true);
en el código.
Método uf2
Para mayor comodidad, también proporcionamos archivos uf2
para flashear el firmware.
- Descarga NullFunctional.uf2.
- Descarga USBDisplayAndMouseControl.uf2.
Para entrar en modo bootloader, desliza rápidamente el interruptor de encendido dos veces. Para más información, visita aquí.
Aparecerá un disco externo llamado Arduino
en tu PC. Arrastra el archivo uf2
descargado dentro de esta unidad.
Firmware para el dispositivo anfitrión (Host PC)
En este caso, el dispositivo anfitrión es tu PC. A continuación, te explicamos cómo usar el Wio Terminal como pantalla HMI con el usermode SDK.
Para MacOS/Linux — SDK en C++
- Clona el repositorio del firmware:
cd ~
git clone https://github.com/Seeed-Studio/seeed-linux-usbdisp.git
- Entra en la ruta del usermode SDK:
cd ~/seeed-linux-usbdisp/drivers/usermode-sdk/rpusbdisp-drv/src
- Abre
rpusbdisp.cc
y define los macros según el firmware cargado en tu Wio Terminal (NullFunctional o USBDisplayAndMouseControl). Descomenta el que corresponda.

- Regresa a la carpeta usermode-sdk:
cd ~/seeed-linux-usbdisp/drivers/usermode-sdk
- Compila y construye el driver:
make
- Entra a la carpeta de build:
cd ~/seeed-linux-usbdisp/drivers/usermode-sdk/build/
- Ejecuta el demo:
sudo ./rpusbdispdemo --demo 1

Deberías ver cómo el Wio Terminal comienza a mostrar gráficos. El código fuente está en seeed-linux-usbdisp/drivers/usermode-sdk/demo/src/main.cc
.
Soporte para múltiples pantallas
Este SDK en C++ soporta múltiples pantallas (varios Wio Terminal). Para usar 2 pantallas, ejecuta:
sudo ./rpusbdispdemo --demo 2
Hay demos para hasta 4 pantallas. Consulta el código fuente para adaptar a tus necesidades.
Para Windows — SDK en Python
En Windows, puedes usar el SDK con Python. Asegúrate de tener Python instalado y luego instala la librería dependiente:
pip3 install pyusb
- Ve a la ruta del demo Python:
cd ~/seeed-linux-usbdisp/drivers/python-demo/
- Abre
simple-test.py
y define los macros que coincidan con el firmware de tu Wio Terminal, guarda el archivo.

- Ejecuta el demo:
python3 simple-test.py

Soporte para múltiples pantallas
Este SDK en Python también soporta múltiples pantallas. Consulta USBDisplay.py
para ejemplos.
Ejemplo para 4 pantallas:
devices = list(usb.core.find(find_all=True, idVendor=0x2886, idProduct=0x802D))
dev1 = devices[0] # dispositivo 0
dev2 = devices[1] # dispositivo 1
dev3 = devices[2] # dispositivo 2
dev4 = devices[3] # dispositivo 3
Demo simple
Este demo transfiere una imagen desde el PC al Wio Terminal usando Python.
- Ve a la ruta del demo:
cd ~/seeed-linux-usbdisp/drivers/python-demo/
- Descarga
image.jpg
y guárdalo en la misma carpeta queimage-test.py
.
Nota: Elige los macros que coincidan con el firmware de tu Wio Terminal, de lo contrario el programa fallará.
- Ejecuta el demo:
python3 image-test.py

Recursos
Soporte Técnico y Discusión de Producto
Gracias por elegir nuestros productos. Estamos aquí para ayudarte y ofrecer diferentes canales de soporte para garantizar una experiencia fluida con nuestros dispositivos.