Introduction: Spin Coater V1 (almost Analog)

Not all equipment is made to last, I am a student/researcher studying thin films materials for solar tech. Once of the pieces of equipment I depend on is called a spin coater. This is a tool used to make thin films of a material from a liquid solution or precursor. This thin films can be layered into devices like solar panel cell or LEDs.

At my university we have had many problems with the more affordable commercial products which are available for the equivalent of a few thousand dollars. These commercial spin coaters make use of a vacuum chuck to hold down samples and the problems they encountered included seized motors, clogged vacuum chucks, smoking capacitors among other that affected feedback which the speed control relied on. I am not aware of the problems each research group has had with them but I know there has generally been at least one getting repaired, or waiting to be repaired at any given time.

The design I'm sharing is simple, it initially used double sided tape instead of a vacuum chuck to hold samples, this was later updated to an easier to use design (see Step 6). It has been in operation for over a year under light use. There have been no problems apart from a relay wearing out (this was not a new relay when installed).

The project is made mostly from found parts like a motor with a current rating of 1 "leer" (500 mA), concrete, construction timber and some salvaged electronic components.


I expect anyone trying this project to make variations so this is a non exhaustive list of what is needed for the project.


DC motor capable of no less than 4000 rpm

Chuck made for the chosen motor (discussed later)


Round plastic tub (I used a yoghurt tub)

Thick plastic or alternative to line the bottom of the tub

Paper towel



off-cut of 38x228 mm pine (typically used for rafters in roofing)

30mm long hinge

Rubber or hard foam (motor mounting)

M6 bolt with screw driver suitable head

M6 nut

6 mm washer

Base and suspension:

Heavy base ( I used a concrete block cut to size)

M6 Threaded bar

9x M6 nuts for the threaded bar

3x Long springs 8 mm diameter

12x 6 mm washers

Controls basics:

Project box (I used an ice cream tub, this is a good excuse eat ice-cream)

12V power supply (I used 2 so the motor could be on a separate source)

1x rectifier diodes for the motor

2 stage timer:

2x n-channel MOSFET (such as IRF540)

2x 47 uF cap aluminium 35V

2x B500k pot dual slide

200K resistor

10K resistor

2x rectifier diodes for the relays

Push-button momentary contact

Relay SPST (timer start/stop)

Relay DPDT (timer speed 1/speed 2 transition)

PWM circuit:

1x NE555 timer

1x 1k resistor

2x 10nC capacitors

1x n-channel MOSFET (such as IRF540)

1x heatsink for MOSFET

1x insulating silicon washer for the heatsink

2x 10k pots (duty cycle)

1x rectifier diodes for the relays

Motor speed testing:


optical tachometer.



Thin wire like hard object (eg. wire, toothpick, paperclip)

Computer with "Audacity" installed

Step 1: Do You Have a Suitable Motor?

Most spin coaters need to work in a speed range of 500 to 6000 rpm. My work needs 2000 and 4000 rpm as the most import speeds, so I could make do with a DC motor I had lying around which worked in the range 1100 to 4500 rpm, my motor can run slower although the slower speeds are less reliable due to the resistance in the motor.

Find a suitable motor and power supply if you have a 12 V motor. Match the voltage required by your motor and the current of the power supply should ideally be 20% more than required by the motor. If you have a 24 V motor you will need a step down converter or separate power supply to provide 12 V for the electronics.

Next we'll want to test the minimum and maximum speeds your motor can accommodate. If you have a power supply with selectable/adjustable voltage use that, if not build the PWM circuit shown in the control circuit further on (or the full control circuit).

Step 2: Speed Test

An optical tachometer is a great tool to test the speed of a motor if you can get your hands on one, here I present an alternative method.

Part A

1. Prepare a computer to record audio with "Audacity" which is a free audio editor.

2. Wrap tape around the shaft of your motor (electrical or masking tape will work well).

3. Set the motor to the lowest speed it can manage.

4. Start recording audio.

5. As per the video for this section, bring a metal pin, nail or paper clip lightly in contact with the tape for a few seconds.

6. Stop the recording.

7. Repeat for the maximum speed.

8. View the audio and work out the RPM.

When we contact the tape with the metal pin, we want it just barely touching. The closer you bring the pin to the shaft of the motor the more the tape has to bend to pass it and the more we slow or take momentum from the motor. If the contact between the tape and the metal pin it too light the we may not get enough volume in the recording to tell us when contact is made. To calculate RPM from the audio in Audacity (see picture at the top)

Part B

1. Zoom into the audio until you can see distinct peaks of where the pin makes contact.

2. Left click on a peak and hold, moving the mouse so the selected area covers at least 5 peaks.

3. Count the number of peaks.

4. Use the "Start and End of section" time display at the bottom of the window to get the time it took for those peaks/rotations to occur.

5. (number of peaks)/(time in seconds) = revolutions per second

6. RPM = (revolutions per second)*60

Its important to make sure your motor can work at the speeds you need before building the enclosure for that motor. We will repeat the speed test at the end for calibration later ommiting step 7 of part A and replacing step 3 with whatever speed we are testing.

