Power required for serial?

Hi all,

For a handheld controller project I'm working on, I'm looking to use the hardware serial (TX and RX) on an Arduino Micro to send data to a base station via an XBee wireless module and Bill Porter's EasyTransfer library.

At the moment, I have the Micro connected up to a Duemilanove running a simple sketch - every second, it will send instructions to turn on one, either, both or none of a pair of LEDs connected to the DuemilaNnove. I am powering the Micro from a 9V battery, which is what the handheld controller will be running.

However, the data does not appear to be reaching the Duemilanove from the Micro. I have also tried connecting two 9V batteries in parallel, however this has also failed to produce results. I've also tried using both Serial and Serial1 on the Micro, without any results.

I know that these sketches work, as I have had them working between two Duemilanoves without any issues.

My question is, is there a minimum current required for the serial port on the Arduino to actually work? This project, by it's nature, does need to be battery powered. If this isn't the cause, what else could be causing this issue?

Further to my above post, it looks like the transfer of data between Micro and Duemilanove is also not working when the Micro is running off USB power.

Actually, never mind. I've looked at the controller again, and I can (just) squeeze a Duemilanove into it.

Hi all,

I've now got my two Duemilanoves set up, in the configuration with the test sketches working. When I power the sending Duemilanove with the USB, the TX light will flicker (when sending data) and the receiving Duemilanove will respond to the commands.

However, when I switch the power supply of the sending Duemilanove to a 9V battery, I get nothing. No TX LED (which may just be due to the USB not being connected), and no response from the receiving Duemilanove. This is still the case after both devices have been reset.

This is the third Arduino (Sparkfun Pro Micro, Arduino Micro and Duemilanove) I've tried which doesn't seem to be able to send data out the serial port when running off batteries. Given this and what I've tried above, must I conclude that Arduino boards simply can't send serial data when running off a battery?

This whole project requires this to be working. If I can't make it work, I'll have wasted time and money. Can anyone enlighten me as to what may be going on?

Do you have a common ground connection between the two Duemilanove's? The serial ports will need a common ground to get a proper voltage reference.

When you have both powered by a common USB device, it may work because they are using the same USB ground reference. But when you use a battery there is no ground reference unless you add a ground wire between both.

For the Micro you will need to use 'Serial1' for the hardware serial ports. The 'Serial' is only for USB communication.

The project will be running via XBees (eventually), but right now I'm trying to get the two of them talking to each other without the XBees in place.

When the two Dumilanoves were talking, one was running off my laptop's USB port, and the other off a wall wart set to 9v, with only the two serial pins between them.

I'll give it a try with a common ground in this configuration - that would be a connection between the ground pins of the two Arduinos, correct? This won't do any damage at all, given that two separate power supplies will be used?

You need to have a common ground connection between the two devices that are talking serial. Otherwise there is no level reference for the serial to work properly.


Seems we can chalk this one up to me not thinking things through. I was planning to get the handheld controller and base station talking to each other by wires first, then swap the wires for XBee. As you can tell from the posts above, that didn't exactly work out :-).

I've now got the two Duemilanoves talking to each other via the XBee modules, with one running off the battery and the other off the wall wart, without any issues.

Cheers, Tbdanny