Rx pin not working on Mega 2560 (Rev3)

Hi all,

I have a presentation in two days (eek) and my Arduino decided today would be a good time to break down (ugg ]:slight_smile: ) . I have a program running on it that interfaces whatever is connected to Serial to a I2C camera. I have tried connecting it directly to my computer through USB and using the arduino serial terminal, and it works just fine. But when I try to send it commands from a different microcontroller through pins 0 and 1 (RX0 and TX0), it does not respond, nor do the RX and TX lights flash!! I unplugged everything on it (including the USB cable) except the power jack and the RX0 and TX0 wires. What is wrong?

Thanks :slight_smile: ,
ben

Did you crossover the lines? Rx to Tx, Tx to Rx? Connect the grounds also.

@CrossRoads

I checked many times and the Tx and Rx lines are correctly matched. There is no problem with the ground connection because the other microcontroller (a Parallax Propeller) shares the Arduino's power supply. Also by the way in case this matters the other microcontroller is 3.3v, so I just used a transistor and a resistor to lower the Arduino's Tx line to 3.3v (I left the other line unbuffered since the arduino's Rx should be able to receive 3.3v). I also just tried loading up a blank program (empty setup() and loop() ), and connected the Tx and rx lines on the Arduino and did the classic echo / feedback text. When I opened up the arduino serial terminal and typed in characters, they echoed back just fine.

Thankyou for your help.
Ben

"so I just used a transistor and a resistor to lower the Arduino's Tx line to 3.3v "

How is that wired up? Thinking maybe you inverted the Tx signal.

@CrossRoads I connected the Tx pin on the arduino to a 1k resistor, and the other lead i attached to the base of an NPN transistor. I connected the collector of the transistor to the 3.3v supply, and the emitter to the Rx line of the other micro controller. I connected the tx line of the other micro controller (transmitting at 3.3v) directly to the Rx pin on the Arduino, not worrying about buffering because I thought that an Arduino input pin could detect 3.3v.

I could, I suppose, use another transistor / resistor to bring the other microcontroller's Tx line up to 5V so the arduino would be receiving 5V instead of 3.3v ... Don't know if that would do anything helpful

Thanks again,
Ben