The Hard Drive MIDI Controller

[shantea] builds MIDI controllers, and after a successful first endeavor with a matrix of buttons and knobs, he decided to branch out to something a little bit cooler. It’s called Ceylon, and it’s effectively a turntable controller built from an old hard drive.

As a contrast to the first MIDI controller, this would be a stripped-down build, with just three faders, LEDs for eye candy, a pair of pots for gain control, and a hard disk surrounded by six anti-vandal buttons. The hard disk is the star of the show, acting as a rotary encoder.

When manually spun, the hard disk generates a few phases of sinusoidal waves. The faster you spin it, the higher the amplitude and frequency. These signals are far too weak to be sampled directly by a microcontroller, and for digital control – as in, MIDI – you don’t need to read the analog signals anyway. These signals were turned digital with the help of an LM339 quad comparator. With two of these comparators and signals out of the hard disk that are 90 degrees out of phase, quadrature encoding is pretty easy.

The software for this MIDI controller is based on the OpenDeck Platform, a neat system that allows anyone to create their own MIDI controllers and devices.  It’s also a great looking board that seems to perform well. Video below.

14 thoughts on “The Hard Drive MIDI Controller

  1. Stupid question, but I remembered so that hard drives are using stepper motors, and such as, those could be used to get the disk position, or am I wrong ? Why do you need then the analogue part ?

    1. Nope you are mistaken. Hard drives use BLDC motors (the same kind you might find in powerful RC gear). I can’t think of any storage device now that makes use of stepper motors on the spindle…

      Also there is no such thing as a stupid question, only stupid answers. :)

    2. Hard drives once used stepper motors to position the read/write heads a long time ago, but everything has used a voice coil for the past two decades.

      I remember it was a big deal when I put a 40 megabyte drive with a linear voice coil in my 286-based PC back in the late 1980s, but they became pretty much standard shortly after that.

    3. Even if the hard drive would use a stepper motor to turn the disk this would not mean you can determine the position of the disk by simple digital electronics. Just like BLDC motors stepper motors use coils and magnets to turn the motor by applying current to the coils (in a special sequence generated by a controller)
      The other way round when turned by hand the magnets induce charge in the coils and you can measure these analogue values and convert them to digital signals.

  2. Hard drives use a voice coil much like what is inside a speaker to move the head assembly.Very old hard drives used to use stepper motors, back in the day of 10 MB drives

  3. Well done!
    In a sidenote: Using a stepper as an encoder can be done as well, I have an old signal generator here using a NEMA14 for input.
    I don’t know if sensorless BLCDs could be utilized this way (one could argue that manual turning induces way to small swings on the powerlines), but there was a generation of BLCDs with hall-sensors found in CD- and DVD-drives. Those would make nice stepless encoders…

  4. If I can count the pattern on the wheel, I count the typical 3 phase times 4. Hence the 90 degrees is incorrect. I have played with the audio directly from a disc motor, It makes a fat bass sweep down to a floor shaking end. I don’t know how a spinner works in the MIDI DJ world, but there are just 12 or 24 ticks per rev in the use of a hard drive motor. This seems to be not enough per rotation. Kind of like low gear.
    Now use one of those head position motor drives from 20 years ago. You will get 100 or more ticks per rev and can feel them lightly. Hook it to audio and spin the knob without flywheel and get scratch’n sounds. The ones I have seen are 5 phase. You would have to mount a flywheel. This might be too high a “gear” but with a disc-flywheel stack it should give a mouse wheel feel. Keep polishing the disc, eventually they tarnish.

    1. >>but there are just 12 or 24 ticks per rev in the use of a hard drive motor.

      Indeed, and as I mentioned in blog post, it’s not meant to replace optical encoder, it was more of a proof-of-concept thing, so it works rather nice for what it is.

      Thanks Hackaday for publishing!

    2. Just a thought: MIDI loves 24 ppqn to which your 24 ticks per rev could be useful. Not the most robust controller, but it could provide another route for syncing some other function.

      @shantea nice looking build :)

  5. hard drives have always used brushless motors for the spindles even in the 20 meg hard drive made by miniscribe used in the external and internal drives in the macintosh plus and se.

    also the spindles in floppy drives however some older floppy drives like the trs80 pc used brushed belt driven motors.

    all floppy and hard drives up until the 90’s used stepper motors for the read write assembly.

    today’s hard drives use a coil of wire on the end of the read write arm and high power magnet sort of like a linear motor

    if you can still get floppy drives now they use stepper motor for the read write assembly.

    1. How are you helping? Complaints are a source of annoyance, and nothing more. Be more constructive. No part of Hackaday’s mission is to provide only new hacks, by the way. Have you not seen Retrotacular?

      1. The name suggest that its a hack a day. that would be indicative of it being different hacks that are covered. And this site has already covered this subject matter just seems repetative

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.