Empieza por la función que necesitas
Define si el módulo enviará entradas al simulador, mostrará telemetría o hará ambas cosas. Una botonera necesita interpretar contactos y disponer de una entrada compatible. Una pantalla de radio también necesita datos reales, un formato de mensajes y un comportamiento definido al perder la conexión. Más velocidad no crea una interfaz que falta.
Cuenta por separado botones, encoders y sus pulsadores, ejes analógicos, LED y pantallas. Reserva pines para I²C, SPI, USB y diagnóstico. Decide entre configurar firmware existente y escribir un sketch propio. Las bases de selección de placas explican esa primera decisión; aquí profundizamos en las alternativas.
Arduino clásico y generación R4
UNO R3 y Nano clásico son una buena base para un montaje pequeño, con numerosos ejemplos AVR. Mega aporta más conexiones y cuatro UART de hardware, aunque sigue funcionando a 16 MHz. Leonardo y Micro incorporan USB en el ATmega32U4 y resultan interesantes para desarrollar dispositivos HID.
| Placa | Controlador / frecuencia | Flash / SRAM | Conexiones | Lógica | USB |
|---|---|---|---|---|---|
| UNO R3 | ATmega328P · 16 MHz | 32 KB / 2 KB | 14 D + 6 A | 5 V | Puente USB-serie |
| Nano (classic) | ATmega328 · 16 MHz | 32 KB / 2 KB | 14 D + 8 A | 5 V | Puente USB-serie |
| Mega 2560 Rev3 | ATmega2560 · 16 MHz | 256 KB / 8 KB | 54 D + 16 A | 5 V | Puente USB-serie |
| Leonardo / Micro | ATmega32U4 · 16 MHz | 32 KB / 2.5 KB | 20 I/O; 12 A* | 5 V | USB en el controlador principal |
| Nano Every | ATmega4809 · ≤20 MHz | 48 KB / 6 KB | 14 D + 8 A | 5 V | Puente USB-serie |
| UNO R4 Minima / WiFi | RA4M1 · 48 MHz | 256 KB / 32 KB | 14 D + 6 A | 5 V | Minima: nativo; WiFi: puente/conmutación |
| Nano R4 | RA4M1 · 48 MHz | 256 KB / 32 KB | 14 D + 8 A | 5 V; Qwiic 3.3 V | USB en el controlador principal |
D indica conexiones digitales y A entradas analógicas. No sumes todas las funciones como si fueran independientes: las doce entradas analógicas de Leonardo/Micro forman parte de sus 20 I/O. I²C, SPI y PWM comparten pines. En el Nano clásico, A6/A7 son exclusivamente analógicos. Flash almacena el programa y SRAM los datos en ejecución; bibliotecas y cargador de arranque utilizan parte de la capacidad.
UNO R4 Minima, UNO R4 WiFi y Nano R4 emplean RA4M1, no ATmega328P. Los 48 MHz y la memoria adicional ayudan con pantallas, pero el código específico de AVR puede necesitar adaptación. El ESP32-S3 adicional del R4 WiFi gestiona comunicaciones; la placa completa no equivale a una placa ESP32 convencional. Nano Every admite hasta 20 MHz: comprueba también la frecuencia configurada por el paquete de placas y las bibliotecas.
Nano no significa una única arquitectura
Las siguientes placas usan lógica de 3,3 V. Que un conector encaje no demuestra compatibilidad eléctrica. Nano 33 IoT combina SAMD21 y radio; las versiones BLE usan nRF52840. Los sensores adicionales de las variantes Sense no son necesarios para una botonera normal.
| Placa | Controlador / frecuencia | Flash / RAM | Radio | USB |
|---|---|---|---|---|
| Nano 33 IoT | SAMD21 · 48 MHz | 256 KB / 32 KB | Wi-Fi + BLE | USB en el controlador principal |
| Nano 33 BLE / Rev2 / Sense Rev2 | nRF52840 · 64 MHz | 1 MB / 256 KB | BLE | USB en el controlador principal |
| Nano RP2040 Connect | RP2040 · 133 MHz | 16 MB / 264 KB | Wi-Fi + BLE | USB en el controlador principal |
| Nano ESP32 | ESP32-S3 · ≤240 MHz | 16 MB / 512 KB + 8 MB PSRAM | Wi-Fi + BLE | USB en el controlador principal |
| Nano Matter | MGM240S · 78 MHz | 1536 KB / 256 KB | Thread / BLE | Depurador/puente USB |
Muchas mantienen posiciones D0–D13 y A0–A7, pero cambian el ADC, los pines ocupados internamente y el soporte USB. En Nano RP2040 Connect, no todas las entradas analógicas llegan directamente al RP2040. Arduino lo identifica actualmente como End of Life: una unidad existente sigue siendo útil, pero conviene comprobar repuestos antes de diseñar una serie nueva.
Nano ESP32 incluye 16 MB flash, 512 KB SRAM interna y 8 MB PSRAM. Esta última es memoria adicional externa y no sustituye con idéntico rendimiento todos los búferes internos. Nano Matter está orientado a redes Thread/Matter, sin ventaja automática para un joystick por cable. El formato Nano tampoco implica firmware intercambiable.
Dónde encajan Zero, MKR, Due, GIGA y Portenta
Zero y muchas MKR, como MKR WiFi 1010, utilizan SAMD21 a 48 MHz, con 256 KB flash, 32 KB SRAM y lógica de 3,3 V. Zero incorpora depurador; las MKR se diferencian principalmente por comunicaciones y conexiones. Elige la interfaz necesaria y evita pagar por funciones inalámbricas que no usarás.
Due utiliza SAM3X8E a 84 MHz, 512 KB flash y 96 KB SRAM, con 54 conexiones digitales y doce entradas analógicas. Su forma parecida a Mega no lo convierte en una placa de 5 V. GIGA R1 WiFi ofrece núcleos STM32H747 a 480/240 MHz, 2 MB flash y 1 MB SRAM internas, más 16 MB flash y 8 MB SDRAM externas. Sus 76 GPIO y conectores de pantalla son útiles para instrumentación mayor; sigue habiendo funciones compartidas.
Portenta H7 encaja en sistemas compactos exigentes con una placa portadora adecuada. UNO WiFi Rev2 combina ATmega4809 con radio y debe distinguirse de R3/R4. Nicla se orienta a sensores o visión; Opta, al control industrial. UNO Q y VENTUNO Q combinan Linux y microcontrolador. Para cuatro LED y un OLED añaden complejidad innecesaria; tienen sentido cuando se necesita procesamiento de imágenes o control superior. Esta selección cubre usos relevantes de cabina, sin pretender catalogar todos los Arduino históricos.
STM32: Blue Pill, Black Pill y Nucleo
Blue Pill y Black Pill son nombres de placas, no garantías de compatibilidad. Lee el modelo completo del chip y la revisión. STM32F103C8 dispone oficialmente de 64 KB flash; no bases tu diseño en relatos sobre memoria adicional aprovechable.
| Placa / chip | CPU / frecuencia máxima | Flash / SRAM | USB del chip | Lógica |
|---|---|---|---|---|
| Blue Pill · STM32F103C8T6 | Cortex-M3 · 72 MHz | 64 KB / 20 KB | USB FS | 3.3 V |
| WeAct · STM32F401CEU6 | Cortex-M4 · 84 MHz | 512 KB / 96 KB | USB OTG FS | 3.3 V |
| WeAct · STM32F411CEU6 | Cortex-M4 · 100 MHz | 512 KB / 128 KB | USB OTG FS | 3.3 V |
| NUCLEO-F446RE · STM32F446RE | Cortex-M4 · 180 MHz | 512 KB / 128 KB | USB OTG* | 3.3 V |
| NUCLEO-G474RE · STM32G474RE | Cortex-M4 · 170 MHz | 512 KB / 128 KB | USB FS* | 3.3 V |
| NUCLEO-H743ZI · STM32H743ZI | Cortex-M7 · ≤480 MHz | 2 MB / ≤1 MB | USB OTG* | 3.3 V |
En Nucleo, tener USB en el chip no significa que cada conector USB llegue al microcontrolador de aplicación. ST-LINK sirve para programar y depurar. Comprueba esquema, USB de usuario y circuito externo necesario. F4 resulta interesante para firmware de control; G4, para adquisición analógica y temporización; H7, para más datos y pantallas. Los pines utilizables dependen de placa, encapsulado y funciones multiplexadas.
FreeJoy requiere su plataforma STM32F103 documentada. Un Black Pill F411 no es un sustituto directo. Algunos pines digitales STM32 toleran 5 V bajo condiciones concretas; eso no autoriza a aplicarlos a los ADC ni a toda la placa.
Las diferencias decisivas entre ESP32
Estas familias necesitan señales adecuadas de 3,3 V. Flash, PSRAM y GPIO accesibles dependen del módulo concreto. Compra con su referencia completa, no únicamente con el nombre ESP32.
| Familia | CPU / frecuencia máxima | SRAM | USB | Radio |
|---|---|---|---|---|
| ESP32 (original) | Xtensa LX6 · ≤240 MHz | 520 KB | Sin controlador USB de dispositivo | Wi-Fi + Bluetooth Classic / BLE |
| ESP32-S2 | Xtensa LX7 · ≤240 MHz | 320 KB | USB OTG; HID requiere firmware adecuado | Wi-Fi |
| ESP32-S3 | 2× Xtensa LX7 · ≤240 MHz | 512 KB | USB OTG; HID requiere firmware adecuado | Wi-Fi + BLE |
| ESP32-C3 | RISC-V · ≤160 MHz | 400 KB | USB Serial/JTAG; sin HID configurable | Wi-Fi + BLE |
| ESP32-C6 | RISC-V · ≤160 MHz | 512 KB | USB Serial/JTAG; sin HID configurable | Wi-Fi 6 + BLE + 802.15.4 |
El ESP32 original conectado a un conversor USB-serie no se convierte en joystick USB nativo. S2/S3 tienen USB OTG configurable, pero HID exige firmware, soporte de placa y conector adecuados. El Serial/JTAG de C3/C6 es una función fija y no permite transformarlo libremente en HID. S3 combina memoria, USB y radio para proyectos de visualización con varias tareas.
Una conexión inalámbrica exige definir arranque, pérdida de Wi-Fi y datos caducados; no sustituye una alimentación estable. Algunos GPIO se reservan para arranque o flash. En ESP32 original, GPIO34–39 son solo entradas sin resistencias pull-up internas. Trabaja con el esquema de tu placa.
OLED: cuándo basta UNO y cuándo conviene ESP32
Un framebuffer monocromo completo de 128×64 necesita 128 × 64 ÷ 8 = 1024 bytes: la mitad de los 2 KB SRAM del UNO R3. También deben caber variables, recepción serie, bibliotecas y pila. Bibliotecas de texto o por páginas pueden reducir el consumo.
Cuatro LED y pocos valores que cambian despacio pueden funcionar perfectamente con UNO R3. La guía de IA, LED y OLED propone ese comienzo. Varias pantallas, fuentes grandes, menús, tratamiento de datos o red hacen más atractivo ESP32-S3/Nano ESP32. Un OLED aislado no obliga a cambiar de placa.
Más MHz no aceleran por sí solos I²C. A 400 kHz, 1024 bytes requieren aproximadamente 23 ms solo para datos y confirmaciones, además del resto del protocolo y software. Varias pantallas comparten ese tiempo. Consulta frecuencia de actualización, direcciones y alternativas SPI en la guía de pantallas.
Distingue conector USB, joystick e integración
USB-C describe primero el conector. Un puerto COM transmite datos serie. Un joystick HID comunica botones y ejes mediante un descriptor adecuado. HID de teclado y de joystick son funciones distintas: una biblioteca de teclado compatible no demuestra que funcione una de joystick.
En UNO R3 original, el ATmega16U2 separado actúa como puente USB. Un sketch normal del ATmega328P no cambia su clase USB. Reprogramar el puente es un trabajo adicional; para empezar suele ser más claro un dispositivo HID documentado. Las entradas USB nativas tampoco proporcionan automáticamente telemetría de vuelta. La página de entradas USB explica el camino hasta la asignación en el simulador.
UNO R4 WiFi utiliza normalmente ESP32-S3 como puente USB. La placa puede conmutar USB hacia RA4M1; el soporte HID depende del paquete y la biblioteca adecuados. Minima y WiFi no tienen, por tanto, el mismo recorrido USB.
Planifica pines, ejes y alimentación
Un encoder suele necesitar dos señales y otra para el pulsador. Una matriz ahorra pines, pero requiere firmware apropiado y medidas contra detecciones múltiples incorrectas. Los expansores añaden conexiones a cambio de carga del bus y tiempo de lectura. Cuenta funciones simultáneas utilizables, no solo puntos de soldadura.
Un ADC de más bits no garantiza un eje más estable. Importan sensor, referencia, cableado, muestreo y filtros; demasiado suavizado retrasa la respuesta. Observa el valor en reposo y durante movimientos lentos. Los LED necesitan limitar corriente y las cargas grandes requieren controladores. Un GPIO no alimenta iluminación de fondo ni motores. Revisa la alimentación, incluidas las resistencias I²C al nivel correcto.
Presupuesto concreto: ocho pulsadores individuales, tres encoders con pulsador y un OLED I²C necesitan 8 + 3 × 3 + 2 = 19 líneas de señal sin matriz, además de alimentación y masa. Asígnalas en el pinout de WeAct o el pinout ESP32-S3-DevKitC-1 v1.1. Este DevKit tiene 44 posiciones de conector y 36 etiquetas GPIO, no 36 conexiones sin restricciones. GPIO19/20 se usan para USB, GPIO38 para el LED RGB y ciertos módulos de memoria Octal ocupan GPIO35–37. Reserva también arranque y depuración. En Blue Pill debes seguir el plano de la revisión y el firmware concretos.
Tres proyectos para decidir
- Panel de aprendizaje: cuatro LED, OLED pequeño, USB-serie y datos de ejemplo. Un UNO R3 que ya tengas es una elección razonable. Amplía cuando aparezca una limitación real.
- Botonera con ejes: plataforma documentada de FreeJoy o placa con firmware HID propio adecuado. Comprueba botones, encoders, calibración y asignación primero en el sistema operativo.
- Instrumento conectado a la red: varios valores, menús y margen gráfico. Compara ESP32-S3/Nano ESP32 con STM32 o GIGA adecuados; define origen de datos y bus antes de comprar.
La primera prueba debe demostrar un botón, un eje o un valor visible. Registra revisión, firmware, bibliotecas, pines y comportamiento esperado al reiniciar o perder datos. Que compile no demuestra cableado correcto ni respuesta del simulador. Conserva una versión funcional antes de ampliar.
La comunidad puede ayudarte a elegir
Cockpit Suite reúne simuladores y dispositivos compatibles en un entorno de software común. Consulta las funciones concretas en la lista de compatibilidad. Las combinaciones preparadas simplifican la instalación; una placa propia sigue necesitando un camino de datos documentado.
Comparte objetivo, foto de placa, conexiones y última prueba funcional en el foro. También ayudamos con impresión 3D, fresadoras CNC de pórtico y trabajos láser con LightBurn. Procuramos responder el mismo día cuando sea posible; una consulta tardía puede esperar más. Cockpit Suite es un proyecto joven con software disponible. Las experiencias de la comunidad europea y de otros lugares nos ayudan a mejorar soluciones útiles y comprensibles.
Documentación de fabricantes y fundamentos
Fuentes consultadas el 18 de octubre de 2026. Las cifras corresponden a los chips o placas indicados; memoria disponible y pines libres pueden ser menores. Las recomendaciones son valoraciones editoriales, no mediciones físicas.
- Arduino hardware catalogFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino UNO R3Fuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino UNO R3 datasheetFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino Mega 2560 Rev3Fuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino LeonardoFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino NanoFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino Nano Every datasheetFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino UNO R4 MinimaFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino UNO R4 WiFiFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino Nano R4Fuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino Nano 33 IoT datasheetFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino Nano 33 BLE Rev2 datasheetFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino Nano RP2040 Connect — End of LifeFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino Nano RP2040 Connect datasheetFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino Nano ESP32 datasheetFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino Nano Matter datasheetFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino ZeroFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino DueFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino MKR WiFi 1010Fuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino GIGA R1 user manualFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino GIGA R1 WiFi datasheetFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino Portenta H7Fuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- STMicroelectronics STM32F103C8Fuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- WeAct Studio MiniSTM32F4x1Fuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- STMicroelectronics STM32F446REFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- STMicroelectronics STM32G474REFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- STMicroelectronics STM32H743ZIFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- STMicroelectronics NUCLEO-G474REFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- STMicroelectronics NUCLEO-H743ZIFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Espressif Arduino-ESP32 USB APIFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Espressif ESP32-C6 USB Serial/JTAGFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Espressif chip comparison FAQFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Espressif ESP32-S3 getting startedFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- FreeJoy-Team / FreeJoyFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- ESP32 datasheetFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- ESP32-S2 datasheetFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- ESP32-S3 datasheetFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- ESP32-C3 datasheetFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- ESP32-C6 datasheetFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino UNO QFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino VENTUNO QFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino UNO WiFi Rev2Fuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino Nicla Sense MEFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino OptaFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino UNO R4 WiFi datasheet — USB bridgeFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Arduino MicroFuente primaria: comprueba revisión, conexiones y paquete de software concreto.
- Espressif ESP32-S3-DevKitC-1 v1.1Fuente primaria: comprueba revisión, conexiones y paquete de software concreto.