Lithography Stepper V2.1

Stepper V2.1 is an incremental improvement upon the existing Stepper V2 with mechanical improvements. As such, a lot of the content here will be the same as V2! The changes from V2 (and reasoning):

  • Rotate the optics so that the objective points downward instead of sideways

    • This allows using the much-improved X and Y axes of the stage, instead of X and Z, which permits higher movement resolution and repeatability

    • This also means that we no longer need the vacuum chuck, which means reduced vibration (and less complexity)

    • Unlike Stepper V1, which was cantilevered, V2.1 is supported on all sides by rigid optical mounting posts, which should avoid V1's vibration issues

  • Mount the optics and projector much more rigidly, using a plate offset by posts to secure the optics directly, rather than relying on the projector's case and rubber feet

    • This further reduces relative vibrations between the optics and stage

    • This also makes the DLP DMD plane and the chip plane more parallel == more consistent focus both across a single exposure and between exposures

    • This also decouples the structure of the stepper from the mechanical design of the projector (as Stepper V2 relies on the actual shape of the projector to work) which will allow us to change to a different projector in the future

  • Switch from a FLIR Blackfly camera to a Basler Ace camera, and reduce the sensor size from 1" to 1/1.2"

    • Not only is the Basler less expensive for an equivalent sensor, it also has a much, much nicer software suite that is distributable (a particular pain point with FLIR's)

    • Smaller sensor size means we're paying for less unused sensor (since any sensor area outside of the size of the projector's DMD is not used)

As a whole, these changes should improve the results we get out of Stepper V2.1 compared to Stepper V2, and the mechanical changes will set the stage for further patterning capabilities such as reliable automatic alignment. Furthermore, the decoupling of the projector from the rest of the design will in the future allow us to use different projector for further improvements.

Specifications

Spec
Value

Cost

$3,012.13

Build Time

6 hours

Optical Resolution

1 µm

Vibration susceptibility

1.2 µm (when built onto optical table)

Reticle (Exposure) Dimensions

1.04mm by 0.58mm

Exposure Time

8 seconds

Mechanical Step Size

1.5 µm

Maximum Wafer Size

1 cm x 1 cm

Size

20 cm x 20 cm x 50 cm

These remaining specs are from Stepper V2's documentation and have not been verified. The optical performance of both systems should be the same.

Spec
Value

Developed Resolution

2 µm

Tiling Alignment Accuracy

5 µm

Overlay Alignment Accuracy

5 µm

Mechanical Repeatability

5 µm (to verify)

Bill of Materials

Total cost as currently specified: $3,012.13

Name
Quantity
Total
Link

TI DLP Evaluation Module

1

$1328.63

Mouser (on backorder as of May 2025)

Assorted optics and optomechanics

1

$772.89

10X Din Plan Objective

1

$159.00

Basler ace U acA1920-40uc

1

$609

USB Type A to Micro B locking cable

1

$3.99

19V 4.74A Projector Power Supply

1

$17.99

XYZ Stage 40mm

1

$125

NEMA 28 Steppers

3

$53.97

Arduino Uno (Elegoo)

1

$16.99

CNC Shield for Arduino V3.0

1

$10.99

Stepper Motor Drivers

1

$22.99

Shield Power Supply 12V

2

$23.98

M2.5 Screw Assortment

1

$16.99

410nm Lumiled LED

4

$27.96

Pico-spox 10pos Vertical Connector

2

$1.86

Proximity sensors (4 pack)

1

$19.90

(Not included in BOM: misc. bolts)

*For Thorlabs order: upload the file below to Rapid Order to retrieve the cart:

Design Files

Currently the CAD for Stepper 2.1 is all in FreeCAD, with the files stored in this repo, but will be ported to Onshape soon for consistency.

Stepper V2.1

Several parts from Stepper V2's CAD are used on 2.1:

The software (custom and GRBL) are the same as Stepper V2.

Build Instructions

