Arduino Pro Micro

Si ya la versión Pro Mini de Arduino era interesante por su tamaño y su bajo precio, el Arduino Pro Micro puede ser incluso mejor!

A cambio de costar un poco más el Pro Micro (2€ y 3,5€ respectivamente) cuenta con el microcontrolador del Arduino Leonardo y sus mejoras: entre ellas 0,5KiB más de memoria SRAM, llegando ahora a un total de 2,5KiB, y soporte para USB nativo por lo que ahora en el mismo espacio también se cuenta con un conector MicroUSB evitando así la necesidad de un programador externo, sin olvidar que el USB nativo nos permite que el Arduino se comporte como un teclado, ratón o gamepad con el ordenador.

Este modelo en concreto cuenta con 18 pines para datos, cada uno con unas u otras funciones según el pin.
Como se ve en la siguiente imagen cuenta con 18 salidas/entradas digitales de las cuales 5 tienen función PWM, 9 funcionan también como entradas analógicas, 2 como puerto UART, 2 más para el puerto I2C, y 3 para el puerto ISP. Es decir, tiene de todo!

Arduino Pro Micro de Sparkfun, idéntico a este.
Arduino Pro Micro de Sparkfun, idéntico a este.

Un detalle del que no me di cuenta hasta tener la placa es que cuenta con tres leds: Encendido, RX y TX. No cuenta con un led especifico para el pin 13 como tienen todos los Arduinos, pero ojo, que eso no quiere decir que no podamos hacer un ¡Hola mundo!, todo lo contrario, con este Arduino podemos usar el pin RX y TX como leds programables, ambos!

Instalación

[notification type=»alert-info» close=»false» ]Actualización 2016/01/24: A partir de la versión 1.5 del IDE de Arduino es suficiente con añadir la siguiente URL como repositorio de placas para poder instalarla desde el gestor de placas.
https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json

Esa URL se añade en el campo «Gestor de URLs adicionales de tarjetas» en el menú: Archivo > Preferencias.[/notification]

A diferencia del Arduino Leonardo o Micro, el Arduino Pro Micro no viene incluido de serie en el IDE, eso hace que no podamos usarlo hasta que configuremos correctamente el IDE.

Para ello es necesario agregar unos ficheros de configuración que tienen datos sobre el hardware de la placa, asi el IDE puede saber el tipo de procesador, posición de sus registros, cantidad de memoria, etc.
Estos ficheros podemos bajarlos desde la web de Sparkfun o desde aquí. Si usamos una versión del IDE 1.0.X se pueden emplear las instrucciones que acompañan a los ficheros. En el caso de usar una versión mayor sera necesario hacerlo de otra forma ya que la estructura de menús y configuraciones del IDE cambio drásticamente en versiones posteriores. Como me encuentro en esa situación al usar el IDE versión 1.5.4 (beta) explico a continuación los pasos que hay que seguir.

Un pequeño apunte, existen dos versiones de la placa, la que funciona a 5V con una frecuencia de procesador de 16Mhz, y la de 3.3V a 8Mhz, dependiendo de la placa los ficheros a copiar son diferentes, diferenciándose en la coletilla del nombre que acaba o bien en 16 o bien en 8.

  • Primero bajamos los ficheros mencionados.
  • Copiamos el fichero: «driver/ProMicro.inf» en «arduino-1.5.4-r2\drivers»
  • Después el fichero: «bootloaders/caterina/Caterina-promicro16.hex» en «arduino-1.5.4-r2/hardware/arduino/avr/bootloaders/caterina»
  • Luego hay que copiar el directorio promicro de: «/variants/promicro» a «arduino-1.5.4-r2/hardware/arduino/avr/variants»
  • Por ultimo hay que añadir las características del hardware del fichero «boards.txt» dentro de: «arduino-1.5.4-r2/hardware/arduino/avr/boards.txt» pero es necesario introducir los nuevos datos siguiendo la estructura de variables del IDE, es decir, debemos de pegar esto en el fichero del IDE:

Una vez tengamos el IDE configurado nos aparecerá en el menú: ide-pro-micro Podremos conectar la placa, facilitarle los drivers desde el directorio «arduino-1.5.4-r2/drivers» si nos los pide, y probar a grabar el siguiente código Blink:

Este otro ejemplo hace uso del USB nativo escribiendo, donde tengamos el cursor, el tiempo que lleva encendida la placa. Esto lo hace durante los primeros 10 segundos, luego para. Hay que tener cuidado y no hacer que imprima todo el rato o luego nos hará la puñeta para grabar otro programa con el IDE, si eso sucediera habrá que resetear la placa juntando el pin RST con GND  en el momento justo en el que el IDE ha terminado de compilar el programa y se va a poner a grabarlo.
Y para terminar, pues tampoco hay mucho mas que decir, un par de fotos mas 🙂

