Supongo que desea implementar un UART "suave" en el ATtinyx5 porque no tienen un UART de hardware. Si esto NO es lo que quiere, por favor proporcione más detalles.
Un UART es relativamente fácil de implementar en software. Si puede dedicar el enfoque principal del programa al UART para que el tiempo pueda implementarse con demoras, es bastante sencillo. Si tiene otras tareas que ocupan un tiempo de procesador significativo, el uso de interrupciones ayuda a simplificar el código. Afortunadamente, varias personas ya han implementado el código UART ATtinyx5 y hay un rango para elegir.
Aquí de 'Garagelab "es lo que parece ser un excelente UART con capacidad x5 como parte de una biblioteca de otras rutinas x5.
Aquí está avr-softuart en github, con una discusión sobre cómo usarlo aquí . Lo usan para hablar con un Arduino, pero eso obviamente es solo un ejemplo de lo que puede hacer.
Aquí hay otra UART suave que puede necesitar alguna modificación para el x5, pero que tiene una discusión relevante de AVRFreaks aquí
Aquí está el código para un recibir solo UART para ATtiny85
Esta búsqueda puede ser útil.