Tools required

  • 3D Printer

  • SMD soldering tools (solder paste, reflow oven, tweezers)

  • Calipers

  • Metric and imperial allen wrench sets

Fabricate the mechanical parts

There are several mechanical parts that will need to be fabricated:

  • top plate x1: laser cut from acrylic or machined, from V2.1 CAD (assembly.FCStd, part top_plate)

  • adapter plate x1: 3D printed or machined, from modified V2 CAD (part adapter-DLP471EVM)

  • PCB holder x1: 3D printed, CAD here. I can't make this one shared publicly due to weird permissions problems, this is a HackerFab admin issue.

  • for builds that are not making use of an existing optical table: bottom plate. laser cut or machined, 1 inch grid of ¼ inch holes at least 6x6 inches

UV LED PCB Assembly

This step is the same as for V2, see the instructions here.

Projector Modification

These steps are heavily based on the steps done for V2, but some have changed.

it works!
  1. Test the projector before we completely take it apart :)

LED current settings in the software
  1. Plug in the projector over USB and use the LightCrafter GUI software to set the LED current to 150mA. (The projector defaults to 1023 mA, which is its maximum output - our UV LEDs are not able to handle that much current, so reducing the current makes sure they don't burn out!)

  1. Unplug all the connectors and remove the top PCB by unscrewing the standoffs.

  1. Remove the side PCB.

  1. Unscrew and remove the shroud by sliding it away from the rest of the optics.

  1. NEW FOR 2.1: Remove the bolts and standoffs that hold the main projector assembly to the bottom plate. This should free the bottom assembly.

  1. Unscrew and remove the heatsink for the front-most LED, which should be the blue one.

  1. Disconnect the LED PCB from the cable. Heat it slightly on a hot plate or with a hot air gun to soften the adhesive and remove the black plastic housing.

  2. Glue the black plastic piece to the DIY UV LED PCB, connect it to the blue cable, and reattach it to the optics housing. Put the heatsink back as well.

  1. Unscrew the projection lens. That one makes things bigger, but we're trying to make things smaller. It's got to go.

  1. Screw on the adapter plate with four countersunk M2 screws.

  1. Use four M2.5 screws to screw on the Thorlabs SM1A53 adapter flange

  2. NEW FOR 2.1: Do not reassemble the projector case - we will use it as-is.

Optics + Mechanics Assembly

These steps are heavily based on the same steps for V2, but slightly modified.

  1. Start with the beamsplitter cube. Unscrew the set screws, remove the holder, and clip in the beamsplitter. The text ("Thorlabs") should be facing the microscope objective and camera when the holder is reinserted. Keep track of this during assembly and fix it later if necessary.

  1. Assemble the DLP tube. From left to right, the parts in the first picture are 0.3" lens tube (SM1L03), 0.5" lens tube coupler (SM1CPL05), 0.5" adjustable lens tube (SM1V05), and 0.5" lens tube (SM1L05). You may want to remove any internal lens rings. The adjustable lens tube allows axial length adjustment and the coupler allows rotation about the optical axis.

  1. Screw the DLP tube into the beamsplitter cube. The correct orientation is shown above, and the arrow points to the side of the beamsplitter with the text (and optical coating).

  2. Assemble the camera tube, which similarly constructed. The parts are 1" lens tube (SM1L10), 1" lens tube coupler (SM1CPL10), 1" adjustable lens tube (SM1V10), another 1" lens tube (SM1L10), and C-mount SM1 adapter (SM1A9) (last two shown below).

  1. Make sure this camera tube is 86.8 mm long. We calculate this number by subtracting the various component lengths from the standard microscope objective back focal length of 150mm: 150 - 17.5 (c-mount camera) - 7.6 (objective tube) - 38.1 (beamsplitter cube) = 86.8mm (NOTE: Our objective is rated for a 160mm optical tube length, but this is NOT the same as the back focal length, which is 150mm... this is a very confusing specification, see this page for what lengths are what)

Camera and beamsplitter cube should be parallel.
  1. Screw on the C-mount SM1 adapter (SM1A9) to the camera and the 1" lens tube. Adjust the lens tube coupler to align the camera with the beamsplitter cube.

(Photo has 1 tube piece that shouldn't be there)
  1. Assemble the objective tube, which consists of a 0.3" lens tube (SM1L03), an SM1 to RMS adapter (SM1A3), and the microscope objective.

  1. Use four #4-32 bolts to mount the beamsplitter cube to the top plate.

You should have the optics attached to the top of this by this point
  1. Mount the top plate to either your optical table (if you have one) or the bottom plate. First, mount the posts to the bottom plate/table using four 1/4-20 bolts (if you're using a bottom plate) or four 1/4-20 grub screws (if you're using the table). Then, mount the top plate on top with four #8-32 bolts.

  1. Temporarily loosen the top lens tube coupler in order to screw that tube into the projector, and finally tighten it again with the projector mounted.

  1. Mount the main PCB with the power connector facing downward using the 3D printed PCB holder part. Reconnect the ribbon cables and LED power cables.

Motion Stage Assembly

Print all of the parts in the table below. Any PLA is fine. You may need to re-orient them so they print well. The stepper mounts will all need small supports in the motor flange. The X and Y axes need other supports as well.

File Name w/ link
Description
QTY

Motor and Sensor Mounts (Folder "XYZ Platform") "X Motor Mount" "Y Motor Mount" "Z Motor Mount" (Optional, for sensors:) "Y Sensor Mount" "Z Sensor Mount"

Base V2.1

"Base"

Three parts that connect stepper motors to the micropositioning stage x , y and z axes.

1

Motor and Sensor Mounts (Folder "XYZ Platform") "Fixed Coupler"

Press fits onto micrometer and uses a grub screw to rigidly attach to motor D-shaft

2

Z Coupler "Z Coupler"

Press fits onto micrometer and meshes with part press fit onto motor D-shaft

1

Motor and Sensor Mounts

"Upright Chip Mount"

Provides a platform for the chip

1

A detailed 3D model of the fully-assembled stage is available in the CAD under the "XYZ Platform > Fully Assembled" document.

The video below describes the necessary components and the assembly process.

Build guide

Electrical Assembly

To test the proximity switches, connect them to a 12V supply. The sensor output can be left unconnected. The red LED on the back of the switches should illuminate when the front of the sensor is held within ~4mm of a metal part of the stage, which will also pull the sensor output to ground.

Note: the limit switch pin block on the CNC shield has two rows of pins. One of the rows is connected only to ground; do not connect your limit switches to that row.

The sensors should be connected through a pull-up resistor to the Arduino's 5V supply. 12V should be supplied externally.

Wiring diagram for the sensors

TODO: Add picture of CNC shield!

Software Setup

Instructions for installing and preparing the software are available on the stepper software repository.

The video below descries the basic electronics setup and how to install GRBL and integrate the two. Make sure to cross reference this with the stepper instructions above.

Final Focusing

Once the software is set up, the final focus alignment can be done. These steps will align the two focus planes within the stepper (the projector and the camera) to ensure that images that appear in focus on the camera are actually in focus on the surface of the chip. This is done by adjusting the tube length between the projector housing and the beamsplitter cube (the length in the image below) such that both the projected image and the chip's surface are in focus in the camera view.

  1. Load a chip with recognizable features into the stepper (a dirty chip is a good option).

  2. Project a red-focus pattern with recognizable features that can be used to determine projector focus.

  3. Adjust the Z position to focus onto the surface of the chip. This means that you should ensure that the features of the chip (the dirt, most likely) is sharp, but the projected focus pattern most likely is not.

  4. Loosen the clamp that connects the two parts of the DLP-beamsplitter tube so that they freely rotate. (the bottom circle in the image)

  5. Loosen the locking ring on the adjustable lens tube. (the top circle in the image)

  6. Screw the adjustable lens tube in/out while periodically checking to see if the projected image gets more or less in focus. You may need to push the optics into the coupler to ensure that the surfaces of the lens tubes are coplanar.

  7. Once both images are in focus at the same time, tighten the locking ring on the adjustable lens tune as well as the coupler.

Characterization

One of the core goals of Stepper V2.1 as compared to Stepper V2 is reduction of vibration through a more rigid frame. In order to test this, we characterized the amount of vibration that affects V2.1 using the following procedure:

  1. Load a chip with recognizable features into the stepper and focus on it (in our testing, we just used a dirty chip)

  2. Using the Basler Pylon Viewer software, collect a 10 second video clip of the surface of the chip. Pylon Viewer gives the video clip as a collection of .tiff frame images. Here is an example of a single frame:

  1. Use ImageMagick to threshold the frames: magick '*.tiff' -channel G -threshold 75% -separate threshold.png (this is a bulk operation on all frames). Here is an example of a single frame:

  1. Using an image editor, find a specific feature on the chip to focus on, and crop all of the frames to it: magick 'threshold*.png' -crop 300x300+1000+800 crop.png Here is an example of a single frame, plus a GIF of the frames playing in real time:

GIF of playing in real time
  1. Multiply the thresholded frames together to produce a footprint of where the feature moved throughout the duration: magick 'crop*.png' -compose multiply -layers merge product.png

  1. Subtract a frame from the footprint to produce an image that shows how much the feature meandered from its starting point: magick product.png crop-0.png -compose subtract -composite diff.png

In this final image, all of the white pixels are deviations from the starting image. This allows us to count a maximum deviation: in this image (which is from when we were testing the effect of someone resting their hands on the table) there is a maximum 3 pixel deviation.

From this, we can calculate the maximum peak-to-peak vibration amplitude: each pixel on the camera sensor is 5.86 μm square, which after the 10x reduction of our objective, means each pixel in this image is 586 nm on the chip. 3 pixels then is 3 * 586nm = 1.8 µm.

We also ran another test of "ideal" conditions, in which there was no external vibration added to the stepper table, which had 2px deviation. This leads to the result being 1.2 µm.

Assessment and Future Work

This section is a reflection by me, Sky.

The core design goal of V2.1 was pretty much a mixture of "make it less susceptible to vibration" and "make it less janky". I think I mostly succeeded in this department: although I lack proper numbers on V2's vibration issues, I am confident in asserting that V2.1 fixes them (mainly because you could visually see the vibration occurring on V2's camera, and you can't anymore on V2.1), and now that we have a rigidly mounted frame, the slop from the projector moving around on the table is gone.

However, there's still definitely some improvements to be made. For one, I think that the projector should probably be more directly supported - I didn't end up adding a direct support for the projector this semester because it didn't appear to be necessary, but I think this could further reduce vibration issues. This shouldn't be particularly hard because the disassembled projector has very convenient standoff mounting points directly on it.

Another improvement to make is to fix up the centering of the image on the camera: currently, the hole on the adapter plate is perfectly centered to the part's center, but it appears that the projector's actual image is slightly off to one side. This wasn't really an issue when the camera had a larger sensor, but now that it's smaller it very slightly cuts off part of the image. This only require a small change to the adapter plate to correct.

Finally, one of the biggest issues that remains with the stepper is that the whole projector situation is not ideal: specifically, the fact that all of our existing litho setups have used projectors that hook up to a computer monitor output leads to a bunch of undesirable effects from the OS taking over (like unexpected popups showing up and getting imaged onto the chip). Another issue with the projector is that it's really not ideal to UV-mod a color projector: the projector is designed to always be emitting all 3 color channels, which means that we're outputting a small but noticeable amount of UV even when not actively imaging. Also- the DLPDLCR471TPEVM projector used on V2 and V2.1 is currently (May 2025) out of stock everywhere in the world, which is very bad for reproducibility. One thing we could do to solve all of these issues is to create a custom projector design which gives us more control over UV emissions and the image pipeline. I have written up an essay on the design process and ideation behind a custom projector here.

Last updated