37 comentarios en “Arduino Pro Micro”

    1. Hola,

      El programador no se toca, lo que tienes que indicar es la placa y el puerto pero el programador es para cuando se programan sin USB.

      Saludos.

    1. Hola,

      No lo reconoce tu ordenador (el administrador de dispositivos de Windows) o el IDE de Arduino?

      Si el problema es el ordenador entonces debes pulsar en el dispositivo que aparece como no reconocido y instalar sus drivers, están en una de las carpetas del IDE de Arduino. Aquí tienes un tutorial de cómo se hace.

      Si el problema es el IDE entonces tienes que añadir la nueva placa ya que no viene de serie, en esta entrada se explica cómo se hace.

      Saludos.

    2. Hola de nuevo,
      he seguido el tutorial hasta donde dices que hay que añadir al archivo «board.txt» una líneas. El tema es que no me deja guardarlo, me dice que otro programa lo está usando incluso cerrando el IDE me sale el mismo error.

      Salu2

    3. Hola Alfonso,

      Prueba a mover el fichero al escritorio, modificarlo, y moverlo de nuevo al directorio original. O a reiniciar el PC.

      Aunque seria mejor que intentaras instalarlo usando el gestor de tarjetas del IDE para que lo instale él automáticamente. (añadiendo antes la URL que indico en la entrada para dar soporte a las tarjetas de Sparkfun)

      Saludos.

    4. Hola,
      ya tengo instalada las tarjetas de Sparkfun. Lo que pasa es que el PC no reconoce instala el controlador del USB y como consecuencia no aparece ningún puerto (COM?) seleccionable en el IDE.

    5. Hola,

      En ese caso debes instalar el driver que incluye el IDE, en caso de que el sistema operativo no lo haya hecho automáticamente. Si en el administrador de dispositivos te aparece sin instalar entonces solo tienes que indicarselo para que lo instale, si no aparece y no te aparece en el IDE aun entonces tienes un problema… prueba con otro USB/PC a ver si lo reconoce.

      Saludos.

  1. Hola, buenos dias. Muy bueno el articulo, sobre todo muy bien explicado.
    Quieria consultarte porque mi Pro Micro no es de Sparkfun sino una version China.
    Hice todo tal cual lo explicastes y al intentar compilar un codigo me sale un gran cantidad de errores en la oarte inferiores de la pantalla. Desde ya muchas gracias

  2. Mucha gracias por tu respuesta. Si lo reconocio bien como Pro Micro pero daba errores. Lo pude solucionar volviendo todo atras en los cambios y eligiendo en la IDE como Arduino Leonardo. Al menos una vez funciono. Seguire con las pruebas.
    Saludos

  3. A mi me pasa lo mismo el PC no me reconoce el Pro Micro, y la pagina de Sparkfun es muy confusa porque dice que descargemos el archivo, pero en el ejemplo que aparece en la pagina para los drivers la carpeta que usan es otra diferente con nombre diferente. que debo hacer?, yo tengo windows 8.1

    1. Hola Jeff,

      Debes bajarte la última versión del IDE de Arduino e instalarlo así:
      https://www.arduino.cc/en/Guide/DriverInstallation

      Después ejecutas el IDE de Arduino y vas el menú: Archivo > Preferencias > Gestor de URLs Adicionales de Tarjetas y añades la siguiente URL:

      https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json

      Después vas al menú: Herramientas > Placa > Gestor de tarjetas, ahí debes buscar la Pro Micro de Sparkfun e instalarla. Después podrás seleccionarla desde el menú Placas como cualquier otro Arduino.

      Saludos.

    1. Hola Santiago,

      Que yo sepa el Arduino Pro Micro sólo funciona a 5V y el IDE sólo tiene esa opción, nada de 3.3V, no lo confundas con el Pro Mini.

      Si seleccionado el Arduino correcto no te graba el código prueba a resetearlo manualmente en el momento que el IDE te indique que ha terminado de compilar el código y se va a poner a grabarlo.

      Saludos.

    2. Muchas gracias, me funcionó. Utilice el botón reset que cree para no dejar que cargará el hid. Saludos.

  4. Muy buen Post, y muy bien esplicado, pero tengo un problema, en el IDE de arduino/Herramientas/Placa puedo seleccionar la Sparkfun Pro Micro.
    Pero en Herramientas/ Puertos me sale Com3 (Arduino Leonardo) y no se como cambiarlo.
    Y al verificar me sale este error: Arduino:1.8.5 (Windows 10), Tarjeta:»SparkFun Pro Micro 5V/16MHz»

    Property line ‘?# See: http://code.google.com/p/arduino/wiki/Platforms‘ in file C:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txt is invalid

    Error compilando para la tarjeta SparkFun Pro Micro 5V/16MHz.

    Este reporte podría tener más información con
    «Mostrar salida detallada durante la compilación»
    opción habilitada en Archivo -> Preferencias.

    Tengo la Atmega 32U4 Development Board Pro Micro Arduino.

    Saludos.

    1. Hola Sergi,

      He estado mirándolo en mi Pro Micro y en las opciones de puertos solo aparecen los números, no pone nada de Arduino Leonardo o Pro Micro, esa descripción aparece si el fabricante lo ha grabado previamente en el chip, en mi caso dejaron el campo vació y no aparece nada.

      No creo que eso sea el problema, ¿Has seleccionado en el IDE el procesador a 5V y 16Mhz o 3.3V y 8Mhz? Sin eso da error… si no es eso prueba en otros ordenadores.

      Saludos.

  5. hola , felicidades por articulo, pero tengo una duda ,cargue un ejemplo construidos de usb keybord y quiero borrar el codigo y como no tiene boton, como se hace, saludos y gracias

    1. Hola,

      El botón de reset sirve para reiniciar el programa grabador en el Arduino, no es para borrar el código. Si quieres cambiar de programa solo tienes que grabar otro con el ordenador.

      Si no lo reconoce por tener comportamiento de teclado entonces puede que tengas que resetarlo manualmente cuando el IDE haya terminado de compilar el código y antes de que se ponga a grabarlo, como no tiene botón de reset puedes usar el pin de reset.

      https://cdn.sparkfun.com/assets/6/d/3/4/a/523c8e23757b7fbe5f8b4584.png

      Saludos.

    2. No, como te he puesto el reset/puente tienes que hacerlo entre el momento en el que el IDE termina de compilar y va a comenzar a subir el código. El reset ha de ser una pulsación, no lo mantengas cerrado todo el rato.

  6. Hola, buenas tardes. A la hora de copiar las caracteristicas en el board y cambiar el .tex Cuando voy a guardar me dice «No tiene permiso para abrir este archivo. Consulte con el propietario del archivo o el administrador para obtener permiso». Alguna sugerencia?

  7. Comento de nuevo, porque el comentario anterior a sido una respuesta a un comentario que se referia a lo mismo, pero me lo ha colocado como al final del foro. Así que reescribo el problema:

    Descargué los archivos desde el enlace de «aqui» y realice todos los pasos, aunque el board es distinto, siendo todos las placas de tipo: SparkFun. El error que me da es este:
    —————————————————————————————————
    Arduino:1.8.3 (Windows 10), Tarjeta:»SparkFun Pro Micro 5V/16MHz»

    Property line ‘?# See: http://code.google.com/p/arduino/wiki/Platforms‘ in file C:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txt is invalid

    Error compilando para la tarjeta SparkFun Pro Micro 5V/16MHz.

    Este reporte podría tener más información con
    «Mostrar salida detallada durante la compilación»
    opción habilitada en Archivo -> Preferencias.
    ——————————————————————————————————–
    A ver si puedes proporcionarme alguna solución para cargar los programas al arduino micro. Muchas gracias de antemano.

  8. Hola. Tengo MAC, La primera carga de un código a esta placa la hice seleccionando «genuino/Arduino Micro» parecía todo ok, pero se quedaron los dos les rojos encendidos, luego vine a parar aquí buscando soluciones y ahora no me reconoce ese puerto el IDE de Arduino. He probado otras placas y si van bien, pero esto ha dejado de reconocerla y cuando conecto por USB solo se enciende el led verde de la placa, no reconoce puerto ninguno…

  9. Arduino:1.8.9 (Windows 7), Tarjeta:»SparkFun Pro Micro 5V/16MHz»

    Error reading file (C:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txt:0): Invalid line format, should be ‘key=value’

    Error compilando para la tarjeta SparkFun Pro Micro 5V/16MHz.

    hola este es el error que me sale al compilar y no tengo ni idea de como solucionarlo, e seguido el tutorial paso a pasoy nada lo que mas me crispa es el final del mensage » key=value»

  10. Se daño el bootloader, debes conectar rápidamente antes de que transcurran ocho segundos el pin de reset con la tierra cuando un código cualquiera este subiéndose, en el momento antes de que comience a recibirlo. La tarjeta Arduino micro es otra, esta es Pro Micro y pasa que si encojes la que no es o el modelo de 3.3V cuando tienes el de 5V se estropea el bootloader ya que éste viene en el mismo mincrocontrolador que se programa, a diferencia del del uno u otros Arduinos. Primeros debes instalar la tarjeta en el IDE como se explica aquí y escoger «Sparkfun Pro Micro» y el modelo de 5V si es tu caso.

  11. buenas y muchas gracias de antemano

    tengo la siguiente consulta: al arduino pro micro le arranque el puerto micro usb por descuido, quisera saber si hay alguna otra manera de programarlo ya sea usando algun adaptador o utilizando otra placa arduino con esa funcion ya q no encontre una manera de reemplazarle el puerto o puentearlo de alguna manera

    1. Hola Gema, yo creo que no puedes programarlo de otra forma ya que este microcontrolador tiene pines específicos para el USB, no como otros Arduinos que son compartidos con el puerto serial.
      Saludos

  12. Consulta, quiero usar esta placa para armar un tablero arcade, es verdad que tiene 0,74 ms de retraso, es lo que busco una placa con el más bajo nivel de delay que se pueda tener, gracias

Escriba aquí su comentario