## Step 3: Probing the Motor Output

This is not really a necessary step, but more an illustration of what exactly we are trying to do.

If you have a access to an oscilloscope with multiple inputs, connect three of them to three of the wires soldered to the spindle motor contacts in the previous step (it doesn't matter which three). Connect the probes' ground clips to the fourth wire, then set the platter spinning.

The scope images below show the three waveforms that are generated when the HDD platter is spun by hand (the scale is set to 500mV per division in the vertical axis, and 20ms per division in the horizontal axis). Three perfect phase-shifted sinusoidal waveforms!

The three different pictures show what happens to the waveforms as the platter gradually slows down: they all decrease in both frequency and amplitude by the same amount.

These waveforms carry a lot of information, not only how fast the platter is spinning, but also in which direction it is spinning (clockwise, or anti-clockwise). More on this later.

The raw signals, as generated by spinning the motor by hand, are simply too subtle to be sampled directly by a microcontroller, so the next step is to amplify them into useful levels.

<p>Quick, possibly silly question. Could you connect the pins of the hard drive encoder to the X-axis pins of a mechanical mouse? That way you wouldn't have to bother with a microcontroller or external drivers... it would just work right away. It would be great for playing games like Arkanoid, Tac-Scan, and Cameltry in MAME.</p>
Can you let me know the code for Arduino for the same project, I want to try it using Arduino.....
Hey, my HDD only had three wires (im guessing a motor in a &quot;whye&quot; config) but it gave me an idea. use the green wave as the reference for the other two (save urself an opamp) and it will output a grey code like a rotary encoder! this will also improve your resoloution since a 2-bit grey code has four states per revoloution, while your three-phase setup gives three per rev. it goes like this- Green wave is higher than other two= 00, green goes below red=10, yellow goes up above green allong with red= 11, red starts to fall below green while yellow stays = 01 - This pattern will repeat and give you four steps per rev while saving an exta op amp! ill try it out and let you know :D
<p>Did it work? ^^</p>
<p>Which program is need to make up HEX ?</p><p>MPLAB ? or any other programs ?</p><p>I got stuck in errors... Please help me any body...</p><p>my address is staybesideyou@hanmail.net</p>
What is the purpose of 1k resistors in series with + signal?
<p>Those opamps are not working as linear amplifier but as schmitt trigger comparators. The ratio beween the 10K and 1K resistors and depending of the output high/low voltage determine the hysteresis.</p><p>That's used to turn the sine wave into a square wave that can be proccesed by the MCU. It could work without a schmitt trigger, but somewhen the output could take uncertain values.</p>
incomprehensible
I think you meant &quot;inconceivable&quot;.
Just tested it, and it outputs the Grey Code as expected and behaves just like I imagined. Tesla would be proud :D
yes tesla would be proud
sorry to ask such a basic question, but the zigzag lines on the schematic are capacitors, right?
no the zigzag lines are resistors
What if my hard drive only has 3 connections to the motor<br>
Then you should find the &quot;center&quot; one using an Ohmmeter and _not_ use that one. See the right image in http://en.wikipedia.org/wiki/File:Wye-delta.svg
Hmmm, I just realized that this project relies on all four wires. Sorry, I don't know how to fix it :)
Wow, what a way to steer a boat.<br>Like flipping the disk, each few revolutions being a degree of turn and then when you stop the disk, the processor nulls the rudder. Would make it so easy to navigate with a GPS in a narrow area. Some ideas on how to implement hydraulic or heavy servo mechanics using the control output of your design.... gonna look that kind of scenario up... <br>Thanks!
awsome idea<br>
Instead of a LM324D, Can I use a LM386?
&nbsp;Solder what kind of cables, standard electrical cables or audio or video cables?
There isn't much of a difference between the two...
22 gauge wire will do fine :)
WANT A PARTS LIST, And can somebody tell me, how can I put files into microcontroller, or can I ask to write files there in a radio shack?
no you can't bring it to radio shack but you can make your own software using an avr microcontroller and the usb keyboard and mouse library. it's a bit of a task but you could learn allot if your new to microcontrolers
You have to read some books about PIC. <br>If you are a beginner of PIC, I'll recommand you an easy book. <br> <br>Add me up as a MSN friend, &quot;staybesideyou@hotmail.com&quot;
You need a microcontroller programmer.
incomprehensible
could this be done with the old spinny drums from VCR's, i think that that would look boss.
Does the hard drive needs to be powered or I'm missing something here?
no. It does not, When you spin the platter it creates about 500 mv thats why you need a amplifier
I'm somewhat confused. The sine waves show three phases spaced at 120deg apart, and this implies that the fourth wire is some kind of common. This conflicts with the idea of &quot;pick any three&quot;, because one is special.<br><br>Then, the outputs of the comparators show two signals in quadrature (90 deg apart) and one signal that is the inverse of one of the first two. Doesn't seem like the same device is being shown.<br><br>With four wires all alike, I'd expect them to be 90 deg apart, so there would be two pairs of inverse signals, with one pair leading the other by 90 deg. With three wires and a common (wye) I'd expect the three wires to be at 120 deg apart.<br><br>Do your pictures represent two different disk drives, wired differently?<br><br>Thanks for the instructable -- I'm going to try it myself.
I'm gonna implement this as a scrollwheel. A very fast scrollwheel. ;)
hehe just realised I'm using exactly the same HDD as you are in the instructable :D<br>It's an IBM Desktstar, isn't it?^^<br>Really cool idea, my friends are gonna be like &quot;wtf?&quot; :D
can you make a schematic for JUST the rotary part no buttons or fader or lights and stuff because im thinking of using one of these for the most legit steering wheel ever for pc gaming
one prob though. Once the platter stops rotating it gets a little upity. the lights blink with the slightest vibration of the whole thing, but once the platter is rotated again, its running smoothly. I Imagine this oversensitivity could be corrected with a high value resistor, or low value capacitor
It should also give you some error detection. like, it is impossible for it to go from 11 to 00, or vise-versa, so you can tell it is misreading either by going too slow or too fast and ignore the reading
A couple months back I got this working. I used a Parallax basic stamp 2sx. Used an oscilliscope to find the correct pins. From there I connected them to the comparator (quad comparator in my case) and fed those to the stamp. It took me a few hours, maybe even a full day, but I got it working. I then took the serial out of the stamp and had that spit out to my desktop running virtualdj. Using midiYoke and some other stuff I changed the serial data to virtualdj midi commands. After that I could spin the disk and have the track play. The next step I have planned is to rebuild this setup and introduce a speed controller. This will allow me to set the speed of the disk by hand, press a button and have the speed controller maintain the disk spinning speed.
Minor correction: &quot;a very simple process&quot;. Change to: &quot;a very simple process for an electronics engineering graduate with access to a lab for etching their own PCB.&quot;
I'd pay for one of these !
can u pleas send the HDDJ zip which is working pleazzzzzz
Very very cool. I love the cubic fader tool in your paper too. It makes me very happy to be alive at this time when people are sharing brilliant ideas incorporating fun, music and technology. Makes me wish I was more focussed at university! Great work!!!
Very Cool. Adding this one to my to do list. I want to adapt or use in windows movie maker for a shuttle knob. Maybe size the platters and the case down to something more convenient that does not take as much space. Good instructable. Great idea.
Thanks for the instructable! I got one working with an Arduino:<br/><a rel="nofollow" href="http://www.youtube.com/watch?v=qaL5syVlae0">http://www.youtube.com/watch?v=qaL5syVlae0</a><br/><br/>I posted the Arduino code here:<br/><a rel="nofollow" href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1251656637/0">http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1251656637/0</a><br/><br/>Not quite how you did it, but I wouldn't have figured it out without this instructable. I used an old 1st gen iPod HD, and I only needed 2 pulse signals, amplified with LM386 op amps (would have used a LM358 dual opamp if I had one handy.)<br/><br/>It sends usb MIDI commands, routed by this program:<br/><a rel="nofollow" href="http://www.spikenzielabs.com/SpikenzieLabs/Serial_MIDI.html">http://www.spikenzielabs.com/SpikenzieLabs/Serial_MIDI.html</a><br/><br/>to a shoddy Max/MSP patch that I threw together.<br/>
Sweet. What about with different inputs? Like actual tracks?
i got a question though, how do you connect the usb cable to the op-amps, or where does it play it's role on the schematics? i ask this because i'm really temped to try but never done usb stuff like this before
kbishop, if you mean my Arduino version, the Arduino communicates with the computer over USB, and it also powers and senses the output of the opamps. <br/><br/><a rel="nofollow" href="http://arduino.cc/">http://arduino.cc/</a><br/>
My kind of fun-zeyz.
&nbsp;too cool<br /> <br />
&nbsp;this thing is awesome ..................................can i have the parts list too ................i sure am gonna try tp make this thing...................thankx
can I please have a parts list 2