Introduction: DIY Laser Shutter

Laser shutters are very neat devices that allow an experimenter to turn on or off a laser beam with the flick of a switch. Anyone that has worked with lasers will know that turning your laser on and off a lot is not ideal for the laser. It's much better for the laser to block the beam somehow. In the lab, one can "turn off" the beam from down stream optics by using acousto-optic modulators (AOMs), electro-optic modulators (EOMs) or a physical shutter. I particularly like using AOMs because they are great devices. And, you can end up getting some odd effects when using them. AOMs and EOMs are pricey and unless you need one, they can be overkill in an experiment. So, if simplicity is your goal, I'd just block the beam with a shutter.

Our lab uses optical tweezers to unzip DNA and in the process of unzipping, you must turn off the laser beam in order to position it over a bead that you intend to pull on. Yes, you can manipulate the position of things with lasers. And yes, it's like a tractor beam albeit a tractor beam that's only useful in the microscopic scale. To turn "off" the laser beam, you need to block the beam such that it does not reach the sample plane in the microscope.

In this Instructable, I will discuss my version of a laser shutter. This design came about because a fellow lab mate was trying to make a laser shutter with a speaker. I was intrigued by this idea (which is very clever) and decided to make my own shutter using a hard drive as the actuator and not a speaker.

After making the shutter, I researched to see if other people had tried this before. Much to my elation, others had. They even made the circuits from scratch and if you can get the paper, it's a nice short read.

Maguire, L. P., S. Szilagyi, and R. E. Scholten. 2004. High performance laser shutter using a hard disk drive voice-coil actuator . Review of Scientific Instruments 75, no. 9: 3077. doi:10.1063/1.1786331.

I had the power of the Arduino platform when I designed this shutter so, I didn't have to build a circuit from scratch. With this design, anyone can make one with very little electronics know how and very cheaply.

Step 1: Teardown an Old Hard Drive

Depending on the hard drive you have, you will need either regular screwdrivers or Torx screwdrivers in order to open it up. The below images are from a hard drive in which I did not use the read head and magnets from. I didn't take images of the tear down of the hard drive I used in the shutter so I'm including the below images as a reference. Just realize that the final shutter pieces look different than the parts from this hard drive.

Images 1 & 2
I removed all the screws from the hard drive ensuring that I got the hidden ones from under the sticker. This particular hard drive only had one but there are sometimes more. I saved these screws because they are useful in other projects.

Image 3
I also removed the circuitry on the back side of the hard drive. I recycled all the parts I couldn't use and you should too. If you are able to take off the SMD components for other projects from this circuit, then by all means do so.

Image 4
I opened up the hard drive by taking off the top cover. Inside is the hard drive platter, the read head and the magnets that position the read head. Sometimes there is a small magnet that holds the read head in a "locked" position that is located in the bottom right of the picture. This hard drive didn't have one but in others I've taken apart, there are. The small magnets are useful in this build so make sure to keep it in a safe place if you found one. Preferably not on you cell phone.

Image 5
I took out the read head and the magnets from the hard drive. This is not entirely necessary as is indicated in the paper but, I had to get at the bottom of the read head in order to solder some wires to it. Plus, I didn't feel like manipulating the hard drive enclosure to conform to an optics table. So, I went ahead and removed the magnets and read head from the enclosure entirely.

When you take out the magnets, be careful not to damage them. If you have an older style hard drive the magnets will be quite powerful and will require some leverage in order to be removed. These magnets are very strong so be careful around them. If you have an old CRT, you can use them to mess with the electron gun in it before moving on.

Step 2: Mount the Read Head

Image 1
I mounted the drive magnets on a scrap piece of aluminum. I punched holes in the aluminum and then secured the magnets with some 4-40 screws and nuts. I also secured the read head to the plate using its position in the magnets as a guide to where it should be secured.

Image 2
I epoxied two small magnets that I salvaged from other hard drives to two metal posts. There is a "flag" on the read head that is magnetic and when it is in the right or left position in this image, the read head gets held in place by the magnets. This is nice since the read head will be in a vertical position and I didn't want it to fall to another position due to gravity.

Image 3
Once I had the magnets and read head secured, I soldered some wires to it. The polarity doesn't matter so just make sure you have the wires securely soldered and long enough for your particular purpose.

Step 3: Arduino

I used an Arduino with Sparkfun's Ardumoto. This makes programing and wiring this device super easy.

Image 1
I didn't get the headers for the Ardumotor when I purchased it from Sparkfun and I'd highly recommend you doing so as it makes debugging the system a lot easier. What I did was solder some straight header pins to the board "upside down" so that the board fit in the Arduino.

Image 2
I soldered a push button to sense 5V when it is depressed. When it is depressed, pin 2 gets a signal and counts how many times the button has been pressed. If it is an even press, pin 12 lights up the green part of a red green blue LED. If it's an odd number, pin 13 lights up the red part of the LED.

Image 3
I really had no desire to enclose the circuitry in a box due to laziness and since I didn't have one lying around. So, I just stuck the Arduino and Ardumoto on an old floppy disk with some spacers. The power supply I'm using is rated at 12 VDC at 1.9 Amps.

The below code is what I used to get this thing to work.

const int buttonPin = 2;
const int ledPin1 = 13;
const int ledPin2 = 12;
const int motorPWM = 11;
const int motorDirection = 10;

int buttonPushCounter = 0;
int buttonState = 0;
int lastButtonState = 0;

void setup() {
  pinMode(buttonPin, INPUT);
  pinMode(ledPin1, OUTPUT);
  pinMode(ledPin2, OUTPUT);
  pinMode(motorPWM, OUTPUT);
  pinMode(motorDirection, OUTPUT);

void loop() {
  buttonState = digitalRead(buttonPin);
  digitalWrite(ledPin1, LOW);
  digitalWrite(ledPin2, LOW);
  digitalWrite(motorDirection, LOW);

  if (buttonState != lastButtonState) {
    if (buttonState == HIGH) {
    lastButtonState = buttonState;

  if (buttonPushCounter % 2 == 0) {
    digitalWrite(ledPin1, LOW);
    digitalWrite(ledPin2, HIGH);
    if (digitalRead(buttonPin) == HIGH) {
      digitalWrite(motorDirection, HIGH);

  else {
    if (buttonPushCounter % 2 != 0) {
      digitalWrite(ledPin2, LOW);
      digitalWrite(ledPin1, HIGH);
      if (digitalRead(buttonPin) == HIGH) {
        digitalWrite(motorDirection, HIGH);

Step 4: Action

I'm sure there are a ton of things you can add to this to make it better. For instance, you could stick on a voice box shield and have the shutter open and close with a specified word. Or, you could enclose it in a nice box and make it more professional looking.

The only thing left for me to do is put a hole in the aluminum plate and add a blackened piece of aluminum to it to act as the shutter. Once I test it out, I will post my results on how fast it is.

If the embed video doesn't work, click here to see the shutter in action.