Arduino Forum

Topics => Device Hacking => Topic started by: kriista on Mar 22, 2011, 03:15 pm

Title: Making a hard disk clickity-clack
Post by: kriista on Mar 22, 2011, 03:15 pm
So I'm working on the development of an instrument that will, when it's done, be about 4 computer hard drives, 'open face' where they would acoustically be clacking/reading away.

Would it be possible to control a hard drive that way with an Arduino? As in the arduino itself driving the harddrive (not power wise, but control wise).

The idea I have is that, on being triggered, each hard drive would start reading/clicking and then die out (doing less and less). This could be triggered over and over.

I plan on building all of them onto a resonant (wood) enclosure to help amplify them a bit, but I definitely want to keep the computer out of it and do everything in the Arduino (if possible).

I also don't know what type/era of hard drive would be best for this type of work.
Title: Re: Making a hard disk clickity-clack
Post by: Simpson_Jr on Mar 22, 2011, 04:53 pm
Can't tell you much about HDs, but maybe this one's interesting as well.

http://www.codeproject.com/KB/system/floppystepper.aspx (http://www.codeproject.com/KB/system/floppystepper.aspx)
Title: Re: Making a hard disk clickity-clack
Post by: mowcius on Mar 23, 2011, 11:53 am
Quote
The idea I have is that, on being triggered, each hard drive would start reading/clicking and then die out (doing less and less). This could be triggered over and over.


You can control the VCMs easily enough with a motor driver chip or even just some transistors and PWMing it.

They're what make the head move and make it 'click'.
Controlling the motor itself would be more tricky but most hard drives will spin up the motor even if nothing else is connected apart from power so you could control the power to the HDD with a transistor and just turn it on when you want the motor to spin.
Title: Re: Making a hard disk clickity-clack
Post by: kriista on Mar 23, 2011, 12:01 pm
Not interested in spinning the platter at all, actually thinking of using them as rotary encoders to control other things.

Title: Re: Making a hard disk clickity-clack
Post by: mowcius on Mar 23, 2011, 12:36 pm
Ok - just throught I'd mention it.

The VCMs are easy enough to control - just play around with a transistor and a voltage :)
Title: Re: Making a hard disk clickity-clack
Post by: kriista on Mar 23, 2011, 12:40 pm
Is VCM the name of 'the arm thingy' ?

Would it just be a matter of sending it voltages so it goes full one way, then full the other way, to make the clicking sound? That seems fairly easy. I was assuming it would need actual read/write information to get it moving.
Title: Re: Making a hard disk clickity-clack
Post by: mowcius on Mar 23, 2011, 12:59 pm
It's called a VCM (voice coil module - don't ask me why) and yeah it's the name of the 'arm thingy'.
They reside to one end due to the magnetic field on them, then you send a voltage to get it to move to the other endstop. You can then remove the power and it will click back to the initial position endstop.

It's pretty simple.

People have used them for laser projectors (I'm kinda in the process of doing this) - by PWMing them you can get them to go to a specific position rather than just flick backwards and forwards.
Title: Re: Making a hard disk clickity-clack
Post by: kriista on Mar 23, 2011, 01:12 pm
That's perfect. I could probably throw in some PWMing too so it's not always the same 'click' sound, but varies depending on how far back it has to travel.

Have you got a schematic of the hardware side of what you're working on?
Title: Re: Making a hard disk clickity-clack
Post by: AWOL on Mar 23, 2011, 01:29 pm
Quote
I also don't know what type/era of hard drive would be best for this type of work

Not a recent SSD one, for sure!

Quote
It's called a VCM (voice coil module - don't ask me why)

Because it is the same mechanism used in a loudspeaker - a coil in a permanent magnetic field.
Modern ones have a circular action, but early ones were linear.
Title: Re: Making a hard disk clickity-clack
Post by: mowcius on Mar 23, 2011, 02:09 pm
Quote
Have you got a schematic of the hardware side of what you're working on?

