Arduino Micro

ArduinoMCU 8-32 bitarduino

⚡ Lo esencial en 60 segundos

La Arduino Micro es una placa de desarrollo electrónica que representa un punto de inflexión en la miniaturización de los sistemas embebidos accesibles para el público general. Introducida oficialmente en 2012, esta tarjeta fue desarrollada en colaboración con la empresa Adafruit, una alianza estratégica que se refleja incluso en el texto "Adafruit co-design" impreso en la parte trasera del circuito impreso. Su objetivo principal era ofrecer la potencia de procesamiento de las placas Arduino más grandes en un formato extremadamente compacto, diseñado específicamente para encajar en protoboards o breadboards, esos tableros de ensayo con agujeros donde los entusiastas y profesionales conectan componentes sin necesidad de soldadura permanente. Con unas dimensiones de apenas 48 por 17,7 milímetros, la Micro es considerablemente más pequeña que su hermana mayor, la Arduino Uno, lo que la convierte en una solución ideal para proyectos donde el espacio es un recurso crítico, como wearables, dispositivos portátiles o integraciones en maquetas pequeñas. Aunque su tamaño es reducido, su precio actual ronda los 24 euros, manteniéndose como una opción competitiva dentro del ecosistema de hardware abierto. Es importante notar que, durante un periodo breve entre 2015 y 2016, esta placa se comercializó bajo la marca Genuino en mercados fuera de Estados Unidos, aunque la identidad técnica y el soporte del firmware permanecen unificados bajo la marca Arduino en la actualidad.

El corazón de la Arduino Micro es el microcontrolador ATmega32U4, un chip de 8 bits fabricado originalmente por Atmel y ahora por Microchip. A diferencia de otras placas que utilizan un microcontrolador principal y un segundo chip dedicado únicamente a la comunicación USB, la Micro integra el controlador USB directamente en el procesador principal. Esto significa que el propio cerebro de la placa gestiona la conexión con el ordenador, permitiendo funciones avanzadas que requieren una identidad USB directa. El chip opera a una frecuencia de reloj de 16 MHz, lo que indica la velocidad a la que procesa instrucciones; aunque esto pueda parecer lento comparado con los procesadores de un ordenador moderno, es más que suficiente para tareas de control en tiempo real, lectura de sensores y accionamiento de motores. La memoria del sistema consta de 32 KB de memoria Flash, donde se almacena el código del programa, de los cuales 4 KB están reservados para el gestor de arranque o bootloader, dejando aproximadamente 28,6 KB libres para el usuario. Además, dispone de 2,5 KB de memoria RAM para el almacenamiento temporal de datos durante la ejecución y 1 KB de EEPROM para guardar configuraciones que deben persistir incluso cuando se apaga la placa.

Una de las características más distintivas y potentes de la Arduino Micro es su capacidad de emular dispositivos periféricos USB. Gracias a la arquitectura del ATmega32U4, la placa puede presentarse ante el ordenador no solo como un puerto de comunicación serie, sino también como un teclado o un ratón. Esta funcionalidad se logra mediante las librerías nativas Keyboard y Mouse, que permiten al programador enviar pulsaciones de teclas o movimientos del cursor al sistema operativo del ordenador. Esta capacidad abre un abanico de posibilidades creativas, desde la automatización de tareas repetitivas en el escritorio hasta la creación de interfaces de control personalizadas. Sin embargo, esta potencia conlleva una responsabilidad: si un programa mal escrito toma el control del teclado, puede bloquear la interacción del usuario con el ordenador. Por ello, la documentación oficial recomienda encarecidamente incluir siempre un botón físico de seguridad en los circuitos que utilicen estas funciones, para poder interrumpir la ejecución del código si es necesario.

En cuanto a las entradas y salidas, la Micro ofrece 20 pines digitales, de los cuales 7 soportan modulación por ancho de pulso (PWM), una técnica que simula una señal analógica mediante el encendido y apagado rápido de una señal digital, útil para controlar la intensidad de luces LED o la velocidad de motores. Lo más notable es la disponibilidad de 12 entradas analógicas, una cifra superior a las 6 de la Arduino Uno. Esto se logra mediante un proceso de multiplexación, donde algunos pines digitales comparten su función con canales analógicos adicionales, permitiendo conectar más sensores de temperatura, luz o posición simultáneamente. La resolución de la conversión analógica-digital es de 10 bits, lo que significa que lee valores entre 0 y 1023, proporcionando una buena precisión para la mayoría de aplicaciones de hobby y educación. La comunicación con otros dispositivos se realiza a través de protocolos estándar como I2C y UART. Es crucial destacar una diferencia técnica importante respecto a otras placas: la comunicación serie por USB se denomina Serial, mientras que la comunicación serie por los pines físicos (UART) se denomina Serial1. Esta distinción es vital para evitar errores comunes en principiantes que intentan enviar datos por los pines 0 y 1 utilizando el comando equivocado.

