DIY Direct-drive turntable

Introduction

This page describes the construction of my direct-drive turntable which I built from commonly available items without any specialised machining. Please see the video above to get an idea of how things are mounted since describing it exactly in written form is a bit tedious and will get unnecessarily confusing.

Why direct-drive?

I wanted to build one because of a fascination with it in part, and because of the torque and speed precision that it offers - speed can be controlled by frequency rather than voltage. I searched on the internet for design ideas and most of them were belt-driven designs. I determined that a synchronous motor can be used for this purpose...but finding a suitable unit was hard. Most available were rated for 230VAC/50Hz and offered RPM ranging from 800 to 1600 RPM. To make it run at the slow turntable speeds would require very low frequency sine waves, that too amplified to 230VAC (and even so the torque would remain questionable at such slow speeds) or using gear mechanisms - something I did not want to undertake. Then I thought about using stepper motors as they can be made to turn as slow as we want via suitable digital means. Again a search revealed mostly discouraging posts about using stepper motors for phonograph turntables. Despite this, I thought it worth trying.

All we need to get it to work is a suitable microcontroller and a stepper motor driver with some programming. This is where the Arduino platform comes in.

Parts required

Drive and control system:

Electronics:

Mechanical:

Miscellaneous:

Platter construction

Find the exact centre of all the MDF discs and drill a small pilot hole in all of them. Take any one disc and using the coupler as a template mark out as precisely as possible all the mounting holes in it. Ensure that the holes are enough to allow the 1/2 inch bolt shanks to pass through but not the heads - this is the platter base. In the remaining discs mark out holes at exactly the same positions but drill them big enough to accommodate the bolt heads. When placed on the platter base and matched with the holes you will see that when the bolts are put, the bolt heads are nicely concealed and the top surface is completely flat. The nuts go under the coupler (the opposite side) and are fixed concentric to the mounting holes with super glue.

Next, in the centre of all but the base platter make the centre hole just large enough to accommodate a 7mm spindle of about 1 to 1.5 inch height. For those in India, the earthing pin of a standard 6A plug is exactly 7mm in diameter, and of the correct height to comfortably seat a phonograph record.

Stick one such disc to the base platter which we will attach to the motor using the coupler. At this time do not stick the remaining discs (see the Conclusion section as to why). Place the spindle in the centre and stick it with the rubber-based adhesive.

Note: You may choose a different platter diameter to suit your needs.

Box construction

Make a box with internal dimensions as 16" width, 16" depth, 3" height. This particular width and depth is chosen to accommodate the platter and tone arm which I made. You may choose a different width/height based upon the tonearm and platter that you decide to use.

The below image shows the turntable layout (not to scale). 

Note: The video does not show the "Ready" and "Power" lights - those were added much after I had shot the last clip.

Tonearm construction

Please refer to the following link for details of the tonearm design: 

www.analogplanet.com/content/tone-arm-geometry-101 

I chose an effective tonearm length of 11" (10" spindle to pivot plus 1" overhang). Based on the above page, I arrived at a suitable tonearm "skeleton" with which I made the proper tonearm template, and used that to cut out the actual piece from softboard.

