Arduino Mega and Rainbowuino v2.0


I am attempting to program a Rainbowuino v2.0 with an Arduino Mega.

I have connected up the tx-tx and rx-rx and other wires as specified, but I am having no luck getting it to work.

The error I get from the Arduino IDE is as follows;

avrdude: Expected signature for ATMEGA328P is 1E 95 0F
Double check chip, or use -F to override this check.

Any ideas? This is driving me insane.


Try to connect TX-RX,and RX to Tx

Thanks for the reply Icing.

Unfortunetly swapping the wires to tx-rx still gives me no joy.

Has anyone got any other ideas?

I managed to solve the problem.

The Arduino Mega auto resets when the serial port is connected. Since this occurs whenever the PC establishes a connection, the Mega was resetting when attempting to upload the code to the Rainbowuino. This in turn causes the Mega to go into programming mode and the Rainbowuino is not seen.

To overcome this, you need to place a 47 ohm resistor between 3.3v and reset on the Arduino Mega board. This will prevent the Mega from resetting when you attempt to upload to the Rainbowuino. The upload via the Arduino GUI will now work and you will be extremely happy.

I hope this helps others.



I am following this, but get the following error:

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

What “board” do you select in the Arduino IDE (if using a mega)?

Now that we have put a 47Ohm pull up resistor on the Arduino reset pin, will it correctly reset the rainbowduino? Or do we have to manually press reset to make it work properly?



Also do you connect TX to TX, RX to RX and Reset to DTR?

I connected TX to RX, RX to TX. As for reset, since you have a resistor connected to the Arduino Mega reset pin, you are not able to use this as it is kept at a voltage to avoid resets. What I did was upload the code to the Raindowduno, and when the Arduino IDE says “uploading to board”, press RESET on the Rainbowduino.

Works a treat.

Feel free to ask further questions if required.


I know this reply is a bit late but just to point out you can’t program another 168/328 via the Arduino Mega - you can only do this with an Arduino or clone that has a removable DIP package 168/328 chip - which has to be removed so that it doesn’t interfere with the target board/chip. Otherwise the TX line will be driven by two chips at once leading to garbled responses.

See the diagram at the bottom of - the host Arduino board has an empty 28 pin IC socket.

I was having trouble programming my new rainbowduino 2.0 with my arduino MEGA 2560.
I originally just got the error:

avrdude: stk500_getsync(): not in sync: resp=0x00 avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51after checking this thread and taking some tips from eikcam1 I finally got it working.

I used a wire in between ground and reset to make it stop resetting. Manually reset Rainbowduino before programming.
I had my RX to RX and TX to TX.

I don’t think I would have figured it out without this thread though.