Programar Arduino Mini Pro con un Arduino Duemilanove

Para programar un Arduino Mini Pro debemos hacerlo a través de su entrada serie, ya sea con una controladora FTDI externa o usando un Arduino Duemilanove como es el caso. Es importante que sea este Arduino y no otro ya que necesitamos quitar el microcontrolador de la placa y por ejemplo con el Nano o Mega no podríamos hacerlo ya que va soldado en placa y no colocado en un socket.

En este caso el Arduino Mini Pro es la versión de 5V, si usásemos la de 3,3V tendríamos que usar el pin de 3,3V del Duemilanove para alimentar la placa a programar. En el IDE de Arduino deberemos de elegir el puerto 4 y la placa que vamos a programar.

Este procedimiento también funciona perfectamente para programar un Arduino Nano, útil si por lo que sea nos hemos cargado la controladora FTDI como me ha pasado esta tarde…

En este caso el Arduino Mini Pro es la versión de 5V, si usásemos la de 3,3V tendríamos que usar el pin de 3,3V del Duemilanove para alimentar la placa a programar. En el IDE de Arduino deberemos de elegir el puerto 4 y la placa que vamos a programar.

Edición 08/02/2014

No es obligatorio usar este método, también se podría emplear un programador ISP o un Arduino configurado como programador ISP.

15 comentarios en “Programar Arduino Mini Pro con un Arduino Duemilanove”

  1. Hola,

    Me gustaría saber si este método también es valido haciéndolo entre un Arduino UNO normal y una Arduino Mini.

    Creo que no habría problema pero me gustaría asegurarme gracias.

    1. Hola,

      Si, sin problemas, el Arduino Duemilanove es una versión previa que finalmente se llamo Uno.
      La única diferencia es que el Duemilanove se vendió con dos versiones del microcontrolador, la 168 y la 328, según la versión el micro tiene menos o mas memoria, el Arduino Uno solo esta disponible en la versión con mas memoria (la 328).
      A parte de eso las placas son iguales así que no tendrás problemas.

      Saludos.

    2. Gracias giltesa,si ha funcionado correctamente. 🙂

      Tengo una duda mas e igual tu sabes responderme. He buscado pero no encuentro la respuesta. En un modulo de rele, la tercera entrada que no se usa para que es? se que las otras son para «cortar» uno de los cables y hacer de interruptor, pero la otra entrada?

      Gracias por los tutoriales la verdad es que me han ayudado mucho a iniciar en este mundo de arduino, compre un kit parecido y los sensores eran iguales a los tuyos. Gracias.

  2. Hola,
    Necesito verificar que esto que estoy pensando hacer es viable. Estoy pensando el no quitar el microcontrolador para no correr el riesgo de romperlo. Entiendo que sino lo quito se grabaría el software también en este, por eso primero grabaría el software con el código que quiera poner en la pro mini, luego quita la placa pro mini y programo la placa arduino que usado para programar la pro mini para volver a poner el software que tenia cuando empece El Progreso. Es esto posible?
    Muchas gracias

    1. Hola,
      Eso no es posible, el ordenador y el microcontrolador del Arduino se comunican mientras se está escribiendo el código en la memoria flash, el ordenador no puede recibir la respuesta de dos Arduinos al mismo tiempo ya que las datos chocan y no entiende qué hacer.
      Saludos.

  3. Hola, he intentado hacer lo mismo con un arduino uno y un nano y me da el siguiente error:

    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xe0
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xe0
    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xe0
    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xe0
    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xe0
    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xe0

    he probado poniendo como placa arduino uno / nano 328 y nada.

    1. Hola,

      El Nano ya tiene USB y chip USB>Serial, no necesita un programador externo. Y si te estas refiriendo a que has usado un Uno y un Nano para programar un mini/pro mini, entonces has de quitarle el microcontrolador a la placa, en la Uno se puede si va con socket, y en el Nano no se puede.

      Saludos.

    1. No, porque las pistas desde el chip USB a los pines de la placa ya están cruzadas para poder programar el Uno, si cruzaras los cables de nuevo la comunicación quedaría recta y no funcionaría.

      Saludos.

  4. Ok , gracias .
    Quiero cargar directamente un atmega328 montado en protoboard , el cual funciona cuando lo cargo montándolo en el UNO y despues lo saco para volverlo al protoboard. Primero probe con un adaptador USB TTL y no carge ningun driver y no lo reconocia , despues me compre un FTDI usb , cargue el driver bajado de la pagina FTDI e iguak no me funciona la carga, hay comunicacion electrica(se encienden los led ) , pero la subida se demora y despues da errores de que no le responden. ¿que puede ser , las conecciones RX y TX aqui si van cruzadas?

    Voy a probar la tecnica que explicaste aqui…….

    saludos

    1. Si tiene cargado el bootloader se puede programar por Serial, si no no, entiendo que lo tiene pues pinchandolo en el Arduino te deja programarlo.

      Cuando intentas programarlo teniéndolo en la protoboard lo haces sin tener conectado nada más en los pines 0 y 1, no? Si hay algo más a parte del adaptador USB TTL la comunicación no funcionará.

      Tu adaptador TTL tiene pin de reset conectado al Arduino? Es necesario para que el microcontrolador se reinicie y entre en modo programación:
      https://giltesa.com/2012/01/28/programador-ttl-cp2102

      No se me ocurre nada más…

      Saludos

  5. Ok , eso seria por la opción del USB TTL. Me faltaría instalar los driver que salen en el link que mandaste y probar.

    Muchas gracias

Escriba aquí su comentario