Introduction: Open Agitator- Your Personal Chemistry Lab Shaker

About: Interaction Designer and Electrical Engineer I make things to share ideas and tell stories. Sometimes save the world.
Agitators are those shakers in labs ( chemistry/biology)  that prevent sedimentation . They can be highly useful in your 'own' personal lab as well.I made one from easily available parts and that provide considerable control of agitation in order to be used with liquids of varying viscosity and various containers.

This is a hacked out CDROM from an old computer i had lying around. 

Before i reached to this approach i made( well in 3D )  something like a 1 axis CNC for agitation which was a complete overkill.
Here are some Pics of the Sketchup model that i planned to build..

The possible uses of this project are:
1. Etching a board without getting your hands dirty and spending time fruitfully
2. Testing the solvent and solute properties
3.Cooling some hot milk/coffee
4.Dissolving some sugar in a lemonade.

Hope you like the instructable and vote for it!
So, lets get started .
Click the next step button down here to know what all is needed!

Step 1: Supplies

You will need the following:
1. Old CD ROM with a working tray motor. (Free)
2.Perfboard/Copper Cald board (Cheap)
3.MSP430 Valueline launchpad (for the electronics) (Borrow or Buy)
4.L293D H bridge Driver (Free-Sample from TI)
5.LP2950- Low dropout voltage regulator 3.3V( Free-Sample from TI)
6.7805 (Free/Lying around)
7.0.1uF Decoupling caps 
8.10K ressistors
10.100OHM resistors -Current limiting
11.Tactile Switch
12.Wood Pieces
13.Some screws
14. Wires
15.DC Jack 
16. Old Mouse

Tools Needed:
2.Soldering Iron
3.Screw Driver
4. Dedication to build this project! :D

Now lets start start building it up!

Step 2: Hardware-I

The first thing that is required is to take apart the CD-ROM and unscrew each and every screw you see until you get only the moving tray and a small Green PCB underneath the front side of the CDROM. You can easily find a small motor there with connections on the PCB. Solder two wires from there ( 7-8 inches long) and screw the remaining part on a plank of wood. You will soon get this (ignoring the board at the back!)!

Step 3: Hardware-II- EndStop Detection

Now we need to place an end-stop switch towards the end of the cradle so that we can program the controller to read this switch and hence offer better stability to the system operation.
There are several approaches you can take.
You can either use a tactile switch on a perfboard and mount it on the back or a soft SPDT switch from the old mouse in your Yet-To-Tinker collection.

I found the mouse one very soft and sturdy and went on to use them on a perfboard! There are 3 connections there N/O, N/C and COM. we need to wire up COM and N/O with wires and then screw this to the back of the cradle. Some what like this! 

Step 4: Hardware-III- Getting the Brain Ready!

The design and code is completely open source and can be forked from my git here.
The Eagle schematic and board files are as follows:

I have used a MSP430G2231 microcontroller. (Again Free Sample) :D
The Controller reads the states of two buttons and instructs the Cradle motor the oscillate accordingly. There is a speed increase switch also (S1) which can be pressed to increase the amplitude of oscillations . The corresponding state is presented visually on the 3 LEDs as Low, Mid and High making it a self contained machine. The board is designed in single layer making it easy to etch at home. 
I also made a video of the Agitator etching its own brain .

I used a L293D H bridge motor controller to control the forward and backward movement of the cradle with an adjustable speed by giving a PWM on the Enable Pin . People who had made LFR`s in the first/second year know its a child`s play.
So lets see what i got in the next step!

Step 5: Board UP

Here are the pics of completely etched and soldered board for the Agitator.
After etching it was bolted onto the back of the CD-ROM for easier access to control buttons. The wires that we left in the earlier steps were connected according to the schematic on the previous step!

Step 6: Program-IT

The code can be forked from the same GitHub Repo as before.
The code was compiled in CCS for MSP430 controllers. However it is completely compatible with gcc as well. The code was then flashed to the sampled MSP430G2231 and then inserted into the main board!

Step 7: Done-Vote Please!

Its done now! 
Hope you reached this far.
Here is the video of the complete build!

Hope you like the instructable. If you have any queries please comment below and plz plz plz do vote for me in the contest by clicking on the Vote Icon on the Right hand corner.

Build My Lab Contest

Fourth Prize in the
Build My Lab Contest

Microcontroller Contest

Participated in the
Microcontroller Contest