Programando ATtiny85 con Arduino - Montaje real

Programar ATtiny85, ATtiny45… usando Arduino UNO

Estos últimos días he estado trabajando con unos ATtiny85. Para el que no los conozca son unos “hermanos pequeños” del ATmega328 que lleva el Arduino UNO, unos chips que en 8 pines tienen tres entradas analógicas (aunque parece ser que se puede usar el pin de Reset como cuarta entrada analógica) y dos pines que soportan PWM.

Pinout ATtiny45 / 85
Pinout ATtiny45 / 85

Hay mucha gente que los utiliza en lugar del Arduino cuando sus proyectos funcionan con pocos pines, no sólo por espacio sino también por precio (cuestan alrededor de un euro) aunque hay que tener cuidado porque no todas las funciones y/o librerías que utilizamos en Arduino están soportadas (Serial por ejemplo).

Si tenéis uno por ahí y os apetece probar estos son los pasos:

Elementos necesarios

Lo primero es comprobar que lo tenemos todo:

  • Arduino UNO con cable USB
  • ATtiny85 o ATtiny45
  • Condensador de 100pF

Descarga de librerías

Lo primero que necesitamos es descargar un set de “cores” de ATtiny, de forma que el IDE sepa qué configuración usar para programar cada ATtiny. Lo descargamos de aquí y lo descomprimimos en la carpeta hardware (si no está la creamos) dentro de nuestra carpeta Sketchbook de Arduino (si no sabemos dónde está se puede mirar en Archivo > Preferencias).

Convertir el Arduino en un ISP (In System Programmer)

Abrimos el IDE de Arduino y, en Archivo > Ejemplos, seleccionamos ArduinoISP y se lo cargamos al Arduino UNO.

Montaje del circuito

La conexión se hace de la siguiente forma:

Diagrama circuito ATtiny
Diagrama circuito ATtiny

Para saber cual es cada pin en el ATtiny hay que fijarse en la muesca que tiene. Puede ser un punto en el pin 1 (como en el esquema de abajo) o un “bocado” en un lateral del chip (como en el diagrama del pinout del ATtiny).

Programando ATtiny85 con Arduino - Esquema
Programando ATtiny85 con Arduino – Esquema
Programando ATtiny85 con Arduino - Montaje real
Programando ATtiny85 con Arduino – Montaje real

Grabado del programa

Una vez montado el circuito enchufamos al ordenador el arduino, abrimos el IDE con el Sketch que queramos grabar en el ATtiny. Si es un sketch que hayáis estado probando en Arduino revisad que no haya ninguna llamada a Serial (no está soportado en ATtiny), que los números de los pines estén bien…

En Herramientas > Tarjeta seleccionamos la que corresponda al ATtiny que estamos utilizando (yo suelo coger la versión de 8 MHz). Luego, en Herramientas > Programador seleccionamos Arduino as ISP y por último le damos al botón de cargar como hacemos normalmente con el Arduino y, si todo va bien, el programa se grabará en el ATtiny.

Comparte:

Publicado por

Alfonso Jiménez

Ingeniero informático. Desarrollador entusiasta de todo lo que se deja programar.

2 comentarios en “Programar ATtiny85, ATtiny45… usando Arduino UNO”

  1. Hola Alfonso, muy buen trabajo.
    Tengo una pregunta respecto del error que por lo que veo lleva de cabeza a bastante gente que nos hemos atrevido a abordar la tarea de programar un Attiny, en este caso el Attiny85.
    Me refiero al habitual error:
    This report would have more information with
    “Show verbose output during compilation”
    enabled in File > Preferences.
    Arduino: 1.0.6 (Windows XP), Board: “Arduino Duemilanove w/ ATmega328”
    avrdude: stk500_getsync(): not in sync: resp=0x00

    Tienes alguna “receta” para rebasar este error. He leído cantidad de recetas y ninguna ha tenido una respuesta adecuada por lo que no puedo cargar un programa que necesito para mi proyecto.
    Cualquier idea puede ayudarme a saltar este escollo y te lo agradecería.
    Saludos.

    1. Hola Vicente, muchas gracias.

      La verdad es que aún no me he enfrentado a este en concreto. He estado buscando un poco en internet y he encontrado las siguientes posibles causas:

      • Los drivers de Arduino no están bien instalados
      • El puerto seleccionado no es correcto
      • El cableado no está bien o el chip no está bien colocado
      • Falta el condensador para evitar el auto-reset
      • Arduino no tiene grabado el programa ArduinoISP
      • El modelo de chip no está bien seleccionado

      Imagino que la mayoría ya las habrás comprobado pero a ver si hay suerte y hay alguna que dé la pista.

      Otra cosa que te recomiendo es que en Archivo > Preferencias actives las opciones de mostrar salida detallada a ver si da más información sobre el fallo.

      ¡Suerte! ¡Un saludo!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *