
Je to takový malý plošný spoj buď osazený mikro USB konektorem, nebo je USB konektor vytvořen přímo na desce. Na této desce je mikroprocesor ATtiny85-20PU plus několik podpůrných součástek, jako je stabilizátor napětí a ochrany pro USB. Nechybí ani dvě signalizační LED. Tento celek je velmi malé vývojové prostředí pro procesor ATtiny85.
Programování se provádí přes upravené Arduino IDE, do kterého je doplněna podpora pro tuto desku. Navíc je ještě nutné do PC nainstalovat speciální USB ovladač, aby Digispark mohl s prostředím Arduino IDE správně fungovat. Kdo se programováním a vývojem aplikací na platformě Arduino zabývá, určitě už řešil problém s tím, že na zcela jednoduchou aplikaci, kde by stačil malý procesor o osmi vývodech, musel použít například procesor z desky UNO, tedy ATmega328P s 28 vývody. To se tímto mění a lze použít právě ATtiny85. Existuje také verze Digispark Pro, kde je použit procesor ATtiny87/167 s 20 vývody.
Technické specifikace
| Podpora prostředí | Arduino IDE pro OSX, Windows a Linux |
|---|---|
| Napájení | Z USB nebo z externího zdroje 7-35 V, doporučeno 12 V a méně |
| Stabilizátor | Integrovaný stabilizátor 5 V / 500 mA |
| Programování | Přes USB |
| I/O vývody | 6 I/O vývodů, 2 jsou použity pro USB při programování a komunikaci, pokud nejsou potřeba, dají se využít jako vstupy nebo výstupy |
| Paměť programu | 8 kB Flash, přibližně 2 kB zabírá bootloader a zbytek je pro uživatelský program |
| Rozhraní | I2C a SPI |
| PWM | PWM na 3 pinech, další s možností softwarového PWM |
| ADC | ADC na 4 pinech |
| Signalizace | Kontrolka napájení a Test/Status kontrolka, obdoba LED na deskách Arduino UNO na pinu 13 |
Jak si postavit vlastní Digispark
V tomto článku se chci hlavně zabývat tím, jak si postavit vlastní Digispark. Nejde ani tak o stavbu samotné vývojové desky, ale spíše o to, jak nahrát do procesoru ATtiny85-20PU správný bootloader a jak následně nahrát program tak, abyste mohli tento procesor použít ve vlastní aplikaci. Pro samotné ladění aplikace je možné použít přímo desku Digisparku, případně při osazení USB konektoru ladit přímo v cílové aplikaci.
Schéma zapojení Digisparku

Schéma je celkem jednoduché. Základem je procesor ATtiny85-20PU, konektor USB, stabilizátor, dvě LED a několik součástek okolo. V podstatě by se zapojení dalo ještě podstatně zjednodušit.

Zde už je jen procesor a připojení USB konektoru včetně ochran. Jedná se o nejjednodušší zapojení, aby šel do procesoru přes Arduino IDE nahrát program. Další zapojení už záleží na požadavcích konkrétní aplikace.
Nahrání bootloaderu
Abychom mohli přes Arduino IDE nahrát nějaký program, musíme do ATtiny85 nahrát bootloader. První problém může nastat s programátorem. V různých návodech je často popisován postup s programátorem AVRISP MKII. Pokud ho nemáte, dá se použít například USBasp. Je cenově velmi dostupný a dá se postavit i v domácích podmínkách. K němu budeme potřebovat program, který ho podporuje. Vhodný je například eXtreme Burner - AVR, který podporuje i češtinu.
Problém tohoto programu je, že v základu neumí procesor ATtiny85-20PU. To se dá vyřešit úpravou souboru chips.xml, který se nachází ve složce eXtreme Burner - AVR\Data. Pokud máme programátor USBasp, nainstalovaný eXtreme Burner - AVR s upraveným souborem chips.xml a samotný mikroprocesor ATtiny85-20PU, můžeme přistoupit k nahrání bootloaderu.
Existuje více verzí bootloaderů a ne všechny fungují ve všech kombinacích systému a vývojového prostředí stejně dobře. Z praktického pohledu jsou důležité hlavně tyto dvě:
| Bootloader | Popis |
|---|---|
micronucleus-1.06 | Starší verze funkční s Digispark-Arduino-1.0.4 a Windows XP. Ve Windows 7 může i při správně nainstalovaném ovladači docházet k problémům s detekcí, případně k cyklickému připojování a odpojování. Program lze nahrát, po jeho nahrání už procesor zůstane připojený. Tuto verzi pravděpodobně používá část starších prodávaných desek. |
t85_default | Novější varianta, která potřebuje DigistumpIDE1.5.8C. Se starým Digispark-Arduino-1.0.4 se může tvářit, že upload proběhl správně, ale program následně nefunguje. V kombinaci t85_default a DigistumpIDE1.5.8C funguje i ve Windows 7. |
Nyní tedy k samotnému nahrání bootloaderu t85_default. Procesor a programátor propojíme podle následujícího obrázku.

