Há algumas plaquinhas que são um ATmega e pouco mais, como por exemplo o EDuino-B que criei exactamente porque achava que deixar um "arduino inteiro" era um desperdício em alguns projectos, e deve ser a mais simples delas todas (não tem regulador de 5V, mas isso é baratíssimo e fácil de fazer com um 7805):
EDuino (Inglês). Uma placa deste tipo pode ser usada para tornar um projecto mais permanente (e sem más ligações); como referi existem outras até mesmo aqui pelo fórum, umas com módulos de comunicação RF, etc. Se houver alguma eletrónica extra, esta pode ser montada numa placa perfurada e depois conectada à placa com o ATmega através de fios soldados ou fichas. Se a plaquinha "*duino" tiver headers (pinos) e com espaçamentos múltiplos de ~2,54mm (a distância entre 2 pinos duma breadboard), estes podem até ser soldados directamente (ou encaixados com fichas) numa placa perfurada que conterá os restantes componentes necessários ao vosso projecto. Convém começar com uma placa *duino que já tenha o máximo de "periféricos" que o projecto utilize (por exemplo, se vão usar módulos de RF, não vão começar com um EDuino; o melhor é começar com um rfDUINO que já está preparado para levar esses módulos).
Estes microcontroladores, AVR e PIC e outros, são super simples de programar "bare-bones", ou seja, ali "do zero" em C puro ou mesmo Assembly. Não há hardware nenhum para inicializar, ao contrário de outros chips mais complexos (cuja inicialização até "mete medo"
). Para programar um AVR em Assembly basta o AVRStudio. O AVRStudio tem uma cena espectacular, que não faz tudo mas que é uma ajuda brutal, que é um simulador; o simulador é um programa que imita o comportamento do AVR (qualquer dos chips AVR8) e "executa" o vosso programa, permitindo-vos verificar se ele funciona antes sequer de o gravarem no chip (dentro de alguns limites)!
Para quem não está interessado em "saber assim tanto", podem programar em C, e aqui o já referido WinAVR cobre todas as necessidades no caso do AVR (acho que também até tem um simulador). "WinAVR" é o nome que se dá a um conjunto de programas e outros conjuntos que são necessários para programar os AVR em C, desde um editor de texto orientado a pessoas que programam até utilitários para gravar o código nos chips passando pelos programas que convertem o texto em C em ficheiros de números que são a linguagem ("código máquina" é o seu nome genérico) que o chip entende. O AVRStudio também é capaz de simular um programa escrito em C/C++ (funcionalidade que eu uso extensivamente; quando gravo um projecto novo num chip pela 1ª vez, já sei que pelo menos 90% do código está a funcionar).
Para os AVR está aqui um tutorial que escrevi para um modelo mais pequeno (os "tiny"), mas que é facilmente adaptável para os mega, bastando indicar ao compilador qual é o modelo de AVR que se está a usar (em vez do attiny26 usado no tutorial) e usando os pinos de I/O disponíveis no modelo que se quer usar (a consultar na datasheet):
Micro Tutorial AVR (Português). Este tutorial usa o WinAVR e mostra o mínimo necessário para programar um AVR em C.