An Interrupt-Driven UART Library for the Attiny10

An efficient way to implement serial communications on one of the smallest microcontrollers 27 Mar 2013



« Back to Posts


The ATtiny10 lacks any hardware communication capabilities. My library solves this problem by implementing a system to asynchronously receiving messages over a serial datalink. The implementation contained within serial-tiny10.h uses interrupts and timers to sample the incoming signal. This allows you to do other things with the processor while simultaneously receiving data. I hope that this project will make it easier to build more complex and connected projects with the ATtiny10.

Note, the library depends on the delay loops contained in delay_accurate.h. It was necessary to create these new delay loops as the ones included in avr-libc are not compatible with the ATtiny10–they seem to assume the availability of certain instructions not implemented in the ATtiny10.

The entire project is available in a GitHub repository here

Here’s an example piece of code using the library:

I’m interested in hearing from you if you find this library useful.




comments powered by Disqus