Step 3: Sample Chuck

The most important part of this build is the sample chuck. For the aluminum chuck, a friend of mine (Gerry) turned it on a lathe, then a thread was tapped to fit into my specific motor (imperial thread in my case). For a motor with a screw thread on the shaft, mounting the chuck is simply screwing it in once its made (link). I find this easier although there is more likely to be a precession one the chuck is mounted. If you use a motor with a smooth shaft you won't have any issues with "play" in the thread. The challenge here is the shaft will either need to be glued on or even better have a grub screw to tighten it onto the shaft.

If you have access to a metal work lathe and someone skilled to use it then its best to turn the chuck. If your motor has a thread, tap a thread down the centre of the chuck. For a motor with a smooth shaft you'll need to use something like a grub screw to press against the side of the shaft and hold it in place.

An alternative shown in the pictures above is to take a hole saw and cut a disk using a drill press. Following that use a tap to tap a thread into the centre. If you have a soft material you can remove the burr it using a knife, for a harder material a file would be suitable. The top of the hole can then be filled with epoxy or a cut out from a metal sheet can be epoxied to the surface.

SAFETY: Using glue/epoxy on the chuck is not advised since if the glue fails... where does the chuck go. The chuck will be spinning at a high speed during use, making the chuck out of a thin plate of metal potentially turns it into a cutting disk. I recommend using a material no less than 5 mm thick.

Step 4: Build the Motor Mount - Base and Springs

The motor mount should serve 2 purposes, keep the motor in place and dampen vibrations. The mount you make will be specific to your motor. I'll describe what I have done to give you an idea of how to make your own. Some motors have ventilation on the side, so be aware of where this is and keep it clear for cooling.

Base and springs
Find a heavy base large enough for the project. I found a section of concrete a suitable thickness and cut it to size using a diamond angle grinder blade. Concrete pavers or a thick metal plate should work just as well. If you can, try find something that doesn't need to be cut.

