Avr-tinyuart provides a simple yet highly optimized uart tx function. It can be used to print any information to a terminal or to correlate the data with analog signals on an oscilloscope. The tiny footprint makes it suitable for almost any project. Software only: no UART, timer or interrupt required. Serial UART Interface with AVR An embedded project/product without a Universal Asynchrounous Receiver Transmiter (UART) interface is unimaginable. Even if the MCU is not talking to another serial device, you'll need it at-least during the development work to speak to your computer.
Since ATtiny13 does not have hardware USART/UART in some cases we’re forced to use SoftwareUART. In this example project a simple bit-banging UART has been presented. Compiled for both TX and RX it uses just 248 bytes of flash. Default serial configuration is 8/N/1 format at 19200 baud (lowest error rates during tests). It can be easily changed to other standard RS-232 baudrate. Note that it is a great solution for a simple debug/logging but to other purposes I would recommend using an AVRs with a built-in UART. The code is on Github, click here.
Edit: To make a simpler integration with external projects I have created a little library:
Parts Required
- ATtiny13 – i.e. MBAVR-1 development board
Circuit Diagram
Serial communications tools
1) TTL Serial Adapter (UART <-> USB converter)
Avr Software Uart In C Code
2) Serial terminal
I usually use CuteCom – a graphical serial port communications program, similar to Minicom.
Avr Software Uart In C Online
Or python scripts, i.e.:
Firmware
This code is written in C and can be compiled using the avr-gcc. More details on how compile this project is here.