{"id":837,"date":"2013-01-16T21:29:54","date_gmt":"2013-01-16T20:29:54","guid":{"rendered":"https:\/\/andyland.info\/wordpress\/?p=837"},"modified":"2018-09-16T16:35:35","modified_gmt":"2018-09-16T15:35:35","slug":"harddisk-turntable","status":"publish","type":"post","link":"https:\/\/andyland.info\/wordpress\/harddisk-turntable\/","title":{"rendered":"Harddisk Turntable"},"content":{"rendered":"<p>This is my attempt to build a Midi turntable (a.k.a. Jogwheel) from an old harddrive.<\/p>\n<p>Some time ago I came across this (rather famous) article:<\/p>\n<p><a href=\"http:\/\/www.slipperybrick.com\/2008\/11\/a-hard-drive-hacked-into-a-turntable\/\">A hard drive hacked into a turntable<\/a><\/p>\n<p>What they basically did here is to take an old harddrive and connect the motor via a set of op-amps to a microcontroller. When the platter is moved the motor (now actring as a generator) will produce signals that can be analysed by the \u00b5C and used for generating Midi out.<\/p>\n<p>So far so excellent. But the deeper I got into the topic the more it became clear that this wasn&#8217;t the best solution for me since the article states that very small and slow platter-motion isn&#8217;t detected reliably.<\/p>\n<p>That&#8217;s why I started building my own version of a harddisk turntable using the optical sensor of an old mouse.<\/p>\n<p>Here we go, it all starts with an old harddisk<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_001.jpg\" alt=\"\" width=\"640\" height=\"480\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_002.jpg\" alt=\"\" width=\"640\" height=\"480\" \/><\/p>\n<p>I have been dealing with computers for more than 20 years now but this is the only harddisk I had ever problems with. And this probably wasn&#8217;t caused by one of those &#8220;ooh my god&#8230;my harddisk suddenly crashed&#8221;-moments ismply but due to accidentally dropping it while moving to another flat.<\/p>\n<p>So &#8211; this is the first time ever that I&#8217;m taking apart a harddisk&#8230;.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_004.jpg\" alt=\"\" width=\"640\" height=\"480\" \/><\/p>\n<p>I figured out that I had to get rid of two platters because it would make the construction too heavy an dull-feeling.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_005.jpg\" alt=\"\" width=\"640\" height=\"480\" \/><\/p>\n<p>In order for the optical sensor to be able to detect the platter being moved I taped the edge of the platter to give it some structure.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_006.jpg\" alt=\"\" width=\"640\" height=\"480\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_007.jpg\" alt=\"\" width=\"640\" height=\"480\" \/><\/p>\n<p>Fortunately the harddrive motor could completely be detached from the housing. This way I can use it in another case<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_008.jpg\" alt=\"\" width=\"640\" height=\"480\" \/><\/p>\n<p>The mouse was a Logitech RX250 that I had lying around<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_009.jpg\" alt=\"\" width=\"640\" height=\"480\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_010.jpg\" alt=\"\" width=\"640\" height=\"480\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_011.jpg\" alt=\"\" width=\"640\" height=\"480\" \/><\/p>\n<p>The sensor is of type A5020E. Fortunately I found an Arduino library for this device <a href=\"http:\/\/penti.org\/~alx\/projects\/ADNS-5020-EN\/\" target=\"_blank\" rel=\"noopener\">over here<\/a>. It&#8217;s a little bit old and in order to make it work under Arduino 1.0.1 you have to exchange<\/p>\n<p>#include &#8220;WConstants.h&#8221; \u00a0 \u00a0 \u00a0\u00a0 against<\/p>\n<p>#include &#8220;Arduino.h&#8221;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 in the .cpp file. That&#8217;s all.<\/p>\n<p>I simply desoldered the sensor and put it on a scrap piece of vector board. This will later be fixed by hotglue-influenced-technology =). the datasheet can be found <a href=\"http:\/\/www.avagotech.co.jp\/docs\/AV02-0365EN\">here<\/a> or <a href=\"http:\/\/www.doktor-andy.de\/files\/AV02-0365EN+DS+ADNS-5020-EN+24Oct2011.pdf\">here<\/a> (if the original site will change or be offline).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_014.jpg\" alt=\"\" width=\"640\" height=\"480\" \/><\/p>\n<p>During the first attempts I found out that it&#8217;s a good idea to keep the clear piece of plastic together with the mouse&#8217;s original LED in order to have the right conditions for the optical sensor&#8217;s illumination. For that reason I cut an appropriate hole into the new case.<\/p>\n<p>It is pretty save to say that I am by far one of the worst craftsmen around&#8230;.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_015.jpg\" alt=\"\" width=\"640\" height=\"480\" \/><\/p>\n<p>Because I left away two of the three harddisk&#8217;s platters I had some space that needed to be filled up. This piece of foam comes from inside the old harddisk<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_016.jpg\" alt=\"\" width=\"640\" height=\"480\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_017.jpg\" alt=\"\" width=\"640\" height=\"480\" \/><\/p>\n<p>Some hotglue later<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_018.jpg\" alt=\"\" width=\"640\" height=\"480\" \/><\/p>\n<p>At the moment the circuit only exists on an Arduino breadboard. I will fix this later<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_019.jpg\" alt=\"\" width=\"640\" height=\"480\" \/><\/p>\n<p>Proof of concept<\/p>\n<p><iframe loading=\"lazy\" width=\"1333\" height=\"1000\" src=\"https:\/\/www.youtube.com\/embed\/DkGuT6kB4QI?feature=oembed\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen><\/iframe><\/p>\n<p>Normally I try to create all my circuits as clean as possible. Proper layout, exactly the right amount of space, everything neat and tidy. Not this time. I think that from now on I don&#8217;t give a brick about that any more. It&#8217;s way more fun to just go for it with as little space left as possible. Trains your soldering skills as well.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_022.jpg\" alt=\"\" width=\"640\" height=\"480\" \/><\/p>\n<p>I could&#8217;ve left the voltage regulator since it only causes problems. There isn&#8217;t even a reason for it since the device will be USB-powered and USB has relatively exact 5 Volts so why care&#8230; anyway, I didn&#8217;t want to desolder it&#8230; yet.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_031.jpg\" alt=\"\" width=\"640\" height=\"480\" \/><\/p>\n<p>The USB interfacing is done via one of my all time favourite hacks. I once bought about 15 ultra-cheap USB-to-MIDI convertors (~6\u20ac each) and I use one everytime I need USB-Midi\u00a0 in one of my Projects. (Those where you only have a cable with USB on the one and two MIDI conectors on the other side. In between is a circuit taking care of all the USB stuff etc.)<\/p>\n<p>While doing the finetuning I tried different approaches for the coating of the platter. An untreated harddisk platter&#8217;s motion will not be recognized by the optical sensor so you have to attach some kind of structure to it.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_034.jpg\" alt=\"\" width=\"640\" height=\"480\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_038.jpg\" alt=\"\" width=\"640\" height=\"480\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_039.jpg\" alt=\"\" width=\"640\" height=\"480\" \/><\/p>\n<p>Using plain simple duct tape I was able to yield the best results. The rest will be handled in code.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_033.jpg\" alt=\"\" width=\"640\" height=\"480\" \/><\/p>\n<p>And just as a little side gimmick i added a green led which is lit &#8230;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_040.jpg\" alt=\"\" width=\"576\" height=\"432\" \/><\/p>\n<p>&#8230;when you touch the platter. Oh &#8211; and it sends out MIDI by the way =)\u00a0 The poti is there to adjust the sensitivity of the touch sensor.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_041.jpg\" alt=\"\" width=\"576\" height=\"432\" \/><\/p>\n<p>This picture shows the distance between the platter and the optical sensor. I tried different configurations but it turns out that my initial approach was just about perfect.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_042.jpg\" alt=\"\" width=\"576\" height=\"432\" \/><\/p>\n<p>While thinking about how to actually use this thing I came across a few ideas and added a little more stuff to the circuit<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_043.jpg\" alt=\"\" width=\"576\" height=\"432\" \/><\/p>\n<p>Pressing the left putton will light up the left LED and make the device put out Midi CC #42 when the platter is spun. When the right button is pressed the other LED will light up and Midi CC #43 will be sent upon moving the platter. When the middle button is pressed the Midi Channel will change from 9 to 10 so you can use it for temporary pitchbending, etc. The screw above the LED on the right side is electrically connected to the platter so you have another &#8216;platter is touched&#8217; contact.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_044.jpg\" alt=\"\" width=\"576\" height=\"432\" \/><\/p>\n<p>The whole device came out pretty well. I still have some minor quirks when spinning the platter ~really~ fast but I will give it a test run within the next days before altering the code any further.<\/p>\n<p><iframe loading=\"lazy\" width=\"720\" height=\"540\" src=\"https:\/\/www.youtube.com\/embed\/VMg3spZM-Ow?feature=oembed\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen><\/iframe><\/p>\n<p>[Update 10.11.2013]<\/p>\n<p>I added another poti which makes it possible to change the response rate of the platter (and, of course, I altered the micro controller&#8217;s code&#8230;). That way you don&#8217;t have to fiddle around within software but can easily adjust it on the fly<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.andyland.info\/grafiken\/hdtt\/hdtt_045.jpg\" alt=\"\" width=\"576\" height=\"432\" \/><\/p>\n<p>As a result I found a quite easy to do live video scratching within my favorite VJ-software (VDMX)<\/p>\n<p><iframe loading=\"lazy\" width=\"1333\" height=\"1000\" src=\"https:\/\/www.youtube.com\/embed\/Eeh2Zz4EXRM?feature=oembed\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is my attempt to build a Midi turntable (a.k.a. Jogwheel) from an old harddrive. Some time ago I came across this (rather famous) article: A hard drive hacked into a turntable What they basically did here is to take an old harddrive and connect the motor via a set \u2026 <a class=\"continue-reading-link\" href=\"https:\/\/andyland.info\/wordpress\/harddisk-turntable\/\"> Continue reading <span class=\"meta-nav\">&rarr; <\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","footnotes":"","_links_to":"","_links_to_target":""},"categories":[19,5],"tags":[54,52,53],"class_list":["post-837","post","type-post","status-publish","format-standard","hentry","category-musik","category-projekte","tag-arduino","tag-harddisk-turntable","tag-optical-mouse","odd"],"_links":{"self":[{"href":"https:\/\/andyland.info\/wordpress\/wp-json\/wp\/v2\/posts\/837","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/andyland.info\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/andyland.info\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/andyland.info\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/andyland.info\/wordpress\/wp-json\/wp\/v2\/comments?post=837"}],"version-history":[{"count":0,"href":"https:\/\/andyland.info\/wordpress\/wp-json\/wp\/v2\/posts\/837\/revisions"}],"wp:attachment":[{"href":"https:\/\/andyland.info\/wordpress\/wp-json\/wp\/v2\/media?parent=837"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/andyland.info\/wordpress\/wp-json\/wp\/v2\/categories?post=837"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/andyland.info\/wordpress\/wp-json\/wp\/v2\/tags?post=837"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}