The stones in concrete make it difficult to drill through and sometimes means holes will drift to the side. So I drilled holes in the base for threaded bar before marking out the holes on the motor housing (if you have a more amenable material the order won't matter).

1. Drill the holes for the threaded bar with a masonry drill bit the diameter of the threaded bar.

2. Use a much larger masonry drill bit to counter sink the end of the threaded bar, washer and nut that will be under the base.

3. Mark the holes on the motor housing block of wood for threaded bar or on a piece of paper to use later as a template.

4. Cut the threaded bar to length, file the cut edge and check the thread is still good. Placing a nut on the bar before cutting. When this is removed fix it can fix/align the thread, if it isn't too damaged afterwards.

5. Place the bars through the concrete followed by a washer and nut on each side.

6a. If you managed to find springs long and stiff enough to support the motor and housing you can place them followed by a thick washer. A thick washer is needed since a thin washer may get caught in the thread. You can make your own washers by drilling a hole through a suitable piece of metal and finishing the hole with a file.

6b. If you prefer not to use springs a nut and washer can be used instead, the drawback is this won't serve to dampen the vibrations of the motor.

Step 5: ​Build the Motor Mount - Motor Housing

The motor housing was made like a clamp, pieces of pine were hinged together with a cavity in the centre and a nut and bolt to fasten it solid. The wood used for my housing was an off-cut from a rafter with a 38x228 mm cross-section.

1. Figure out the size of wood you need for your motor and mark it out the piece as in (a) of the photo above.

2. Mark out a hole no smaller than the diameter of your motor, we need a little space for the rubber strip that will be between the motor and housing. The assembly is forgiving on the size of the hole because of the clamp like mounting (hinge and bolt).

3. Drill a pilot hole then drill out the hole using a hole saw. The hole saw I used only cuts about 22 mm deep so I drilled half way from each side.

4. Mark and drill the holes for the threaded bar which will support the motor housing. These should be at least 1 mm thicker than the threaded bar to allow free movement.

5. Screw in the hinge as per (b) in the above photo, then remove it. This is to make the holes.

6. Cut the shape as in (b) of the above photo, I used a backsaw.

7. The shape allows us to have the a bolt opposite the hinge. Drill the hole for the bolt as shown in (c) of the above photo. The hole should be about 2 mm larger than the bolt to allow easy opening and closing of the assembly.

8. Cut the piece length-ways like in (d) of the above photo then screw the hinge back in.

9. Wrap the motor with a rubber strip and place in the housing, the insert and tighten a nut, bolt and washer to hold the housing closed, make this firm but not overly tight. If your motor has ventilation on the side make sure you don't block its air flow.

10. Place the motor housing on the base. Make sure the springs are in place with a washer on top. Place a washer and nut on the 3 threaded bars to hold down the motor. An additional rubber pad can be placed between the motor housing and washer on top to better reduce vibrations.

11. Tighten the 3 nuts using a spirit level for guidance.

Step 6: ​​Build the Motor Mount - Chamber

To make the chamber I used a transparent yoghurt tub and thick plastic sheet.

1. Use a knife to cut a shape in the base of the container that you can get the chuck through (for a chuck that isn't going to be removed for cleaning). I cut a diagonal across the base of the container allowing more space to manoeuvrer the container to fit over the chuck without enlarging the hole in the centre.

2. Fix the container in place with a bit of tape on the outside of the container. I prefer this to a permanent mounting for easier cleaning.

3. Place some paper towel at the bottom of the container to absorb liquid during spin coating, follow by covering the chamber in aluminium foil. Use a bit of tape where needed to keep this from touching the shaft or chuck. This "dressing" should be changed periodically. The foil catches most of the liquid and the paper towel absorbs most of what gets past the foil.

Bonus: After using the double sided tape method for attaching samples, I took a hint from Ossila (They have some quality lab equipment) and cut up an old credit card to make a vacuum-less/tape-less mount for my samples.

Step 7: Building the Control Circuit

Looking a pictures above you'll see a neat circuit diagrams and a bread board implementation. I used separate 12V 500mA power supplies for the motor and control circuit since the motor is rated for 500mA, as a rule of thumb its better to have 20% extra capacity on your power supply. If you have a power supply that can supply sufficient current for both, great.

Rather than a step-by-step how to, lets look at what each section is doing.

The time control circuit turns on and off the spin coater, and controls which of the 2 stages/states the PWM circuit is in and when to switch.

This is done by powering 2 relays though MOSFET transistors. A SPST relay controls on and off, and a DPDT relay controls which of two pots set the duty cycle of the PWM circuit.

The PWM circuit is simply an NE555 timer in astable operation. The duty cycle in controlled by pots, where the ratio of the set resistance to the value of the pot is the duty cycle (see "speed selector block" in the schematic).


MOSFETS are used since they allow switching of power drawing negligable current through their gate terminal. This allows us to store charge in capacitors to power the MOSFETS which in turn drive the relays. A momentary contact push button is used to charge the capacitors. Diodes are used between the momentary contact and the capacitors to prevent current flow from one capacitor to the other.


The principle for controlling the time of the 2 stages is the discharge of capacitors through a resistance. This resistance is set by pots, the higher the resistance the slower the discharge. This ideally follows τ = RC, where τ is period or time, R is resistance, and C is capacitance.

In the time circuit used there are 2 x 500K dual pots, this means for each pot there are 2 sets of terminals. We take advantage of this by wiring the second pot in series with itself and in series with one of the first pots terminal sets. This way when we set resistance on the first pot it will add the equivalent resistance to the second. The first pot is limited to 500K while the way the second is wired, it will have a resistance up to 1000K plus the value of the first pot. To include a minimum resistance I further added a fixed value resistor to each line as per the circuit diagram.

Step 8: Calibration and Testing

After finishing the spin coater I proceeded to test it. The picture of samples above has a sample (hybrid-perovskite) made on an expensive spin coater on the left and the spin coater described in this Instructable on the right. These the spin coaters were set to the same speed.

The spin coater can be calibrated either against voltage or against the position of your speed pots. I initially calibrated using voltage followed by marking the speeds/positions I use most often on the pots.

When calibrating with voltage I am unsure whether different multimeters will read the PWM signal as the same voltage, because of this I always use the same multimeter I calibrated with if I need to set the spin coater to a speed which doesn't have an associated marking. The voltage was read at the output fed to the motor. The multimeter was not connected while the speed was being measured to avoid the possibility of the multimeter reducing the current supplied to the motor.

1. In the section about speed testing the process to speed test was detailed. Repeat this process at various positions on the speed control pots, try include the speeds you intend to use the spin coater at and the minimum and maximum speeds. About 5 measurements should be enough. For each speed record the position and/or voltage.

2. Put the calibration speeds and voltages in Microsoft Excel, then plot a graph

3. Add a trendline to your data. Use the simplest fit that will explain the data trend, ideally a linear or 2nd order polynomial.

3a. To do this in Excel, select your plotted graph, go to the layout tab in the options ribbon

3b. Click on the "Trendline" icon.

3c. Select "more trendline options"

3d. Choose your option and tick "Display Equation on chart" and "Display R-squared value on chart"

Hopefully you have a good fit, now you can use the equation to calculate the RPM from the voltage supplied to the motor.

Since and reader is likely a scientist...

Pipette technique: In the video I used the micro-pipette at an angle, this helped me keep my arm out of the video. Ideally the pipette should be vertical and as close to the sample/substrate without touching it as you can reliably repeat.

Film quality: Some of the features in the deposited thin films in the picture can be avoided by filtering the precursor solutions before use (such as using a 33 um PTFE filter). The lighter film colour seen from the "fancy" spin coater may be a result of the ramping rate and atmosphere. The "fancy" spin coater was manufactured to only operate with a high flow of an inert gas as such the films were spin coated in nitrogen on the "fancy" spin coater and air in the DIY spin coater.

Step 9: Acknowlegements

This brief section to give context of where I study and the groups that support my research which is focused around hybrid-perovskite photovoltaics.

  • University of the Witwatersrand, South Africa
  • National Research Foundation (NRF), South Africa
  • Gerry (who machined the aluminium spin coater chuck)