# Is there a ATtiny or similar microcontroller with a UART port?

I'm looking for a way to connect a sensor and control network to an Arduino, and I'm thinking serial communications through the UART port may be the way to go.

I've also seen the ATtiny chip, and I think that it, or another chip like it, could do very nicely for a node in the sensor and control network.

Are there any ATtiny or similar microchips microcontrollers that have UART ports?

• If you don't need to do much else, and especially if you only need to send, a software serial implementation could be a solution. But there are lots of chips to choose from, too. – Chris Stratton Aug 27 '13 at 12:07
• Any, if you bit-bang. – Ignacio Vazquez-Abrams Aug 27 '13 at 12:07
• I didn't realize a software solution was possible. (A noob am I.) I'll look into it. – Gustav Bertram Aug 27 '13 at 13:14

Go to the Microchip product page:

https://www.microchip.com/ParamChartSearch/chart.aspx?branchID=30047

and select "Show all products" (if not only New/Popular items will be displayed).

And click on the Product Search tab you'll find the microcontroller selector. Using the scrollbar within the page (it's in an odd spot) scroll across to UART and pull the slider down to one and that will show the ATtiny devices with a UART (currently 7 devices).

Most manufacturers and some suppliers have similar search facilities which are normally called a parametric search. Also as mentioned in some comments you can also look at a software / bit-banged serial interface if suitable for your project and then just about any microcontroller will do. That's just implementing the serial protocol in software using regular I/O pins.

The ATtiny2313 has UART. AdaFruit has several projects and tutorials with this chip. The Arduino Platform library can be downloaded from arduino-tiny

Where on the Tiny45/85 it is common to use SoftSerial library to bit bang out the UART. As shown in the Serial communication with the Tiny's tutorial.

• Thank you for the link to the software serial port library. While the other answer helped me find a couple of suitable chips, I did upvote this answer. – Gustav Bertram Aug 27 '13 at 13:12

For a project of mine, I first used an ATtiny45 (with 8 pins), but SoftwareSerial (a.k.a. NewSoftSerial) was really unreliable when too many messages arrive at the same time (MIDI messages).

So I looked for the smallest (in terms of number of pins) ATtiny, available in DIP package, that has an UART. And the answer is:

• ATtiny2313 but half program memory size and RAM than ATtiny45 (20 pins chip)
• ATtiny4313: same program memory size (4 KB) and RAM (256) than ATtiny45 (20 pins)

• ATmega328p: the same chip as on an Arduino Uno (28 pins)