Automatic Beam Blocker

By | September 12, 2016

A beam blocker (BB), also known as "beam shutter", is a device used to block / unblock a light beam while the source power stays on.

In this post, I will present how to implement an extremely cheap and simple Automatic Beam Blocker (ABB) that can be used to block a low power laser beam. The beam blocker is composed of a shutter that is open or closed by pressing a push button connected to an Arduino Uno board.



  • 3D printed beam blocker (STL files available on Thingiverse repository)
  • Servo motor (Tower Pro SG90 9G Mini servo)
  • Push-button
  • 1 Kohm resistor
  • Connection cables
  • Arduino UNO board

To build the beam blocker, first download the zip file, extract and print the STL files (automatic_beam_blocker_1of2.STL) and (automatic_beam_blocker_2of2.STL). Afterwards, mount the pieces according to the following steps show in the figure. Notice that in the zip file there is also provided a STL file that contains both components for a single print session (full_automatic_beam_blocker.STL).


In principle the Automatic Beam Blocker requires only a 1/2" optical post to be mounted on any experiment. In addition, the device is compatible with Thorlabs cage system. In the zip file I also provide a SCAD file (automatic_beam_blocker.SCAD) that allows to change certain parameters in order to make the ABB compatible with cage systems from other manufacturers.

Once the beam blocker is assembled, mount the circuit, upload file beam_blocker.ino in the Arduino UNO, and start using the Automatic Beam Blocker in your experiment!

3D printed Beam Blocker

The beam blocker is composed of two parts. The main part (automatic_beam_blocker_1of2.STL) is used to couple the shutter to a 1/2" post or to a cage system and to fix the servo that moves the shutter.

The second component, the shutter (automatic_beam_blocker_2of2.STL), is aimed at blocking the light beam. The height of the shutter can be changed in the first line of the module beam_shutter() of the openSCAD file. By default the height is set to 2 mm (see line height = 2;).

Control circuit

The beam blocker is controlled by a push button that opens or close the shutter depending on its previous state.


The shutter moves by means of a Tower Pro SG90 9G Mini servo that is set to move between the positions 0º (closed) and 90º (open). The angles are specified in lines 56 and 61 in the Arduino code shown below.

Additional resources

  • The ABB circuit can be viewed and tested online (for free!) using the platform Autodesk circuits that allows to simulate the Arduino based scheme shown above. The scheme can be found on the following link.

  • The STL files ready for 3D printing are available on the following link on Thingiverse. For more components useful for the optics laboratory visit the things that I have implemented so far.