La alimentación de la placa es flexible pero requiere atención. Puede alimentarse a través del puerto micro-USB o mediante una fuente externa conectada a los pines Vin y GND, ya que no dispone de conector de barril tradicional. El rango de voltaje de entrada recomendado es de 7 a 12 voltios; superar esta última cifra puede provocar el sobrecalentamiento del regulador de voltaje integrado. Existe un pin de 3,3 voltios, pero su capacidad de corriente está limitada a 50 miliamperios, lo que restringe su uso para alimentar componentes de bajo consumo. Para proteger el puerto USB del ordenador de cortocircuitos o sobrecargas, la placa incorpora un fusible polimérico autorreseteable de 500 miliamperios, que corta la corriente si se excede este límite y se restablece automáticamente una vez eliminada la falla.

El proceso de programación se realiza mediante el entorno de desarrollo Arduino IDE o la herramienta de línea de comandos arduino-cli. La placa utiliza un bootloader llamado Caterina, que se comunica mediante el protocolo AVR109. Para subir un nuevo programa, el entorno de desarrollo envía una señal específica de 1200 baudios al puerto virtual COM, lo que hace que la placa se reinicie y entre en modo de programación durante unos 8 segundos. Si este proceso automático falla, el usuario debe pulsar manualmente el botón de reset en la placa. En sistemas operativos Windows, es posible que sea necesario instalar un archivo de controlador específico (.inf) para que el sistema reconozca correctamente el puerto serie virtual. A pesar de sus limitaciones, como la ausencia de SPI en la cabecera digital (solo disponible en el conector ICSP) y ciertos errores conocidos en la lectura de datos USB, la Arduino Micro sigue siendo una herramienta fundamental para quienes buscan diseñar dispositivos compactos con capacidades de interfaz humana directa, manteniendo la filosofía de código abierto y accesibilidad que caracteriza a la comunidad Arduino.

Foro (1 tema) →

AttrEspecificacionesverificado
mcuAtmel (now Microchip) ATmega32U4, 8-bit AVR RISC, 16 MHz crystal oscillator on the board (board page; micro.build.f_cpu=16000000L in boards.txt). Datasheet: "Low Power AVR 8-Bit Microcontroller", 32 KB In-System Self-Programmable Flash, 2.5 KB SRAM, 1 KB EEPROM, 26 general-purpose I/O lines, 44-pin QFN/TQFP package, 16 MHz at 4.5 V (industrial range), operating temperature −40 °C to +85 °C.✔
gpu_storagenone — bare MCU board, no graphics or filesystem.? sin verificar
usbmicro-USB connector; the 32U4 integrates the USB 2.0 Full-speed/Low-speed device controller (datasheet feature list), enumerating as a virtual CDC COM port plus generic keyboard and mouse HID (store page — Communication). USB IDs from boards.txt: VID 0x2341 with PID 0x0037 (COM) / 0x8037 (bootloader), Genuino VID 0x2A03 (same PIDs), plus 0x0237/0x8237.✔
i_o_20_digital_pins_5_v_logic- 7 PWM (8-bit via analogWrite): 3, 5, 6, 9, 10, 11, 13. - 12 analog inputs, 10-bit ADC: A0–A5 labelled on the board, plus A6–A11 shared with digital pins 4, 6, 8, 9, 10, 12; AREF pin for external reference. - UART TTL (5 V) on 0 (RX) / 1 (TX) via the Serial1 class; Serial = USB CDC. - I²C/TWI on 2 (SDA) / 3 (SCL) via Wire. - SPI only on the ICSP header (and nearby MISO/MOSI/SCK test points) — not on the digital header as on the Uno. - External interrupts on 0, 1, 2, 3, 7. - RX_LED/SS — extra pin vs Leonardo: RX activity LED, reusable as SPI slave-select. - LED_BUILTIN on pin 13; RX/TX LEDs show USB (not pin 0/1) traffic.? sin verificar
drive20 mA recommended / 40 mA absolute max per pin; internal pull-ups 20–50 kΩ (store page — Input and Output).✔
powermicro-USB or external supply on Vin/GND pins (no barrel jack), auto-selected; operating 7–20 V, recommended 7–12 V (regulator may overheat above 12 V); pins VIN, 5V, 3V3 limited to 50 mA, GND, AREF, Reset; resettable 500 mA polyfuse protects the host USB port (store page — Power/Warnings).✔
size_weightPCB 48 × 17.7 mm (USB connector extends beyond), breadboard-friendly; 20 g with headers, 16 g without (store page — Physical Characteristics; store product JSONs).✔
  • Fabricante: Arduino (arduino.cc), desarrollado junto con Adafruit (página de la placa); el PCB lleva el texto "Adafruit co-design" en la parte trasera (texto alternativo de la imagen del producto de la tienda).
  • Año: introducida en 2012 — la definición de la placa y su bootloader Caterina se fusionaron en el core oficial de AVR el 27 de octubre de 2012 (commit "Adding Micro.") con una actualización de firmware el 2 de noviembre de 2012 (historial de commits de ArduinoCore-avr para bootloaders/caterina/Caterina-Micro.hex).
  • Estado: Activo — actualmente listado y con stock en la tienda oficial (JSON de producto obtenido en vivo, updated_at 2026-10-13) (página de la tienda).
  • Precio: precio actual en la tienda €24.10 (SKU A000053, EUR, con impuestos) (JSON de producto de la tienda).
  • Variantes: - Arduino Micro sin cabeceras — misma placa, pines sin poblar, €25.40, SKU A000093 (JSON de producto de la tienda). - Genuino Micro — vendido bajo la marca Genuino fuera de EE. UU. durante 2015–2016 (Wikipedia — Arduino); el vendor ID USB de Genuino 0x2A03 sigue en la definición de placa del core (boards.txt). - El diseño 32U4 del tamaño de una protoboard dio origen a los omnipresentes clones de terceros "Pro Micro" (Wikipedia — Arduino, imagen "Arduino Pro Micro (ATmega32U4)").

