Simple spin coater for microscope coverslips and other similar substrates up to 1" round diameter. Unit features a rotating vacuum chuck to hold the substrate material. Control via Arduino and a small UI and OLED screen.
Guts are a single brushless motor made for a quadcopter. A 'slow' one (KV < 2000) is chosen for reasonable low speed operation. Max is ~8000 rpm. This should be plenty for most coverslip coating procedures (3k rpm a typical nominal rotational speed there) but choose a faster motor if you want faster spinning. Slow spins (>1k rpm) are a To Do item. Build requires an ESC (electronic speed control) unit to control the brushless motor via Arduino servo interface.
Chassis is acrylic sheets (1/4" or 1/8" is OK) and sections of tube. Weld or glue these all together so the bottom chamber is air-tight. You'll need a 1/8" NPT tap for the vacuum port in the chassis if you use the documented barbed fitting for the vacuum input.
The UI allows users to select a pre-stored program (defined in the Arduino sketch) or choose a speed + time in the Free Run mode (User Set mode?). Input is done through a rotary encoder and integrated button when knob is pushed inwards. This button selects a program or a digit to edit in the Free Run mode screen. There is a stop button as well to end the current program. This stops the motor and returns to the program select menu.
The device will go into a sleep mode on the display if left idle for some time. Turn the encoder to wake back up.
Chuck designed for up to 25 mm / 1" round coverslips. An O ring can be used if desired, though isn't required to hold a coverslip. A second groove supports the O ring for 18 mm coverslips. Other sizes are possible to support but likely require a different rotor if using O rings. Without the O ring the coverslips hold fine, do not flex as much under vacuum, and more different sizes can be held. O rings are typical parts from McMaster-Carr or similar suppliers (1295N248 for 25 mm; 1295N236 for 18 mm). There is an additional 5 mm ID O ring (1295N118) to seal against the chuck against the shaft.
Chuck and backing ring can be 3D printed. The ones pictured were ordered from Shapeways using their Fine Detail Plastic and Smoothest finish options. The ones received look like high quality SLA prints. Likely any method that generates a sufficiently fine finish will be OK. You may need a little finishing to smooth rough surfaces for better vacuum sealing.
PCB made to be assembed on Arduino shield perforated prototype board. Proper PCB is a To Do item. "Top" layer traces are those to add on the perf board. This is probably easier to do on the actual bottom of the board. The "Bottom" (blue) traces are designated for insulated jumper wires.
Requires 1306 OLED unit: https://www.amazon.com/gp/product/B07VDXYDVY/
Rotary encoder: https://www.adafruit.com/product/377
Pushbutton: https://www.adafruit.com/product/1010
And some headers + resistors + basic LEDs. Plus a power supply (5v/5A) and an ESC for the motor.
I used this motor: https://www.amazon.com/gp/product/B07QX2G4YP/
and this ESC: https://www.amazon.com/gp/product/B071GRSFBD
Motor and ESC can be substituted with another unit, but key features are a hollow spindle, small size, and low speed. It's a good idea to measure the current draw of your motor on a bench power supply before committing to a secondary supply to drive the motor. The current draw goes up considerably under even a small load.
With a good seal on the vacuum chuck a typical lab bench vacuum supply is more than enough to hold a coverslip in place. With the specified arbor and larger O ring in place a #1.5 (0.17 mm) coverslip an unfiltered lab vacuum supply causes the coverslip to flex a mm or more. If using a weak vacuum the O ring should provide a better seal, but in my tests the 3D printed chuck alone was plenty of seal and more support (less flex) compared to the O ring.
Proper vacuum form is to put a trap between the source and the outside world. This is especially good practice with a spin coater since there will be plenty of times your solution gets sucked into the vacuum line. There's a small trap built in to the acrylic design here but a larger one (or at least a backup filter) is not a bad idea if using a plumbed-in line or building supply. Don't make someone have to come replace pipes that turn out to be coated in strata of dried up PVA, but go ahead and wreck your modified aquarium pump if you want.
With that said, just about any vacuum source would likely work. The flow rate of the pump needs to exceed the inflow rate around the seal, which with a good seal is very small. Higher flow rates with a given seal will achieve a good hold and max vacuum more quickly.
- Slow (< 1k rpm) speed rotations
- Programmed ramps or other waveforms to motor
- Redesign arbor for easier on/off and support
- Chassis redesign for easier assembly and cleaning
Anyone is free to use these designs with attribution. If you modify or improve portions of this repo please consider pushing updates to your own fork.