Arduino Controlling Hard Drives Power


I'm building a NAS using an ARM board with PCIe (NanoPI M4v2) for domestic use. My goal is to use 12 x 3.5" HDDs that are currently connected to the same ARM board using cheap SATA to USB adapters.

I don't need to have all HDDs always ON so I was thinking about using an Arduino and some 2N222 or TIP220 transistors I already own to switch the hard drives power lines. My idea was to use a low side circuit like this:

Now, my considerations:

  • I like the idea of using a low side because hard drives require both 12v and 5v power, however their ground is shared - meaning I can toggle one ground wire per HDD instead of having to deal with 2 power lines;
  • I dislike the idea of using a low side because ground / the collector might be slightly above 0v... and HDDs are sensible electronics;
  • Relay boards from eBay with transistors and optocouplers might be a solution, however they're more expensive than what I already own and they consume more power. I would really like to have something that I can have between 2 and 4 disk always online and the rest powered off until they're needed.

Does anyone have some tips for me? Have done this / thinks my idea is unsafe?

Thank you.

Reading Your explanation and seing the pictures later, it ought to be safe.

What do you mean "disconnect all signal cables"? Can't I simply un-mount the hard drives in the OS and then cut the gnd?

Does that disconnect the IO pins on the drive that are connected to the USB adapter ?

I guess not, consider the adapter I'm using:


After I un-mount the hard drive in the OS I can safely toggle that physical power switch on the back.

However, between unmounting the HDD and toggling the switch the OS is still able to communicate with the hard drive and mount it if I order it to do so. Because of this I assumed that after unmounting it's safe to toggle the power down - the adapter does it all the time with the physical switch.

Complete nonsense. :roll_eyes:

Is that a leg pull? :astonished:

Please elaborate...

Nah, it's bedtime for me! :sunglasses:

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.