Je třeba zapojit všech šest vývodů na procesoru. Poté spustíme eXtreme Burner - AVR, načteme soubor t85_default.hex a nastavíme správný typ procesoru na ATtiny85-20PU. Ještě před nahráním programu musíme správně nastavit pojistky procesoru. Tady je třeba dávat velký pozor, protože nesprávné nastavení pojistek může znemožnit další nahrávání a konfiguraci procesoru.
Optimální postup je přepnout se na kartu Fuse Bits / Nastavení a s připojeným procesorem zvolit Přečíst vše. Tím ověříme, že procesor a programátor spolu správně komunikují. Po vyčtení dat nastavíme tyto hodnoty:
| Low Fuse | 0xE1 |
|---|---|
| High Fuse | 0xDD |
| Extended Fuse | 0xFE |
U těchto polí zaškrtneme volbu Zapsat. Ostatní pole necháme beze změny. Poté můžeme stisknout tlačítko Zapsat, čímž dojde k zapsání konfigurace pojistek do procesoru, nebo tlačítko Zapsat vše, čímž dojde k zapsání pojistek i samotného programu t85_default.hex do procesoru.

Tímto máme bootloader nahrán v procesoru a od této chvíle už budeme nahrávat uživatelský program přes prostředí DigistumpIDE1.5.8C a USB konektor připojený k procesoru.
Ovladače USB pro Windows
Pokud jste se dostali až sem, je to stejné, jako kdybyste si koupili vývojovou desku Digispark USB. Abychom mohli procesor připojit k PC, musíme nainstalovat ovladače. Stačí připojit procesor, počítač by měl najít nové zařízení na USB a nabídnout instalaci ovladače. Vhodné je vybrat ovladač ručně ze složky s ovladačem. Následně by už měl Windows najít vhodný ovladač a nainstalovat ho.

Jak nahrát první program
Potřebujeme prostředí DigistumpIDE1.5.8C, které existuje pro Mac, Windows i Linux. Po instalaci provedeme první nastavení: v nabídce Board vybereme Digispark (Default - 16.5Mhz). Na rozdíl od klasických Arduino desek nevybíráme žádný COM port, ale programátor Micronucleus. Tím je prostředí připravené.
V tuto chvíli stačí otevřít příklad, například obvyklé blikání LED.

Při nahrávání programu je nutné dodržet tento postup:
| 1 | Spustíme kompilaci s následným nahráním programu. V tuto chvíli není procesor připojen přes USB k počítači. |
|---|---|
| 2 | Jakmile se provede kompilace, Arduino IDE začne čekat na připojení zařízení. Nahrávání se pozastaví přibližně na 60 sekund. V této době je nutné připojit procesor nebo desku Digispark USB a sledovat spodní stavové pole s informacemi o kompilaci a uploadu. |
| 3 | Po připojení procesoru proběhne upload a měli bychom dostat informaci, že se podařilo nahrát 100 % programu. Následně začne blikat dioda. |
To je k tomuto projektu to nejdůležitější. Zajímavý je hlavně proto, že umožňuje programovat v Arduino IDE i menší procesory do jednodušších aplikací, což u plnohodnotného Arduina někdy zbytečně vede k použití většího mikrokontroleru, než je opravdu potřeba.
Odkazy
Některé starší projektové stránky a balíčky se v čase mění, proto jsou potřebné soubory přibalené v dokumentaci. Z ověřených a stále použitelných odkazů dávají smysl hlavně tyto zdroje:
Dokumentace
Zde si můžete stáhnout veškerou dokumentaci pro stavbu včetně programů, ovladačů, bootloaderu a souvisejících podkladů.