Ongeveer vijf jaar geleden heb ik een paar van deze ATtiny85 modules aangeschaft. Ik wilde ze toen inzetten voor het aansturen van de wissels op mijn modelspoorbaantje en heb toen best veel moeite moeten doen om ze aan de praat te krijgen (zie ook hier). In mijn zoektocht naar kleine microcontrollers kwam ik ze weer tegen en besloot om eens te zien hoe programmeren via de huidige Arduino IDE (versie 2.3.6.) zou verlopen. Eerst nog wat informatie opgesnord.
Hierboven zie je twee uitvoeringen, die ik destijds beide heb uitgeprobeerd. In de rechter module kan je ook andere ATtiny’s gebruiken: in heb geëxperimenteerd met de ATtiny13v en de ATtiny85. Je kunt het dus als een programmeermodule gebruiken en de geprogrammeerde chip ‘los’ inzetten.
Hieronder gaat het verder over het linker bordje.
- Mini USB Micro Development Board
- Support for the Arduino IDE 1.0+ (OSX/Win/Linux)
- Power via USB or External Source – 5v or 7-16v (automatic selection)
- On-board 150ma 5V Regulator
- Built-in USB (and serial debugging)
- 6 I/O Pins (2 are used for USB only if your program actively communicates over USB, otherwise you can use all 6 even if you are programming via USB)
- 8k Flash Memory (about 6k after bootloader)
- I2C and SPI (vis USI)
- PWM on 3 pins (more possible with Software PWM)
- ADC on 4 pins
- Power LED and Test/Status LED

Het bovenstaande schema is van het linker bordje, maar geldt ook voor het rechterbordje (maar dan zonder de ATtiny85 natuurlijk).
Voor deze test het “Blink” programmatje opgepakt.
/*
Blink
Turns an LED on for one second, then off for one second, repeatedly.
*/
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(2000); // wait for a second
}
Wanneer je het bordje met een USB-kabeltje met de computer verbindt hoor je, in Windows, dat er een USB apparaat afwisselend gekoppeld en ontkoppeld wordt. Kabeltje er maar uithalen!
De ATtiny85 op het bordje is voorzien van de Micronucleus-bootloader. Deze neemt de nodige ruimte in op het al niet te grote geheugen. Programmeren via de Arduino IDE gaat op een iets afwijkende manier dan gebruikelijk. Je moet het uploaden starten voordat je het bordje via USB aansluit. Wanneer de IDE (na compileren) het uploaden wil starten heb je de tijd (60 seconden) om de USB-verbinding te maken, waarna het uploaden begint.


Ergens halverwege het programmeren ineens deze melding:

En aan het einde, wanneer het programmeren achter de rug is:

En dan is het zowaar gelukt! Het LEDje blinkt er lustig op los! 🙂
Hier nog wat extra informatie: ATtiny85 Module with Micro USB.

