Subir a Inicio

PaperATtinyProgrammer: Un programador para ATtiny usando un Arduino como ISP


Programando el ATtiny45 / ATtiny85 con Arduino

(Esta página es traducción de http://hlt.media.mit.edu/wiki/pmwiki.php?n=Main.ArduinoATtiny4585)


Este tutorial muestra como programar un microcontrolador Attiny45 o un ATtiny85 utilizando una placa Arduino y el entorno de programación Arduino. El ATtiny45 y el ATtiny85 son unos microprocesadores pequeños (8-patas) y económicos ($2-3); Son casi idénticos, excepto que el ATtiny85 tiene el doble de memoria que el ATtiny45 y puede por lo tanto manejar programas más complejos. Para programarlos utilizaremos una modificación de las librerías de Arduino creadas por Alessandro Saporetti y ligeramente modificados por HLT (http://hlt.media.mit.edu/wiki/pmwiki.php?n=Main.ArduinoATtiny4585).

 

Materiales y Herramientas

Para realizar este tutorial (para la variante breadboard) necesitarás:

 

Software

Necesitarás el entorno de programación Arduino. Si no lo tienes todavía, puedes descargarlo desde la página web de Arduino. Las instrucciones de instalación están disponibles para Windows y para Mac OS X.

 

El microcontrolador ATtiny45 / ATtiny85

Aquí está el patillaje del ATtiny45 y ATtiny85:

 

Instalando en Arduino el soporte para ATtiny45 / ATtiny85

  • Descarga: attiny45_85.zip
  • Busca la carpeta de Arduino “sketchbook” (puedes encontrar su situación en el diálogo de preferencias del entorno de programación Arduino)
  • Crea una nueva subcarpeta llamada "hardware" en la carpeta “sketchbook”.
  • Copia la carpeta attiny45_85 de attiny45_85.zip a la carpeta “hardware”.
  • Reinicia el entorno de programación Arduino.

 

Transformando la placa de Arduino en un programador

Ahora utilizaremos la placa Arduino para programar el ATtiny45 o ATtiny85. Primero necesitaremos convertir la placa Arduino en un programador ISP ( "In-System Programmer").
Para ello:
  • Arranca el entorno de programación Arduino.
  • Abre el sketch “ArduinoISP” del menú de ejemplos (examples).
  • Selecciona la placa y el puerto serie que corresponden a tu placa Arduino.
  • Carga el sketch “ArduinoISP”.

 

Conectando la placa Arduino y el ATtiny

Conectaremos la placa Arduino al ATtiny tal como se indica en el siguiente diagrama. Utiliza el punto (pin 1) de la esquina del ATtiny para orientarlo correctamente. También conectaremos un condensador electrolítico de 10uF entre reset y masa en la placa Arduino como se indica en la imagen (La banda del condensador marcada con un signo negativo (-) debe ir a masa (GRD). (Sólo se necesita el condensador si se utiliza una placa Arduino Uno, no es necesario con un Arduino Duemilanove.)

Conexionado de las patillas:
  • ATtiny Pin 7 (D2) a Arduino D13 (SCK)
  • ATtiny Pin 6 (D1) a Arduino D12 (MISO)
  • ATtiny Pin 5 (D0) a Arduino D11 (MOSI)
  • ATtiny Pin 1 (Reset-D5) a Arduino D10

 

Programando el ATtiny45 o ATtiny85

Ahora podemos utilizar el Arduino como un programador ISP para cargar el programa al ATtiny45/85:
  • Abrimos el sketch “Blink” desde el menú de ejemplos (examples).
  • Cambiamos los números de pin de 13 a 0. (Si realizas el PaperATtinyProgrammerPCB o PaperATtinyProgrammerStripboard, el led está conectado en el PIN D5)
  • Seleccionamos "ATtiny45 (w/ Arduino as ISP)" o "ATtiny85 (w/ Arduino as ISP)" en el menú Herramientas/Placa (Tools > Board) (Indicando previamente el puerto serie al que está conectada la placa Arduino).
  • Cargamos el sketch.
Es probable que aparezca el siguiente mensaje, pero no hay que preocuparse la programación debería haberse efectuado correctamente:
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
Ahora, conectamos el LED y comprobamos que parpadea.




 

Referencia

Los siguientes comandos de Arduino deberían funcionar correctamente:

NOTA: Estos comandos son los específicos de Arduino (dependen de la velocidad del micro, interrupciones, registros específicos...) , desde luego los comandos standard del lenguaje de programación "C" : "if"‚ "case" y similares también funcionan.

Si tienes intención de trabajar a menudo con microcontroladores ATtiny45/85, quizás te interese realizar un circuito un poco más estable, vamos a ver como realizarlo sobre un stripboard (también si quieres puedes hacer tu propio PCB).



Realización
 
El método Paper consiste en ayudarnos en unas pegatinas para facilitarnos el proceso de montaje y soldadura.

Primero imprimiremos el documento PaperATtinyProgrammer (disponible en la parte inferior de esta página en el apartado de Descargas):



Una vez impreso el documento, comprobaremos que la impresión se ha realizado a la escala correcta con la ayuda de la regla impresa situada en el lateral izquierdo de la hoja. Al colocar a su lado un regla en centímetros deberán coincidir las marcas.


Primeramente cortaremos la paperetiqueta

Si quieres puedes proteger con un poco de plástico transparente la paperetiqueta
Antes de recortarla:

Y para finalizar la paperetiqueta, le aplicamos adhesivo de doble cara



Posteriormente cortamos una placa de stripboard de 7 filas por 20 agujeros, podemos hacerlo fácilmente si con un cutter marcamos por las dos caras sobre una fila de agujeros.

 Y luego con la mano suavemente flexionas alternativamente la placa y se romperá por la zona debilitada.

 Finalmente lijamos los cantos para darle un mejor aspecto


Con ayuda de una (o varias) agujas se posiciona la paperetiqueta de forma que coincidan los agujeros de la placa con los dibujos de la paperetiqueta


Punzonamos con una aguja todos los agujeros utilizados por los componentes (podemos comprobar al trasluz que están todos los agujeros perforados)



Y sólo nos queda montar los componentes tal y como se indica en la paperetiqueta. Deberás prestar atención a la posición del LED y del Condensador electrolítico (Si lo utilizas, ya que sólo es necesario para Arduino UNO).



Como los pines (yo he utilizado largos, pero puedes usar normales) se sueldan por la parte inferior, es necesario desplazar el plástico soporte a un extremo del pin.



Una vez soldados todos los elementos (que no se te olviden los puentes!), deberemos cortar algunas pistas tomando como referencia la imagen del documento impreso



Y ya tenemos listo nuestro maravilloso programador!!



Al utilizarlo deberemos tener cuidado de conectar nuestro Shield en los pines adecuados de Arduino. (D13-D10 y Reset-GND)

como ves en la imagen, aunque los pines del Arduino no coinciden exactamente con los pines del Shield, no hay problemas para conectarlo, simplemente el PaperATtiny queda ligeramente inclinado.


Al Programar hemos de tener en cuenta que el ATtiny sólo tiene 6 pines de control, y que el led está conectado en el pin 4 en vez del pin 13. De forma que si queremos ver en funcionamiento el programa blink: 


A continuación vemos como se programa el sketch Blink en un ATtiny85 modificando el valor del delay de 1000 a 100. 



 


PaperATtinyCable

Un problema que tiene PaperATtinyProgrammer, es que cada vez que quieres realizar una modificación en el sketch, debes sacar el chip de la placa del circuito y conectarlo en el PaperATtinyProgrammer. Una alternativa es realizar en la placa del circuito un  conector que nos permita utilizar el PaperATtinyCable.


Para realizarlo, sólo utilizaremos unos conectores de pines hembra (4+4) y unos conectores macho (5+1) y un trozo de cable plano.

Puedes obtener el cable plano de un ordenador antiguo:


Cortamos un trozo de aproximadamente 30cms x 6hilos:


Separamos ligeramente los extremos y los pelamos, y fijándonos en la imagen siguiente (está en el paperdocumento): 





Soldamos los terminales:


 En el paperdocumento, tienes preparadas para recortar una etiquetas identificativas de los terminales de los conectores.


Para poder fijarlas, he utilizado adhesivo de doble cara:



 Una vez pegada, con un poco de cello la protegemos he impedimos que se suelte:


He aquí el resultado final:


Ahora, cada vez que realices un circuito con un ATtiny recuerda que debes poner unos conectores de programación similares a:


 


Enlaces de Interés
 
Te pueden interesar los enlaces siguientes

Información legal

0. Fallos y txapuzas no controladas.
Los circuitos publicados se han comprobado y funcionan correctamente. No obstante en el caso de que en una página se publiquen varios montajes diferentes de un mismo circuito (sobre un stripboard, PCB, ...), pueden existir fallos que no se han detectado en alguno de los montajes, ya que normalmente sólo realizo un montaje. En ese caso por favor notificad el fallo para que pueda corregirlo. muchas gracias.

1. Propiedad intelectual
Todos los derechos de propiedad intelectual del contenido de Txapuzas eléctronicas, están bajo una licencia Creative Commons Share-Alike, cuyo contenido podéis revisar en este enlace.
Por tanto queda permitido copiar, distribuir, comunicar públicamente la obra y hacer obras derivadas de la misma, siempre que se respeten los términos de la licencia arriba reseñada.
3. Actualizaciones y modificaciones de Txapuzas electrónicas
El autor se reserva el derecho a actualizar, modificar o eliminar la información contenida en Txapuzas eléctrónicas, y la configuración o presentación del mismo, en cualquier momento, sin previo aviso, y sin asumir responsabilidad alguna por ello.
4. Indicaciones sobre aspectos técnicos
El autor no asume ninguna responsabilidad que se pueda derivar de problemas técnicos o fallos en los equipos informáticos, que se produzcan a causa de los circuitos e ideas expuestos en el blog de txapuzas electrónicas, así como de los daños que pudieran ocasionar.
El autor se exime de toda responsabilidad ante posibles daños o perjuicios que pueda sufrir el usuario a consecuencia de errores, defectos u omisiones en la información facilitada.



El esquema, descripción e imágenes están disponibles en el siguiente enlace:

Si tienes problemas con el enlace anterior, aquí puedes descargar todos los archivos de txapuzas

Notas
Para la realización de este proyecto se han utilizado los programas: Arduino, Inkscape, Openoffice, Gimp, Picasa, Fritzing
Si encuentras algún fallo, se te ocurre alguna mejora, o simplemente quieres hacer algún comentario, te lo agradeceré: Gracias :-)

33 comentarios:

  1. Buenas como siempre tus proyectos son una pasada y super sencillos de seguir claros y concisos xd mi pregunta es si ya es posible programar attiny que limita el poder programar atmegas?

    ResponderEliminar
  2. Hola nenexulo
    Si entiendo tu pregunta, la respuesta es que creo que sí. Se pueden programar los ATtiny con Arduino ISP.
    Yo no lo he podido comprobar por que no he recibido todavía los ATtiny, (están tardando mucho :-( )

    Saludos

    ResponderEliminar
  3. hola, antes que nada te felicito por este tuto esta realmente muy bien explicado, ahora sigo los pasos al pie de la letra y cuando quiero programar el blink me tira el siguiente error:
    avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
    avrdude: Yikes! Invalid device signature.
    Double check connections and try again, or use -F to override
    this check.
    y no me carga el sketch, alguna sugerencia?

    ResponderEliminar
  4. Hola ekmanuel
    El primer aviso de error que indicas, lo muestra siempre, no quiere decir que el programador no funcione.
    En cambio los otros avisos indican que el programa no reconoce el chip. Tal vez el error sea alguna falsa conexión.
    Lo siento, no se me ocurre una mejor respuesta.
    Saludos

    ResponderEliminar
  5. Si el numero de los ATtiny tiene que ver con su memoria....debe de funcionar = un ATtiny13 no?.

    Muchas gracias

    ResponderEliminar
  6. Hola Luis
    El número del ATtiny no indica solamente la memoria del chip. Esto es correcto entre chips de la misma familia:
    El ATtiny25 = ATtiny45 = ATtiny85 = ATtiny25V = ATtiny45V = ATtiny85V
    (http://www.atmel.com/dyn/resources/prod_documents/doc2586.pdf)
    El ATtiny13=ATtiny13V es de otra familia:
    (http://www.atmel.com/dyn/resources/prod_documents/doc2535.pdf)

    Habría que mirar con detenimiento los datasheet y comprobar si internamente tienen las mismas características (mismo número de contadores, canales AD, ...)

    En cualquier caso si el core del ATtiny que está disponible en esta página no es compatible con el ATtiny13, tal vez puedas utilizar otro:

    http://code.google.com/p/arduino-tiny/

    (parece que Sofian Audry and Samuel St-Aubin han desarrollado uno)

    Saludos

    ResponderEliminar
  7. Hola, el codigo y la forma de montar la placa funciona para una arduino mega 1280 o una arduino nano? es que no logro hacer que ande en ninguna, me dice:

    "Binary sketch size: 658 bytes (of a 8192 bite maximum)"
    "avrdude: stk500_getsync(): not in sync resp=ox15"
    desde ya, muchas gracias.

    ResponderEliminar
  8. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  9. Hola Iñigo.

    Una vez más GRACIAS por el tutorial, es fantastico que manera de explicar... clarisimo.

    Me decidi a hacer mi primer montaje de algo util. un motorcito que desplaza una base (el lector optico de un CD), con un potenciometro q regula el tiempo que esta funcionando el motor y un final de carrera que hace que invierta el sentido del motor.

    Mi pregunta es si ¿hay que configurar de alguna manera especial los pines analogicos del ATtiny (Pin 2-3 y 4) para la lectura de un potenciometro?

    V_Pot = analogRead(PotPin);

    es que... es como si no le hiciera caso y siempre se desplaza lo mismo.

    Gracias por todo, sobre todo por los tutoriales.

    ANDER

    ResponderEliminar
    Respuestas
    1. Hola Ander,

      La configuración de los pines analógicos es exactamente igual a los pines analógicos de Arduino, con la excepción de que no reconoce los alias A1, A2, y A3 y además tienen distinta numeración a las entradas/salidas digitales. Y tienes que utilizar los números de las entradas analógicas, no de las digitales(Dx). es decir 1,2 y 3.

      V_Pot= analogRead(PotPin); //PotPin = 1(D2=Pin7),2(D4=Pin3) o 3(D3=Pin2).

      SL2

      Eliminar
    2. Hola Iñigo,

      Gracias por tu rápida respuesta,me parece, que por hay va mi problemilla, no sé cual es el nombre para designar cada pin.

      No acabo de entender en la aclaración que me pones, que significa "PotPin = 1(D2=Pin7),2(D4=Pin3) o 3(D3=Pin2)".Si tiene 2 digitales 0 y 1, y las otras 3 analogicas 2,3 y 4 ¿no?.
      (creo que aqui tengo el error).

      Mi código es este:

      int Motor1 = 0; // Control Motor conectado al pin digital 0 PWM (patilla 5)
      int Motor2 = 1; // Control Motor conectado al pin digital 1 PWM (patilla 6)
      int PotPin = 2; // Potenciómetro conectado al pin 2 (analog input 1) (patilla 7)
      int FinCarreraPin = 3; // Contacto Final de carrera (analog input 3) (patilla 2)
      int buttonPin = 4; // Pin para boton (analog input 3) (patilla 3)

      int Motor = 0; // Variable para sentido Motor
      int V_Pot = 0; // Variable en el que se almacena el dato leído en el potenciometro
      int buttonState = 0; // Variable for reading the pushbutton status
      int FinalCarreraEstado = 0; // Variable para estado sensor final de Carrera

      void setup()
      {
      pinMode(Motor1, OUTPUT);
      pinMode(Motor2, OUTPUT);
      pinMode(PotPin, INPUT);
      pinMode(buttonPin, INPUT);
      pinMode(FinCarreraPin, INPUT);

      Motor = Motor1;
      }

      void loop()
      {
      buttonState = digitalRead(buttonPin);
      delay(20);
      if (buttonState == HIGH) {

      FinalCarreraEstado = digitalRead(FinCarreraPin);
      delay(20);

      if (FinalCarreraEstado == HIGH) {
      if (Motor == Motor1) {
      Motor = Motor2;
      }
      else {
      Motor = Motor1;
      }
      }
      V_Pot = analogRead(PotPin);
      V_Pot = V_Pot / 50;
      digitalWrite(Motor, HIGH);
      delay(V_Pot);
      digitalWrite(Motor, LOW);

      delay(1000);

      }
      }

      ESTE CODIGO NO ME FUNCIONA CORRECTAMENTE!!!!! QUE NADIE LO COJA COMO EJEMPLO.
      SOY NOVATO.

      He echo un montaje con Fritzing pero no sé como hacértelo llegar, mi correo es arduino.ander@gmail.com

      Gracias iré probando

      ANDER

      Eliminar
    3. Hola Ander,
      lo que quería decir es que en el ATtiny una misma patilla puede ser digital o analógica (tal y como indica la imagen del patillaje del chip), es decir.
      El pin 2 es Entrada/Salida digital 3 y entrada analógica 3
      El pin 3 es Entrada/Salida digital 4 y entrada analógica 2
      El pin 7 es Entrada/Salida digital 2 y entrada analógica 1
      El pin 6 es Entrada/Salida digital 1 y salida analógica
      El pin 5 es Entrada/Salida digital 0 y salida analógica
      SL2

      Eliminar
  10. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  11. El programa produce un fallo (en un Mac, me imagino que ese es el error) y me dice que no encuentra el archivo Arduino.h, y por consiguiente no entiende las funciones o constantes.

    No he logrado hallar como solucionar el fallo, así que voy a seguir intentando, pero si me puedes ayudar te lo agradecería mucho.

    ResponderEliminar
    Respuestas
    1. Hola AnesGy
      Lo siento pero no utilizo Mac, tal vez algún "Maquintero" pueda ayudarte.

      Eliminar
    2. Ya está: Es la versión de Arduino 1.0.

      Aquí está la solución (en inglés).
      http://hlt.media.mit.edu/?p=1695

      Eliminar
  12. Hola Iñigo,
    tengo una duda: veo que al cargar el sketch has cambiado el valor del PIN 13 de la placa Arduino al PIN 4 del Attiny, sin embargo en la imagen del montaje para comprobar que el programador funciona correctamente, el LED está conectado al PIN 0. En el sketch debería poner un 0 (o D0¿?) en lugar de un 4?
    Gracias de antemano!

    ResponderEliminar
  13. alguien sabe que significas¡ esto me da este error:

    avrdude: stk500_getsync(): not in sync: resp=0x15

    no es la primera ves que uso attiny-85 en ocasiones anteriores me funciono muy bien

    ResponderEliminar
  14. significa que tienes un problema con el reset. o una de dos o es necesario que desconectes el capacitor, o debes de verificar que este bien conectado

    ResponderEliminar
  15. una pregunta se puede reprogrmar el mismo chip ? osea al que le cargaste un programa ya ? no sabras algo xq tuve un problema con un tiny 2313 que seria el siguiente :

    "cuando subo el sketch me da el siguiente error

    Tamaño binario del Sketch: 796 bytes (de un máximo de 2.048 bytes)
    avrdude: Yikes! Invalid device signature.
    Double check connections and try again, or use -F to override
    this check."

    es del tuto de esta pagina

    http://electronicavm.wordpress.com/2012/06/17/programar-attiny2313-con-arduino/#comments

    no me han podido dar una solucion y estoy medio deseperado los compre pensando que los podia reprogramar cuantas veces quisiese pero me encuentro con esto alguna mano ?

    desde ya gracias !!cualquier ayuda es bienvenida!!

    ResponderEliminar
    Respuestas
    1. Hola muy buenas, veo que tu mensaje es de varios meses atrás, a mi me surgió este mismo problema un par de dias atrás y lo tras realizar una busqueda exhaustiva logré solucionarlo. Al parecer (al menos en mi caso, aunque supongo que será el mismo que el tuyo ya que la patología que presenta tu caso y la que presentaba el mio es la misma), el caso es que al parecer debe de ser un problema de protocolos (por cierto, tambien diría, -esto es algo que he leido y en mi caso también se confirmó- que es necesario que uses la versión del programa de arduino 022, ya que en posteriores versiónes se produce una incompatibilidad a la hora de programar el chip Attiny.)
      Y ahora voy al quid de la cuestión, el tema es que debes modificar un fichero que hace referencia a los protocolos, verás que es muy sencillo y rápido.
      1º- Accede a la carpeta del programa que utilizas para compilar los programas que metes en arduino (recuerda que debe ser la versión 022) y localiza el archivo "boards.txt" en la carpeta "...\arduino\hardware\arduino\" Abre el archivo y editalo:

      Busca esto:
      atmega328.upload.protocol=arduino

      Y cambialo por esto:

      atmega328.upload.protocol=stk500

      Puede que no ponga exactamente lo mismo, creo que en mi caso no ponia exactamente eso, el caso es que debes modificar en el fichero, todas aquellas veces que ponga
      protocol=arduino

      por protocol=stk500.

      Por esa razón yo tengo la version 022 en una carpeta independiente, con el archivo modificado. Y la versión actual en otra carpeta, así cuando tengo que hacer proyectos con arduino, utilizo la nueva, y cuando quiero programar un attiny , utilizo la vieja version 022.
      Espero que esto permita resolver tu problema.

      Eliminar
  16. Holaa buenas tardes, tengo unos problemillas con mi attiny y ando un poco cabreado y desconcertado. Tengo arduino mega (clon) trabajando bajo MAC y despues de mucho probar he conseguido poner a funcionar el blink con lo siguiente:
    - Arduino 1.0.1
    - Estos nucleos de Attiny http://code.google.com/p/arduino-tiny/downloads/list
    - Condensador entre gnd y reset en el arduino

    Bien como he dicho el blink funciona pero quiero hacer algo tan sencillo como esto: http://bateaux.trucs.free.fr/testeur_servo.html pero el servo se vuelve loco!! y no se cual es el problema... si el arduino, el attiny, los nucleos, el potenciometro, la patilla al q conectar... En fin si alguien esta aburrido o interesado en este ejemplo que comunique el funcinamiento. Gracias un saludo.

    ResponderEliminar
  17. O Attiny preeliminarmente/inicialmente deve/precisa conter o Bootloader? ou não precisa? Gracias.

    ResponderEliminar
    Respuestas
    1. Hola DVM,
      No es necesario, el bootloader lo cargamos en los puntos descritos en esta página:

      - Instalando en Arduino el soporte para ATtiny45 / ATtiny85
      - Transformando la placa de Arduino en un programador
      - Conectando la placa Arduino y el ATtiny

      Una vez cargado el bootloader podemos cargar los sketches desde el entorno Arduino tal y como se indica en:

      -Programando el ATtiny45 o ATtiny85

      Eliminar
  18. Por cierto Iñigo, una duda, no quiero hacerte perder mucho tiempo así que me bastaría con una breve explicación si fuera posible. En que beneficiaría acoplar un cristal externo al attiny, ( no he leído demasiado sobre los cristales, y cuando tenga un ratito lo haré detenidamente )¿ y como se conectaría? Tengo entendido que aumenta su frecuencia de trabajo, pero no comprendo exactamente que es lo que eso significa.

    Un saludo y gracias de antemano.

    ResponderEliminar
  19. Hola, gracias por todos estos proyectos, tengo una pregunta:
    ¿Puedo hacer esto con un paperduino? los que muestras también como hacerlos, gracias

    ResponderEliminar
  20. Hola buenos dias, ante todo felicidades por tus trabajos son la caña, he hecho este proyecto pero al cargar me da el siguiente error
    avrdude: stk500_getsync(): not in sync: resp=0x00
    tengo arduino uno me puedes ayudar?
    gracias de antemano

    ResponderEliminar
  21. Iñigo, me gustaría poder conectar un modulo bluetooth a un ATtiny85 .Tengo entendido que se debe cargar el bootloader de 8Mhz para poder utilizar la libreria de SotwareSerial. Estaría bien un tutorial de los tuyos con un ejemplo de enviar y recibir un dato. Gracias en cualquier caso por todo lo que nos aportas.

    ResponderEliminar
  22. podra servir con el paperduino??

    ResponderEliminar
  23. Hola, excelentes estos tutoriales que publicas. Felicitaciones, son muy buenos.

    Una pregunta, he montado el circuito en una placa "stripboard" si así se escribe y estoy usando el ATTINY85-20PU pero aun así me pone los errores que menciones en el post no me funciona.

    Sera que con ese micro no funciona o tengo que hacerlo de una manera distinta?

    ResponderEliminar
    Respuestas
    1. Ya lo revise y era que estaba poniendo la salida numero 0 en vez de la numero 4 y funciona perfectamente. Gracias por toda esta documentación una vez mas.

      Eliminar
  24. Me sumo a la petición de Anónimo del 26 de marzo de 2014.

    Sabemos que con una protoboard y cables podemos programar el ATtiny con Paperduino, pero por comodidad, ¿para cuando una versión de PaperATtinyProgrammer para Paperduino?

    ResponderEliminar