Several usb cables supplying power?

Is it good practice to take power from several usb cables to connected Arduinos?

The intention is to use a laptop with about 4 Arduinos when bicycling. The laptop battery would be the main source of power for everything (except negative voltages).

I have connected the ground pins of the 4 Arduinos together. I have not connected their +5 V together, but each arduino uses its own usb power cable from one laptop (or one desktop) computer.

I need to measure voltages in millivolt range, so "ground loops" (?) should be avoided. Arduino's might need more power than one usb cable can provide.

So far everything has worked without smoke, including sending data with spi between arduinos and with print commands to the desktop. Perhaps lucky?

What about connecting also 5 Volts from the usb cables together? No?

What about connecting also 5 Volts from the usb cables together? No?

I would not. Each PC's USB port has current flow protection and wiring all the arduino's +5vdc together would probably cause an imbalance or confusion of current flow and possibly cause the PC to shutdown a USB port(s). So maybe not damage, but who knows for sure, just not something I would do to my laptop.

Lefty

I agree with retrolefty. Theoretically the USB ports could be made to handle the proposed situation. However, you really don't have a way to know if that's true, and trying it could mean seriously damaging your laptop. Furthermore, given the desire to reduce volume, mass, and production costs; I doubt most laptop manufacturers would make the USB ports that robust in a consumer model (a ruggedized model intended specifically for industrial/military/remote field work could be another matter though).

An alternative would be to use a commercially available back-up power pack made to recharge multiple portable devices simultaneously, like this one (I haven't used this specific model, it's just an example). Or wire plugs for each of the Arduinos' barrel jacks to a separate battery (perhaps a spare laptop battery so you don't have to worry about a separate charger) and, depending on the battery's nominal voltage, some step-up/step-down circuitry.

Your laptop probably only contains a single powered hub and you may find it gets unhappy if you ask multiple USB ports to go into high current mode at the same time and then try to draw the maximum rated USB current from them all. You can only try, but I wouldn't be too surprised if you find that some of them revert to low current mode resulting in a brownout at your Arduino.

You might also need to take some additional steps to keep the USB ports powered up while you're cycling. You should try to avoid keeping the disk powered up, but I suspect you may need to keep the laptop awake to keep the USB ports in high current mode, and you may need to do some poking around in the power management features to achieve that.

It may not be the most convenient solution, but it seems to me that providing a separate battery capable of meeting the total current requirements of your Arduinos may be the safer bet here.

Very useful viewpoints everyone, thanks.

The laptop is Acer's mini, which has 3 usb connectors. If they give 100 mA each, that is probably enough. I do not know if 500 mA can be taken with certainty; at least one Arduino nano clone is not recognized if powered with op amps connected etc, but works well, when amps are connected afterwards.

The ground level can be connected everywhere, I assume. But I do not take risks with 5 V.

If hard disk can be stopped but display lit and usb communication going that would be nice. The laptop is in the shopping basket with lots of soft material around, but one cannot be too careful with it.

Hi, Do you need the 4 USB's for Communications? Or some of them just for power?

Either way, you can probably butcher (AKA Modify) some USB cables to supply the +5V from a different source.

optimistx:
If hard disk can be stopped but display lit and usb communication going that would be nice. The laptop is in the shopping basket with lots of soft material around, but one cannot be too careful with it.

Well you could consider using a SSD disk with no moving parts instead of a traditional disk. You have less space and it is more expensive per GB, but it should be more shock resistant. Before SSD's people often times used compact flash cards as disk replacements in embedded systems that could not use traditional rotating disks.

terryking228:
Hi, Do you need the 4 USB's for Communications? Or some of them just for power?

Either way, you can probably butcher (AKA Modify) some USB cables to supply the +5V from a different source.

The laptop is mainly a datalogger. Each sensor group is connected to the laptop through its own Arduino to keep the system utmost simple and modular.

Each Arduino can be tested easily separately with its host, with power also. I have tried to write nice programs over 40 years, but never succeeded with complicated large programs; they become "do not touch me anymore" -thingies. But sometimes small programs become satisfactory and inspiring, fun to write and read ;). Like Arduino example sketches. So there might be even more than 4 usb cables ... each with a simple Arduino sketch and very few circuits.

Might be that later the power is not more supplied through usb, and the communication might be w bluetooth.

An alternative approach is to ditch the laptop, and get SD shields (or EEPROM) for each arduino, and let each one do the logging, and then combine them later on the laptop. You probably need a RTC (real time clock) on each arduino to get the timestamps right.

Could you add an external powered USB hub and provide power from an extra battery + regulator? That way the external battery would provide the necessary extra power for the Arduinos and you would only be using 1 USB port on your laptop.

optimistx:
The laptop is mainly a datalogger.

You didn't say what form the logger was capturing the data, but you might be considering just writing it to an HD.

That's quite a risky thing to do on a laptop that is being subjected to vibration. If you write to an SD card or USB flash drive, you can leave the HD safely powered off.

MichaelMeissner:
An alternative approach is to ditch the laptop, and get SD shields (or EEPROM) for each arduino, and let each one do the logging, and then combine them later on the laptop. You probably need a RTC (real time clock) on each arduino to get the timestamps right.

This is so good an idea that I already did that :slight_smile: . SD card with modified Arduino SdFat library worked fast and without problems. Time needed to be syncronized every now and then to give correct time stamps to observations.

PeterH:
You didn't say what form the logger was capturing the data, but you might be considering just writing it to an HD.

That's quite a risky thing to do on a laptop that is being subjected to vibration. If you write to an SD card or USB flash drive, you can leave the HD safely powered off.

Yes, I already destroyed 2 hard disks with vibrations :cold_sweat: , not outside when biking but by attaching the bicycle to my desk. The desk got hardly observable vibrations from the bicycle when pedaling.
In addition to logging sensor data to the laptop there will be some controlling actions too. E.g. the host might control the power of the electric hub motor of the bike (pedelec) to keep my heartbeat within planned limits. If there will be a need to do fast calculations it is good to have 2 000 megaherz host available instead of 16 megaherz Arduino. Python programs would be small, easy to write and nice to look at. Perhaps a tablet computer with Python, Arduino developement ide, if such a tablet exists, with keyboard.

All entries in this thread are very interesting and useful, thanks. More opinions are welcome, of course.