+ Puntos fuertes

  • USB nativo, sin co-procesador: como en el Leonardo, el 32U4 es el dispositivo USB, por lo que la placa puede aparecer como ratón y teclado más un puerto COM virtual (página de la placa, página de la tienda) — programable mediante las clases integradas Keyboard y Mouse.
  • Factor de forma para protoboard: el PCB de 48 × 17,7 mm cruza el canal central de una protoboard, la placa AVR oficial más pequeña de su generación (página de la placa).
  • Co-diseñada con Adafruit — la colaboración que luego alimentó el ecosistema Pro Micro (página de la placa).
  • 12 canales analógicos (frente a 6 en el Uno) multiplicando A6–A11 en los pines digitales 4/6/8/9/10/12 (página de la tienda).
  • Pin bifuncional RX_LED/SS — un pin extra comparado con el Leonardo (página de la tienda — Input and Output).
  • Protección contra sobrecorriente USB: el polyfuse reseteable corta el USB por encima de 500 mA (página de la tienda — Warnings).
  • Hardware de código abierto — Arduino publica los archivos de diseño de la placa a través de la página de docs (página de la placa).

− Puntos débiles

  • Dos mundos serie: Serial = USB/CDC, Serial1 = TTL en los pines 0/1 — los sketches y tutoriales pensados para el Uno hablan en silencio al puerto equivocado (página de la tienda — Input and Output).
  • Bug de RX en CDC: Serial.available solo devuelve 0 o 1 cuando se envían varios bytes sueltos al puerto USB del ATmega32U4 — issue antiguo y abierto #267 (afecta a todas las placas 32U4, incluida la Micro).
  • Rarezas del bootloader Caterina: "executes SPM operations with interrupts enabled" (issue #122) y puede dejar una interrupción habilitada tras salir (issue #218).
  • Danza de reset/programación: el puerto COM virtual desaparece durante el reset y la ventana del bootloader es de solo ~8 s; si el IDE no puede provocar el reset a 1200 baudios hay que pulsar reset manualmente (página de la tienda — Automatic Reset).
  • Riesgo de secuestro del teclado: los sketches HID toman el control del teclado/ratón del host — el patrón oficial KeyboardMessage aconseja mantener un botón físico de seguridad (página de la tienda — Communication para las clases; ejemplo KeyboardMessage para el patrón).
  • Escudos SPI pueden no funcionar: el SPI está solo en el conector ICSP de 6 pines, no en la cabecera digital, así que los escudos sin paso de ICSP son callejones sin salida (página de la tienda — Input and Output).
  • Sin jack de barril / sin margen de Vin tolerante a 5 V: la alimentación externa debe cablearse a Vin/GND; más de 12 V arriesga el sobrecalentamiento del regulador, y el pin de 3,3 V entrega solo 50 mA (página de la tienda — Power).
  • Identidad USB fija: renombrar el dispositivo USB requería regrabar los descriptores (issue #295, cerrado); el soporte de descriptores HID más ricos sigue siendo un pull request abierto (PR #387).
  • Windows necesita un .inf para el puerto CDC (página de la tienda — Communication).
  • Retour d'expérience expert expert — expert-arduino
    • Retour d'experience sur l'Arduino Micro. Le format 48x17.7mm est vraiment pratique pour les breadboards, on gagne de la place par rapport a l'Uno. La presence du 32U4 permet d'être reconnu comme clavier/souris, c'est top pour les macros. Par contre, attention aux pieges documentes. D'abord, le dual… — expert-arduino
    • Merci pour le rappel sur le SPI, j'ai perdu une heure a comprendre pourquoi mon module ne repondait pas. Concernant le bug CDC, est-ce que ca affecte aussi la vitesse de chargement ? J'ai souvent des erreurs de port série au moment du upload. Il faut vraiment appuyer sur le bouton reset a la second… — maker-hobbyiste
    • Pour repondre a ta question sur le upload, oui, la dance du reset est obligatoire si l'auto-reset échoue. Le port COM disparait au moment du reset, donc il faut être rapide pour reselectionner le port dans l'IDE une fois le bootloader actif. Un autre point delicat : si tu joues avec les classes Key… — dev-embarque

Opiniones y proyectos de la comunidad

Contenido no disponible todavía.

  • Dos mundos serie: Serial = USB/CDC, Serial1 = TTL en los pines 0/1 — los sketches y tutoriales pensados para el Uno hablan en silencio al puerto equivocado (página de la tienda — Input and Output).
  • Bug de RX en CDC: Serial.available solo devuelve 0 o 1 cuando se envían varios bytes sueltos al puerto USB del ATmega32U4 — issue antiguo y abierto #267 (afecta a todas las placas 32U4, incluida la Micro).
  • Rarezas del bootloader Caterina: "executes SPM operations with interrupts enabled" (issue #122) y puede dejar una interrupción habilitada tras salir (issue #218).
  • Danza de reset/programación: el puerto COM virtual desaparece durante el reset y la ventana del bootloader es de solo ~8 s; si el IDE no puede provocar el reset a 1200 baudios hay que pulsar reset manualmente (página de la tienda — Automatic Reset).
  • Riesgo de secuestro del teclado: los sketches HID toman el control del teclado/ratón del host — el patrón oficial KeyboardMessage aconseja mantener un botón físico de seguridad (página de la tienda — Communication para las clases; ejemplo KeyboardMessage para el patrón).
  • Escudos SPI pueden no funcionar: el SPI está solo en el conector ICSP de 6 pines, no en la cabecera digital, así que los escudos sin paso de ICSP son callejones sin salida (página de la tienda — Input and Output).
  • Sin jack de barril / sin margen de Vin tolerante a 5 V: la alimentación externa debe cablearse a Vin/GND; más de 12 V arriesga el sobrecalentamiento del regulador, y el pin de 3,3 V entrega solo 50 mA (página de la tienda — Power).
  • Identidad USB fija: renombrar el dispositivo USB requería regrabar los descriptores (issue #295, cerrado); el soporte de descriptores HID más ricos sigue siendo un pull request abierto (PR #387).
  • Windows necesita un .inf para el puerto CDC (página de la tienda — Communication).
  • Faire clignoter la LED embarquée (et comprendre les LED TX/RX) debutant Schéma : IMG-micro-debutant-1-micro-clignotement-led.svg — Vue de dessus d'une Arduino Micro avec la LED de la broche 13 (LED_BUILTIN) mise en évidence et les LED TX/RX près du connecteur micro-USB
  • Lire un bouton avec une résistance de pull-up interne debutant Schéma : IMG-micro-debutant-2-micro-bouton-pull-up.svg — Bouton à connexion branché entre la broche 2 et GND sur une Arduino Micro, avec la résistance de pull-up interne symbolisée sur l'entrée
  • Lire un capteur analogique sur le convertisseur 10 bits debutant Schéma : IMG-micro-debutant-3-micro-capteur-analogique.svg — Potentiomètre monté en diviseur de tension sur A0 d'une Arduino Micro, curseur vers A0, extrémités vers 5V et GND, LED avec résistance sur la broche PWM 9
  • Transformer le Micro en clavier USB (HID) avec bouton de sécurité intermediaire Schéma : IMG-micro-intermediaire-1-micro-hid-clavier.svg — Arduino Micro branchée en USB à un ordinateur, vue comme périphérique clavier, avec un bouton de sécurité sur la broche 2 vers GND et un éditeur de texte ouvert à l'écran
  • Pont Serial vers Serial1 : passerelle USB vers TTL intermediaire Schéma : IMG-micro-intermediaire-2-micro-pont-serial-serial1.svg — Arduino Micro en passerelle série : le port USB (Serial, CDC) relié logiquement à l'UART TTL des broches 0 (RX) et 1 (TX) vers un module externe, avec des flèches dans les deux sens
  • Piloter un servo moteur avec le PWM et un potentiomètre intermediaire Schéma : IMG-micro-intermediaire-3-micro-pwm-servo.svg — Servomoteur alimenté par une source externe 5V reliée à GND commun, signal sur la broche 9 d'une Arduino Micro, potentiomètre sur A0, alimentation Vin 7-12V conseillée
  • Sortir des sentiers : registres AVR et interruption externe avance Schéma : IMG-micro-avance-1-micro-registres-avr-interruption.svg — Bouton sur la broche 3 d'une Arduino Micro déclenchant une interruption externe, registre EICRA configuré sur front descendant, LED de la broche 13 allumée depuis la routine d'interruption
  • Récupérer un Micro bloqué : bootloader Caterina et rituel de l'upload avance Schéma : IMG-micro-avance-2-micro-recuperation-bootloader-caterina.svg — Séquence de récupération d'une Arduino Micro : double appui sur reset, fenêtre bootloader d'environ 8 secondes avec port USB 0x0037/0x8037, puis téléversement ou reprogrammation par ICSP
  • Mode basse consommation : power-down et watchdog avance Schéma : IMG-micro-avance-3-micro-low-power-watchdog.svg — Arduino Micro en sommeil power-down : horloge 16 MHz coupée, seul le watchdog interne réveille le microcontrôleur toutes les secondes, LED témoin d'une brève activité au réveil

Biblioteca de código — ejemplos escritos para esta placa

  • clignotante.ino Arduino

    La comprobación básica: el LED del pin 13 parpadea a 1 Hz. millis() sustituye a delay() para mantener el bucle libre. Si no parpadea, revise la subida o la selección de placa.

  • bouton-led.ino Arduino

    Un botón cableado a GND enciende el LED mientras se pulsa. INPUT_PULLUP activa la resistencia interna y la ventana de 30 ms filtra el rebote mecánico del contacto.

  • clavier-auto-tape.ino Arduino

    Como el 32U4 integra el controlador USB, la librería Keyboard enumera un teclado HID real: el ordenador recibe las pulsaciones como si fueran tecleadas. Ideal para macros o introducir códigos WPS.

  • souris-cercle.ino Arduino

    La librería Mouse enumera un ratón HID relativo: Mouse.move desplaza el cursor píxel a píxel. Abra un programa de dibujo y mire cómo se traza solo el círculo: la demo clásica del 32U4.

  • telecommande-media.ino Arduino

    Las teclas de consumo (volumen, reproducción/pausa) forman parte del HID teclado: dos botones bastan para un mando de escritorio. Como el 32U4 mantiene además el puerto serie, se puede depurar.

  • bouton-clic-souris.ino Arduino

    El botón actúa como el microinterruptor de un ratón: Mouse.click envía pulsación/soltación del clic izquierdo. Útil para un mando de presentación o un botón físico de emergencia.

  • potentiometre-souris.ino Arduino

    La desviación del potenciómetro respecto a su reposo se convierte en velocidad del cursor: la placa hace de trackball. El calibrado ocurre al arrancar: centre el potenciómetro antes de alimentar.

  • telecommande-presentation.ino Arduino

    Las flechas HID gobiernan cualquier presentación (PowerPoint, Impress, web). Una caja de bolsillo con dos botones sustituye un mando de 40 €.

  • saisie-serie-vers-clavier.ino Arduino

    Este puente muestra la doble personalidad USB del 32U4: puerto serie para el ordenador y teclado para… el mismo ordenador. Envíe texto al monitor serie y aparecerá en cualquier campo.

  • buzzer-melodie.ino Arduino

    tone() genera una onda cuadrada a la frecuencia pedida en el pin del zumbador; dos arrays guardan notas (Hz) y duraciones (tiempos). Se necesita un zumbador pasivo (sin oscilador) para melodías.

Ejemplos y repositorios encontrados en línea