Vohr,
Com certeza isto é possivel seja com o AVR ou qualquer processador.
No 51 fazia em assembler com apenas poucas linhas.
Não tenho nada feito para o AVR senão postava no ato, porem tenho certeza de que se fizer algumas buscas acha (pesquise AVR Bit Bang).
Basicamente para transmitir pega o byte desejado e vai shiftando um bit por vez, com uma cadencia controlada por um delay (baud rate /

, se o bit for 1 seta a saída se for zero reseta.
Após 8 bit tem de deixar a saída em 1 me parece para o stop bit.
Para receber pode utilisar uma entrada de interrupção e montar a rotininha inversa.
Abraços,
Marcos.