TX/RX Pin Arrows?

I just noticed this, but why are the arrows reversed on the 2009's RX/TX pins... seems like the TX arrow is pointing inward and the RX is pointing outward?

They markings are the relive to to the cable. The TX is the TX from the serial cable to be incomming on the board. the RX is the RX on the cable and will be th out going line from your AVR

Yeah that always threw me off. When I make new boards, I always have to look at the Duemilanove datasheet to see which is the CHIP's TX :P.

Yes, it's seems it's a never ending problem labeling serial links, because both end devices have send and receive pins.

I know the AVR convention is to label the send and rec function relative to the AVR, rec is data into the AVR and send it data going out of the AVR.

It is implied that any cable or wiring should do a 'cross' so a output pin is wired to a input pin and visa versa between the two devices communicating via serial data, doesn't works otherwise, as in everyone is talking but nobody is listening. :wink:


It all depends on how the system is classified as to whether the TX line is an input or an output. The arrows disambiguate it.
The correct classification are DTE and DCE as in:-

I think it would be best to do the marking relative to the Arduino since you might use it is a DCE or DTE depending upon your application, but then again since we aren't really working with a RS 232 port as such (no line transcievers or DB connectors) we don't have to worry too much about the DCE's and DTEs. In fact we don't have a hard wired connector and as such will never need to worry about things like whether or not we need a null modem cable etc because we can choose to easily connect it in any manner to some other serial device

So from a point of view of simply interfacing the UART to something else it would be best to keep it as simple as possible for interfacing to the AVR chip...

ie TX on you AVR is labelled TX on the board and RX on your AVR is labelled RX on your board.

Thats just my 2c though. :wink:

Huh, it seems this "problem" has deeper roots that I thought. And there I was with my history in RC Cars going "Well, TX is obviously transmit and RX is obviously receive"

Huh, it seems this "problem" has deeper roots that I thought.

Yep, sometimes the simplest assumptions turns up a world of hurt and confusion. :wink:


ie TX on you AVR is labelled TX on the board and RX on your AVR is labelled RX on your board.

that is the way it is on the bare bones board and its affiliated serial adapter dongles

From decades of wiring up serial links between devices, I've learned to take signal names with a gain of salt, I always feel better if I can get a schematic drawing for both devices and determine for sure if a given signal wire is being wired to a input pin or a output driver pin.

Rule is a driver output must wire to a input and a input must wire to a output driver. A driver can wire to multiple input pins and multiple inputs can wire to the same output driver pin, but most other combinations result in electrical pin damage at worst or just doesn't work at best.

Again signal names such as send and receive are not always very useful as in reality both devices send and receive either simultaneously or alternately. I won't even talk about the different possible link modes like, simplex, half-duplex, and full-duplex. :wink: