Ich denke mal, auf der Atmel-Schiene bist Du erst mal gut aufgehoben, da bekommst Du im Netz auf jeden Fall die meiste Hilfe zu.
Stellt sich noch die Frage, wie viel Du ausgeben möchtest.

Wenn Du erst mal preiswert einsteigen möchtest, schau Dich mal bei www.robotikhardware.de und www.elmicro.de um. Da gibt's preiswerte Programmiergeräte und Einsteigerboards. Die ISP-Programmer lassen sich für fast alle AVRs einsetzen, bei den Boards bist Du allerdings erst mal auf einen Controller festgelegt.

Wenn Du etwas mehr anlegen möchtest, empfehle ich Dir das STK600 von Atmel. Zum einen kannst Du mit dem Board jeden AVR-Controller von Atmel verwenden (8 und 32-Bit AVRs) kannst. Zum anderen ist auf dem Board bereits ein universeller Programmer enthalten, der alle Programmierschnittstellen der AVRs unterstützt, inkl. debugging über JTAG oder PDI. Damit können später auch Controller auf selbst erstellter Hardware programmiert werden.
Allerdings ist das Board mit knapp 200€ auch nicht gerade billig. Und Du brauchst für jeden neuen Controller eine Adapterplatine, die auch wieder ein paar Euronen kostet. Von Anfang an dabei ist ein ATmega 2560 (SMD-Version, fest auf der Adapterplatine verlötet). Gesockelte Adapterplatten, bei denen Du den Controller selbst austauschen kannst dürften bei etwa 60€ liegen. Also ein recht teurer Spaß, allerdings verwendest Du ja auch nicht wöchentlich einen neuen Controller.

Ich habe gehört, mit dem STK500 kann man auch 16-Bit programmieren obwohl dort nur 8-Bit µ-Controller draufpassen??? Ist der AVR-ISP mkII Programmer von Atmel dann auch fähig auf 8-Bit µ-Controllern mit 16-Bit zu programmieren?
Das STK500 ist nur auf die 8-bit AVRs beschränkt (ATXMega ausgeschlossen). 16-bit Controller gibt's von Atmel nicht. Die haben nur 8 und 32-bit. Mit dem ISP mkII kannst Du aber auch 32-bit Controller programmieren.
[edit]Korrektur: der ISP mkII unterstützt nur die 8-bit AVRs. Wenn ich das richtig gesehen habe, können die 32bit-AVRs nur mit JTAG programmiert werden.[/edit]

Gruß,
askazo