OK mitt tips blir detta:
Om du nöjer dig med att kunna programmera enligt Low-Voltage ISP (In-System-programming) vilket då också begränsar dig till det kretsar som klarar detta så blir världen enkel.
Jag håller på med ett RGB-ljusslinje-projekt där hela budgeten låg kring 200kr och det ser ut som jag lyckas ganska bra... och då ingår programmeraren som blev mycket billig... GRATIS! Den har dock inget stöd för In-System-Debugging alls, alltså inget Debug-Wire!

Men eftersom man kan få till det mesta i Simulatorn som kommer med AVR-studio så klarar jag mig bra iallafall!
Jag använder den till ATtiny13-kretsar men det fungerar troligen lika bra till samtliga ISP-kompatibla kretsar som klarar 5V.
Jag provade först att följa en beskrivning på en parallellports-programmerare som jag hittade på nätet och koppla upp denna programmerare på mitt kopplingsdäck. Efter ett gäng försök och ingen kontakt mellan dator och krets så provade jag en annan otroligt enkel programmerare. Efter en del strul så gick detta bättre. Nu fungerar denna hur bra som helst och har programmerat min första krets kanske 50ggr utan problem!
Hårdvara:
En lång parallell-ports kabel. min är nog 3-5meter
Nåt som matar spänning till din krets.
Mjukvara:
WinAVR-sviten (och denna övning använder specifikt: AVRdude, AVRdudeGUI)
Handhavande:
Just nu matar jag 5V från en annan spänningskälla. Själv SPI-kopplingen är idag gjord direkt mot datorns parallellport utan avkoppling-motstånd. Detta är kanske inte att rekommendera men för mig som använder en lång parallellportskabel var detta det enda sättet som fungerande. Kopplar du fel så kan du säkert enkelt ha sönder din parallellport eller ännu värre hela ditt moderkort. Som sagt, den som vågar provar. För den som provar så kosta åtminstone på er att titta över era kopplingar 2 ggr till innan ni startar grejorna.
OBS:
En viktig detalj är att använda gemensam jord både för datorns parallellport och den spänningskälla du använder. Jag har helt enkelt kopplat ihop dom!
Vad som händer om man inte gör detta vet jag EJ!
När kretsen sedan startar så måste man på något sätt koppla ur kontakten mellan parallelporten och tiny-kretsen annars kan datorn se till att tinyn inte orkar driva upp/ned sina utgångar.
Jag återkommer med en länk till ett kopplingsschema om någon vågar prova detta. Ev. så ingick typ 1motstånd men jag är idag inte säker eftersom jag kopplade förbi dom flesta. Jag ska se efter..
MVH Magnus