The main horizontal pivot is made by attaching a softboard piece to the ball bearing exterior and then fixing the ball bearing by its centre on to its location, determined as per the layout (by measuring a 45 deg line from the platter centre or spindle and marking a point 10" away on it). The vertical pivot is made by attaching two plywood pieces in parallel at the opposite sides of the bearing and sliding in a 2" long bolt through it and the tone arm (see the video for exactly how this is done). 

Cartridge wiring

Since I did not have the required connectors to attach wires to the cartridge, a google search revealed a very simple and cost-effective way of obtaining them from VGA sockets. Please refer to this page: www.vinylengine.com/diy-cartridge-clips.shtml 

The cartridge wires are then terminated on one side to the connectors and on the other to a female header (4 pins). Wires are secured to the tonearm with some paper tape. An additional male header then carries the signal into the box to the preamp. Again, this is done so that the tonearm can be completely disconnected and removed if need be - makes it easier overall to open the box.

Motor mounting

The mounting of the motor is critical. Since I used a stepper motor, it was found that mounting it to the box's upper panel results in a lot of vibration which is very hard to get rid of. The solution is to mount the motor by its base on to the lower panel of the box. Here we have to ensure that the shaft is located exactly at the point where the platter's centre is - because the tonearm length and pivot locations are calculated based on this. Some error, I guess might be acceptable, but I have not tested for this.

Since the motor is mounted to the bottom panel, and the platter is attached to it by a rather large coupler, opening the box from the top panel becomes problematic. To solve this, I simply cut out a square just larger than the coupler so that we can open the top panel only by detaching the platter from the coupler. Reaching the coupler's hex nuts from under the platter is very difficult.

The electronics

Only the motor related parts are described. Since a stepper motor is being used to spin the platter, it needs to be driven by a suitable driver that is capable of microstepping. Microstepping is required because of the way a stepper motor works - in steps. In between it stops, and this makes its rotation very choppy. This means a motor with a smaller step angle will have much smoother rotation than one without. Microstepping helps us to use a motor with a greater step angle perform reasonably smoothly. The DRV8825 driver offers 1/32 stepping which means that it can cause the motor to step at an angle that is 1/32 of its full step. With a 1.8 deg/step motor this evaluates to 0.05625 deg/step. There are a lot of articles on the internet that explain how stepper motors, drivers and microstepping work.

The above schematic shows how the microcontroller, driver and motor are connected, along with the external switches for start/stop and speed selection as well as the "Ready indicator" (more on this later). Since the board is programmed using the Arduino IDE (language is Arduino C), it becomes very easy to adapt the setup for different motors and drivers. For example, if you use a motor with a different step angle, then its a simple matter of changing one parameter in the code to make it work. Also the above image shows two drivers - A4988 and DRV8825. Both are pin-identical, but the DRV8825 offers a greater current capability and higher microstepping (1/32 against the 1/16 of A4988). My setup uses the DRV8825 driver board.

The three diodes (D1 - D3) shown drop the voltage applied to the Arduino board by about 2V which is a bit useful and ensures safety, since a 12V transformer will provide an unregulated DC of about 17V after rectification and filtering. The driver board is fed directly off the supply as shown (a 12V/2A unregulated wall adapter).

Before connecting the driver to the motor we need to set the current limit on the driver as per the motor's max current. For the motor I used the specification is 6V/1A per phase. This implies that the coil resistance is 6 ohms, and the max current is 1A. Again, there are many internet articles that explain how to set the driver current limit.

Both the Arduino UNO and driver boards are available in online electronics or robotics shops.

Code for the microcontroller can be downloaded from here: 

phono_stepper_drive.zip

The main code is there in the "phono_stepper_drive.ino" file. The "CustomStepperDriveLib.h" is the module or library that implements code to control the driver board. In most cases this will not need to be modified, only the code in the main "ino" file. If you use the code as it is, the available features are only motor speed selection - start/stop is done by powering on/off the microcontroller supply (referring to the above schematic). The code is set up to work with a 1.8 deg/step motor, and 1/32 microstepping with a DRV8825 board. If you use a different motor (or A4988 driver board), be sure to change the relevant parameters in the code (it is hopefully well-documented). The speed cannot be changed while the system is running, nor is there any capability to finely adjust the speed (I had included it earlier but it was unnecessary, and only added extra complexity). You need to stop -> select the speed -> start. Again, change the main code if you want to change the speed on-the-fly.

After starting, there is a delay of about 25 seconds before the "Ready indicator" turns ON (also done in code). This is because of the stepper motor and platter interaction which makes the speed "ring" for a few seconds before it settles to a steady state. A 25 seconds delay gives enough margin before placing the needle on the record. This " ringing" or motor/load interaction is perhaps why use of stepper motors is discouraged for audio turntables.

Depending on the motor, you will need to change some parameters passed to the library such as the driver initialisation parameters. All the documentation is contained within the code. For any help you can contact me as well.

Speed measurement

In addition to the stroboscope disc I measured the speed using a mobile app and here are the results. Speed is within 1.5% of the target values, speed variation is less than 0.2%, and wow is less than 0.1% at both speeds.

33.33 RPM

45 RPM

Conclusion

It is possible to have a direct-drive mechanism using stepper motors provided we keep a few things in mind:

Further Thoughts...

There are alternative approaches to achieving the same or better performance without using a microcontroller. 

And finally, a demo of the turntable...

That's it. Happy building!!