Meistens kann man an die RxD Leitung (z.B. zwischen Controller und max232, wenn man den denn braucht) einfach eine LED mit Vorwiderstand hängen.

Wenn der Speicher nicht reicht gibt es mitlerweilen auch Tiny461 und Tiny861 als Ersatz mit 4 bzw. 8 kB RAM. In Assembler kriegt man auch in den Tiny2313 oder tiny26 noch eine Menge rein. Viel mehr macht in ASM aber auch keinen Spaß.
Für meine bidirektionale Software UART mit zykischem Sende-Puffer habe ich nur etwa 200 Bytes gebraucht