Nope - just stick an arduino output to a transistor gate (2N3904 or something should work) through a 1K or so resistor and connect the VCM to +V (something as low as 1.5V works but I'd go with 5V or higher) and the other side of the VCM to the transistor collector, transistor emitter to ground.

Mowcius
Title: Re: Making a hard disk clickity-clack
Post by: kriista on Mar 23, 2011, 02:49 pm
Sweet, I'll give that a go.

Now I just have to find a sufficiently old/loud harddrive to make this worthwhile (modern ones are so quiet).
Title: Re: Making a hard disk clickity-clack
Post by: mowcius on Mar 23, 2011, 03:00 pm
Quote
Now I just have to find a sufficiently old/loud harddrive to make this worthwhile (modern ones are so quiet).

They're not so quiet when you have the case off and when you are making the VMC hit the end stops. Hard drives don't normally click because the VCM is controlled so it doesn't hit the end stops. Something like an old 40GB Maxtor works fine (and you can get them from anywhere - they were used an awful lot around the millenium - and many servers/desktops died an early death because of them :P )

Mowcius
Title: Re: Making a hard disk clickity-clack
Post by: EyeMWing on Mar 26, 2011, 04:07 am
Just hook onto the voice coil as if it were a speaker and pipe some analog signal at it. Heck, pipe some music at it. Literally any magnetic-platter hard drive will work - from the first one to the ones they'll be building Next Tuesday. You just might be surprised at the result - they're actually quite good speakers.

If you're looking to use them as a percussion insturment, just throw them all the way to the bump-stops for a satisfying CLACK.

The easiest way to get access to the voice coil is to pop off the PCB on the bottom (discard it, harvest it for parts, whatever) - that PCB will mate to either a ribbon cable or terminals at two spots: the hub of the main spindle, and a second set with 4+ pads near the hinge for the arm. Poke around on those 4 pads (I recommend using bare speaker wire connected up to a nice, loud radio) and eventually you'll find it the right two connections. You don't need to apply any power at all to the hard drive unless you want to pin up the platters - a lot of drives make some pretty cool sounds on spin-up, so you may want to look into that, too. The spindle motors usually respond well to 12vDC.
Title: Re: Making a hard disk clickity-clack
Post by: kriista on May 06, 2011, 09:43 pm
An update on this stuff.

I did a bunch of testing at a friends house who has oodles of old HDs. After testing over 10+ drives I found that Seagate "Medalist" drives were the best (clocking in at 2gb on two platters).

The way they are built makes it easy to access the voice coil. The click is satisfying/clear, and once you remove the little rubber bumper that helps preventing the clack, it's even louder.

I have two identical drives now, and each has it's own unique sound, which is interesting.

Here is a pic of the testing:

(http://i198.photobucket.com/albums/aa78/xgoddess1/hds.jpg)

(the seagate is the bottom/left most drive)

Now as to driving them. We started by just sticking the speaker out of a home hi-fi setup and it worked right off the bat (once we found the points to connect to). Music sounds like music but very quiet/tiny sounding (like a DIY turntable with just a needle going into a cup).
We setup a puredata patch to spit out low frequency squarewaves that changed pitch and rate of change randomly.
This worked the best as it threw the needle around pretty nicely.

At the right volume level (as in, hi-fi volume crankedness) you get the most awesome clickity-clack going.
The problem (at the moment) is that it has to be very loud. Like plugging the speaker back in is "we're have a house party and our neighbors asked us to turn it down" kind of loud. His hi-fi is rated at 40w (or was it 60?), point is, pretty high, and out of reasonable battery powered volume.

I tested it just now, for fun, with my 386-based pocket amp and it made not even a blip.

I really want to build this into a self-standing wooden enclosure, so I want to avoid having a massive power amp in there, then of course is the problem of producing the actual audio. Since squarewaves aren't too weird I figure an Arduino can spit that out and it's low power consumption.
Title: Re: Making a hard disk clickity-clack
Post by: AWOL on May 17, 2011, 09:04 am
I smell spam.
Title: Re: Making a hard disk clickity-clack
Post by: RanTalbott on Jun 22, 2011, 03:28 pm
Quote
The problem (at the moment) is that it has to be very loud

I don't think it's possible to get "very loud":  very loud speakers have cones that make it possible to transfer large amounts of energy to the air.  By comparison,  HD head assemblies are downright "aerodynamic".  Not much surface area to create air pressure.

If all you want is clicking or buzzing,  something like an L293D H-bridge is a fairly cheap way to drive the voice coil with square waves.

Or this guy (http://www.bgmicro.com/ICSL165.aspx) might give you more oomph than an LM386 for driving it with an analog signal.
Title: Re: Making a hard disk clickity-clack
Post by: kriista on Jun 23, 2011, 04:42 pm
Interesting. I was actually going to go with something like this:

(http://electroschematics.com/wp-content/uploads/2008/07/1-chip-40w-audio-amplifier-schematic.gif)
http://electroschematics.com/513/1-chip-40-watt-amplifier/ (http://electroschematics.com/513/1-chip-40-watt-amplifier/)

I've ordered the chips already, but not placed the other for the caps and all the rest yet.

I also tested a straight 9v battery across the pins and it worked too. It slammed the head all the way one way (and I would presume it would slam it the other way if I sent it -9v).


I've not used an H-bridge before.
What I want to do is get the voice coil to bounce around (hard), so it makes an audible clacking/clicking. Using the audio amp as a driver seemed to have the cool side effect of actually amplifying (acoustically) the squarewaves I was sending it, so you would hear the squarewaves as the head moved around on the platter, and if it was loud enough, that would move the head around enough to hit the end posts, which would then make an even louder click.

So would I hook the L293D up something like this?

(http://luckylarry.co.uk/wp-content/uploads/2009/07/arduino-L293D-DC-motor-control-circuit.jpg)
http://luckylarry.co.uk/arduino-projects/control-a-dc-motor-with-arduino-and-l293d-chip/ (http://luckylarry.co.uk/arduino-projects/control-a-dc-motor-with-arduino-and-l293d-chip/)

Also it looks like the L293D has 4 outputs. Does that mean I can control 4 voicecoils with it?
Title: Re: Making a hard disk clickity-clack
Post by: mykiscool on Jul 23, 2011, 10:21 pm
Get an old scrap hard drive that barely works except for the motor or has almost no memory. It would be a shame to waste a good hard drive on a device to annoy your little brother or sister or parents. You may be better off just using some motors with a clicker of some type hooked onto them. Maybe a dog training clicker would be a cool noisemaker.
Title: Re: Making a hard disk clickity-clack
Post by: mowcius on Jul 23, 2011, 10:24 pm
Quote
Get an old scrap hard drive that barely works except for the motor or has almost no memory. It would be a shame to waste a good hard drive on a device to annoy your little brother or sister or parents.

Have you even read the rest of the post?

You also obviously have no idea how many scrap hard drives we all have lying around - I can see at least 10 from here. Some are broken, some are just less than 40GB or so and about 10 years old - I'm not going to trust my data on one of them...
Title: Re: Making a hard disk clickity-clack
Post by: kriista on Oct 06, 2011, 07:25 pm
Sorry to necro this thread, but I got around to making a quick video recording of the stuff.

http://rodrigoconstanzo.com/hds/

This is two HDs in "stereo" being driven by a home stereo and Max/MSP.
Title: Re: Making a hard disk clickity-clack
Post by: motorhead on Oct 24, 2011, 09:56 pm
Hi Krissta, great thread! I'm trying to do the same thing I think. I want to click the head back and forth really fast to play a tune.

After reading through this thread and various others I've confused my self a bit. Can you or anyone confirm if I am on the right lines?

I have been looking at the H-bridge SN754410 because I can get hold of them pretty cheaply and easily. Is this the kind of bridge I would need to control a VCM in a hard disk? Also look back to the picture you posted of lots of disks, does this only work with certain types of hard drive or generally any that use a VCM?

I have the following hard drive (with the lid off: http://i55.tinypic.com/15d9xqw.jpg) and after turning the arm upside down I found these two pins, does that look like I'm barking up the right tree? (http://i52.tinypic.com/2vb0iyt.jpg)

Many thanks for your time :)
Title: Re: Making a hard disk clickity-clack
Post by: kriista on Oct 24, 2011, 10:19 pm
Howdie,

Yeah I tested tons of different harddrives. The principal/approach worked with most of them. I believe it would work with all of them given you have access to the right pins. It's easier to get to on some. I also found that the 'above surface' kind sounded better, and were easier to work with. The one you have is kind of recessed in, which minimizes some of the sound of the platter/arm and makes it hard to get to the points.

I accessed my points where the ribbon meets the flat part, as if you solder right to those wires it will eventually break as it'd be moving all of the time.

I also used a straight up audio power amp to drive the VCM. So I'm going from the audio out of my computer into a home stereo, and the speaker out from that going into the HDs.

Hope that helps. And post any results you get!
Title: Re: Making a hard disk clickity-clack
Post by: opkach on Dec 18, 2012, 11:22 pm
Hello! I have recently started to look into the idea of using an Arduino to interface with an old hard drive spindle. I took apart an old 30GB Maxtor from an old mac tower but i've been having some issues. I looked through this thread, which was extremely informative but I was curious if anyone had a diagram of the schematic that was mentioned on the first page of this thread. Does anyone know of any good tutorial sites instead of just a video and a code example? I've been having a hard time with this and I its slowly getting to me that I can't figure it out. Any ideas?
Title: Re: Making a hard disk clickity-clack
Post by: kriista on Dec 18, 2012, 11:36 pm
Take a gander at this:

http://gieskes.nl/instruments/?file=analog-HD
Title: Re: Making a hard disk clickity-clack
Post by: int0x13 on Mar 23, 2013, 03:59 pm

Sorry to necro this thread, but I got around to making a quick video recording of the stuff.

http://rodrigoconstanzo.com/hds/

This is two HDs in "stereo" being driven by a home stereo and Max/MSP.

Hello, your link is dead. Can you fix it? Im surprised, you seem to be a good musician and electronic man, i didnt know it was existing!
Title: Re: Making a hard disk clickity-clack
Post by: kriista on Mar 23, 2013, 04:05 pm
Thanks!

Whoops, I was cleaning up my webpage, and I had forgotten I linked it up here. I'm away at a festival at the files are on my external HD back home, but I'll upload it as soon as I get back (start of the week).
Title: Re: Making a hard disk clickity-clack
Post by: kriista on Mar 24, 2013, 06:51 am
Ok, videos back up at http://www.rodrigoconstanzo.com/hds