SCRATCH MASTER 3000
The DIY GuideDisclaimer:
All information in this article is offered as is. I the author or warbeats.com will take no resposibility for how you use it. It is for informational purposes and if you want to try this on your own. Make sure you fully understand what you are doing before you do so. In other words, if you blow up your computer doing this, it's on you not us.
Also, this guide was written for the warbeats community. If you decide to post this anywhere else without my permission. I will hunt you down and put you to sleep like a rabid dog. Foreword:
This project started while reading a thread about turntables and scratching in the hardware forums here. Someone (cough the wonderful and great 2nd Man) posted a video on a user made controller for FL Studios Fruity Scratcher. Unfortunately that video involved being fluent in Russian and as such was not easy for everyone to follow. So on account of that fact and the fact that the idea itself is dead simple (in theory) to execute, kinda forced my hand into doing it.
I planned to document the whole process and ultimately to post this guide for the users of warbeats. Unfortunately the powers that be decided that I was only able to work on this brief moments at a time. However the process of building one of these isn't really all that time consuming. Doing it the way I did meant that at times my photography of the process suffered. However I will try to fill in the blanks where the imagery is lacking. What further prolonged my process of completing this thing, was the fact that I wanted to have it looking, if not pro atleast decent in terms of enclosure and finish. If you do not care about the looks of your controller many steps of this guide could be done faster or even skipped entirely.
Things you need:
A optical mouse
Spare bits of wire
A blank CD or another suitable control surface
Something to mount the control surface on
Soldering iron and ten
A small file set
Electrical drillThe Skinny:
In very simple terms, what we are doing today is modifying a optical mouse to work as a scratch controller for FL Studio or any other suitable piece of software. The idea behind the mechanics is to simply reverse the way you use the mouse so that instead of the mouse moving, the surface it is tracking will be moving. Thus providing us with a more tactile control over the scratch movement itself. The mod in itself can be as simple or as advanced you want it to be. In it's most basic form the controller will be transmitting HID (Human Interface Device) messages to your computer. Exactly the way your mouse, your joystick or your keyboard does already. If you wish to further refine the usage of the controller we are building. There is 3rd party software that can translate HID messages to MIDI messages. Effectivly transforming your controller to a full blown MIDI controller.The Process:
- dissecting the mouse
Now don't go purchasing a brand new mouse for this (although they cost next to nothing these days.). You can get one from your local flea market or goodwill store for a buck or two. Depending on your enclosure and how you want to build this thing, you might want to shop around for different models. For example if you want to make a pocket size controller, then one of those tiny netbook mice might be ideal (simply because the form factor is smaller). Different mice have different innards, and there are alot of different PCB designs available. Some Microsoft mice have the PCB split in to two smaller boards, while some Logitech ones utilize one solid board but have a lower profile in their construction instead. This is ofcourse hard to know before you have opened up a couple of these things. So it will pretty much boil down to what you can get and then building the controller around that.
This is our victim:
What ever mouse you got, please make first sure it is in perfect working order. (i.e. plug it in to a USB port, wait for the drivers to load and mouse around to make sure the mouse tracks fine and that every button works as it should). There is no point in doing all of this and at the end realizing that mouse is broken. Don't forget that before working on the controller you have to, UNPLUG THE MOUSE FIRST.
As pretty as your chosen victim is in it's original casing,it's what's inside that matters. We need to get rid of the casing on the mouse for our purposes. How you do this will differ from mouse to mouse, but in general the process is pretty much the same. Most mice have hidden screws under the "gliding" feet stickers they have underneath. Remove the stickers carefully using a exacto knife or something similiar. In most cases this is a simple process, but in some the feet are tightly glued on.
Now with the screws and tabs exposed, we can get to work. just remove all the screws you can see. After that it is simply a matter of wiggling the mouce enclosure so it will come loose from the tabs. Once one half of the enclosure has been removed you will have access to the circuit board and rest of the parts that make up the mouse. Pay attention to the clear plastic piece that is mounted on top of the optical sensor of the mouse. Do not loose this piece and make sure you understand how it should sit on top the sensor before your remove it. (On some mice this sits loosely over the sensor, and on others it is mounted on the circuit board).
Now remove the tiny screws that hold down the PCB to rest of the mouse enclosure. Pay attention to what ever extra plastic tabs there are holding it down aswell (sometimes one or two are somewhat hidden by the components on the board). Remove the board from mouse gently, never use force. If it doesn't come loose right away, then you propably missed a tab somewhere.
Place the insides of the mouse somewhere safe and make sure you are not constantly electrocuting it with static electricity.
Take a break and go get one of these before the next stepStep 2
- Devise a plan
This may seem like a trivial step in the process, but in all honesty this is propably the most important and time consuming part of it all.
Now that you have a clear picture of what size and shape the circuit board of your mouse has. You can start looking for a suitable enclosure (in case you don't care for looks anything will work.) for your scratch controller. This mod is fairly simple and the actual building time involved is nothing compared to the planning of the thing (if you are anything like me, you will start planning for all eventualities).
Decide exactly what you want to do and how it should look. Try to envision a good working position for your hands while designing the enclosure. In my example I opted for a CD as the control surface and wanted to place all three button switches on top of case, so I could if need be operate them all at once. The most diffucult part here is to device a proper support axel for your control surface and at the same time to keep it at the perfect distance from the optical sensor to achive optimal tracking.
If you examine the way your mouse was built, the thickness of the enclosure and the distance the sensor has to the underlying surface (mousepad) you will get a good picture of how far away from the sensor your control surface can be. In my case (the case I built this thing in had rather thick plastic) it meant hovering the CD about 1/2 millimiter over the surface of the case. I also wanted to make this thing look and feel as professional as possible without wasting too much money on it. This meant that my initial idea for a suitable CD axel had to be redesigned (as you will see from the pictures later on). My initial design:
No don't get too discouraged by this. How you do this and what you use as a control surface is entirely up to you, as long as it tracks well with the mouse you use. You can make these things out of a pizza box (see youtube link) if you want to. I however wanted this to be as silent and as sturdy as possible. Hence it took a while to device the perfect riggin for the CD. My initial plan was to use a large bolt coupled with a ball bearing attached to the CD. This however proved to be more trouble then it was worth for a few different reasons. A.) it would mean permanently attaching the bearing to the CD and getting it level. If something would happen to my control surface it would not be easily replaceable. B.) Ball bearings with the same outer diameter as the center hole in a CD proved to be kinda hard to find at a decent price.
So I eventually opted for slaughtering a old defunct CD-ROM I had lying around and ripping out the magnetic CD holder out of it. Mounting this thing in my case at the proper distance from the surface still had its difficulties. I firstly had to expand the inital axel hole to accomodate the much larger piece. I then had to devise a stand for it from scrap pieces of metal and plastic so it would keep the CD level and at a perfect distance from the surface of my case. But this also meant that I can switch CD's just as easy as I would replace one in my stereo. (it also means I could in theroy use some resistors and have the control surface spin at a flick of a switch. Not much use for it tho apart from the estetics
How you build your rig is largely up to you. Not everyone has spare CD-Roms lying around. Other more "pro" ways of doing this could include the above mentioned ball bearing set up. Other way to do this is to try and find a old used portable or other CD player for cheap somewhere. If you are shopping for one, spend some time looking for one that has one of those snap on CD holders instead of the 2 piece magnetic ones. Or if you have access to tools and a little engineering know how, you will propably be able to rig this up even better without my advice. In case of emergency a simple disc of cradboard and a push pin will do just aswell. Just don't expect it to be consistent in tracking or to last forever.Step 3
Now that you have a plan for how and where everything should be mounted. You will need to extend the mouse buttons from your circuit board to where you can usefully reach them. (you can always skip this step if you plan to use something else for controlling the mute etc. functions in your program, but I find it useful to have it all on one control surface).
Most mice feature simple two pin push buttons on the PCB, which is nice. First of you don't need to take care of which way you mount your new buttons, becasue it's simple opening and closing a circuit. So the orientation of the cables doesn't matter. So to start it off you need to de-solder all the buttons you wish to utilize on your controller from the mouse circuit board (this can be anywhere from one to eight buttons, depending on how many your mouse supports and how many of them you wish to utilize). In my case this meant de-sodering three buttons, left right and the mousewheel button. Take care not to heat up the surrounding areas too much as not to damage the neraby components with too much heat or accidently creating a bad solder joint.
With the original buttons off, get some wire and cut it to the desired length. Peel of the tops and solder them on to the PCB in place of the buttons. After this it's just a matter of soldering the chosen replacement buttons on the other end of the wires and your done. This is not a advanced soldering job, and anyone with a little knowledge can do it. Just take care not to short circuit anything and make sure the joints are proper.
At this point you might want to think about how to attach that plastic piece that sits on top the optical sensor. My mouse had small holes in the PCB for it and the plastic piece had tiny feet to fit in those holes. However the thing was still loose from the circuit board itself. So to make it easier to handle and to mount later on I decided to simply glue it in place. If you do this make sure the orientation of the piece is correct and that it is level. Step 4
- Preparing the case & mounting
now that you have your electrical components ready and waiting, it is time to prepare your chosen enclosure to fit it all inside. First measure and mark where everything should go. Check and double check that everything is correctly measured (it will save you alot of headaches later on). Now simply drill the holes you need for everything to fit in place. If you look at my image you can see I have three 5mm holes for my push buttons, the center hole for the control surface and a slit for the optical sensor of the mouse. As I had to enlarge the hole for CD holder, and I could not find a drill bit of that size. I opted to first mark the area to be cut out, then drilling it full of small holes. After which I took out my trusty set of files and and worked on it untill I was satisfied. How you do this will largely depend on the tools set you have at hand. I could for example have used my Dremell to cutout the hole, but experience tells me that high RPM dremell combined with plastic cases usually equals melting plastic on the edges of the cut. Besides if you slip you will ruin the surface of your beautifull box.
How you do the hole for your optical sensor depends on the tracking distance of the sensor and the thickness of your case. I only made a small slid for it, similiar to the one found on the bottom of the mouse it was taken from. But as my case had rather thick walls that meant I didn't have much room of error regarding the distance from the top of the case to my control surface. So this will vary depending on the mouse you use, the case you use and the way your rig up your control surface. Do what works for you.
At this point also take care not forgetting other holes such as a hole for the USB cord to pass trough and in my case the hole for a super flashy power on led.
With all the holes ready it is time to start mounting everything in place. I chose to mount all the electrical components on the lid of my case to make it easier to open and close the device. While the CD holder was mounted on the bottom of the case itself. Again this is up to your preferences and the way you construct your device. I mounted the circuit board to the top of my case using hotglue. Since I already had secured the plexi piece over the optical sensor, I just used obscene amounts of hot glue and a glue gun to secure it place.Step 5
- Fire it up
With everything mounted and ready to go it is time to take this baby for a test drive. Plug it in to a free USB port on your computer, wait for the OS to load drivers for it (you propably already did this while testing the mouse before you started) and you are all set. Load up your favorite scratch program and spin away. Depending on how many buttons you use and if you use a HID to MIDI translator software, you will have different options for how to control the software. By default Fruity Scratcher plugin will work out of the box using the CD to move the mouse pointer and the extended left button for muting.
- What to use as a control surface?
Well anything really, You could use a cardboard disc, a 7" vinyl record or lamswool for all that I care, just make sure your mouse tracks well on that surface. If you use a CD like I did, you can simply take a old demo CD with a printed surface and mount it upside down. Or you can do what I did and get a vinyl replica CD-R and use one of those print on CD labels to draw a tracking pattern on and then mount it underneath the CD.
Conclusion and future improvements
All in all I'm happy the way the controller turned out. It tracks well and does what it was designed to do. As for future improvements, I might want to change or add a few things later on. Another thing I might do is to expand the hole for the optical sensor to have more room for error regarding the distance to the control surface. Further I had plans on covering the area under the CD with a thin felt fabric to further stabilize the control surface and to make the operations absolutely silent.
The push buttons I had laying around are not the best looking or the most ergonomical, I will propably change these to something more like the ones found on arcade game machines. Also while I was building and designing this thing, I came up with alot of ideas and spare parts for other types of controllers. So in the future there will propably be projects on a super pocket size controller, one that utilizes a full CD sized control surface but still fits in your pocket and a third one that will have a 7" vinyl record as a control surface (yes it will spin and look all retro and shit). When and how these things will materialize will remain to be seen.
On the software side of things, I have been looking into HID to MIDI translators (which I mentioned at the beginning of this article.) to make this thing even more usefull. Imagine a 3-8 button midi controller with a scratch surface for a mere $4-6 dollars. Happy times!ENJOY!
(and don't forget to post picture of what you came up with)