Introduction: HDD Circular Chart Recorder

About: I am a retired Electronic Systems Engineer now pursuing my hobbies full time. I share what I do especially with the world wide student community.

Several of the 'Environmental Test Chambers' which I have come across during the 'Stress Screening' of electronic subsystems were fitted with 'Circular Chart Recorders' which recorded process parameters such as temperature, humidity and pressure-altitude on a circular chart as a real time record of the overall test plan.

Recently my computer Hard Disk failed and I opened it up with a view to see if something could be made out of the basic parts.

The similarity of construction between this HDD and a circular chart recorder immediately struck me:

  1. Both have a circular platter which rotates at a predetermined speed
  2. While the HDD records data on the magnetic material of the platter the chart recorder writes on chart paper using a suitable marking mechanism
  3. The moving arm which carries the writing mechanism is operated in both cases by an electromechanical system

Keeping this in mind I set about trying to modify the HDD to a circular chart recorder.

In the steps ahead I will bring out:

  1. How I considered using the spindle-motor itself for the chart drive
  2. Finding this unsuitable, how I experimented with an unipolar stepper motor from an old HP printer
  3. How I experimented on various methods of adding a spring onto the electromechanical arm so as to convert it into a D'Arsonval galvanometer
  4. And how I added a clutch-pencil tip to the end of the moving arm to write on the chart paper

Finally I realized that although the concept is good, several practical problems came in the way of attaining a working system. I document these findings and suggest possible ways ahead.

I would appreciate any feedback to get this project working!

Step 1: Spindle Motor for Chart Drive?

I disassembled the spindle motor and examined its mechanical and electrical characteristics.

I used a small compass to mark out the N/S poles of the annular magnet within the spindle. I found 4 pole pairs.

The spindle motor is basically a brush-less motor and the winding is arranged as a 'Y' with 3.3 Ohms between terminals.

When used as a stepper I found that there are 6 X 4 = 24 steps possible. However because of the 'Y' configuration and the center-tap not being brought out micro-stepping would not be possible.

It is therefore not possible to use this motor for the chart drive as the rotation resolution would be very poor.

Step 2: Unipolar Stepper Motor for Chart Drive

I had a PM35L - D48 stepper motor which was removed from an old HP printer. The basic motor has 48 steps/revolution. I worked out that if this motor could be micro-stepped by a factor of 4 then this would give 192 steps/rev. This would work out to 3.75 min per step for a 12 Hour circular chart. I considered this acceptable to start with.

The spindle motor would have to be replaced by this stepper operated in a micro-step by 4 mode.

To check this out I rigged up a circuit based on the ULN2003 driver IC with inputs connected to the outputs of a PIC16F628A microcontroller.

The unipolar stepper has two split windings with the center-taps connected together. I worked out the sequence for rotation in single-step, step/2 and step/4 modes. Basically the single step mode uses one winding at a time. The step/2 mode uses one winding followed by two-windings in sequence. To obtain the step/4 mode it is necessary to also create a winding-current X 0.41 mode for each winding. The corresponding drive sequence is also provided in the figure.

The ULN2003 has 7 internal drivers but the step/4 scheme requires 8 drivers. An additional driver is provided by a NPN transistor.

The figures show:

  1. The stepper motor with temporary position indicator
  2. ULN2003 driver circuit and coil schematic
  3. Step sequence and binary output required for different stepping modes
  4. Breadboard for the PIC16F628A microcontroller
  5. Breadboard for the ULN2003 driver
  6. C-Code for the PIC16F628A to check out step/4 mode

This short video shows the micro-stepping action:

Step 3: Adding a Torsion Spring to the Voice-coil Arm

The voice coil arm position in a HDD is based on feedback of position based on data read from the rotating magnetic platter. Without this feedback the arm is in open-loop and goes from one end to the other based on the direction of the coil-current.

I experimented in a number of ways in order to convert the arm-movement to a D'Arsonval type of Permanent-Magnet-Moving-Coil (PMMC) type of galvanometer.

The existing mechanical arrangement provided 3 ways of adding a torsion spring:

  1. From the bearing mounting point to a small hole close-by on the arm
  2. From the bearing mounting point to a hole at the end of the arm
  3. And from a rear mounting point to the hole at the end of the arm

I tried all three methods with several assorted spring wires and finally settled on the third method as it gave a fairly uniform deflection for +4.5V to -4.5V. This would be within the current rating of the coil.

It was also necessary to add a rubber piece as a stopper for the arm inner deflection limit so that the arm did not go into the keeper position.

This scheme worked well.

Step 4: Adding the Marking Mechanism

Keeping in mind that the chart-recorder would normally be kept in a vertical position and that the voice-coil arm was very delicate I ruled out using a pen-tip as it would not work in the resulting horizontal position. A simple pencil lead scheme seemed most appropriate.

I removed part of a 0.5 mm clutch pencil tip and kept it ready

Next a cut off the existing magnetic read/write head from the upper arm and replaced it with a folded piece of copper sheet soldered onto the end.

To this I soldered the pencil hollow cylindrical portion approximately 5 mm length. And inserted a lead piece approximately 4 mm into this.

In order to provide sufficient pressure for the lead to mark the chart paper I created another vertical tension mechanism soldered to the side of the upper arm.

Now when the arm moved a pencil mark was made on the paper.

Step 5: Nonperformance - Practical Problems - Suggested Solutions

Converting a HDD to a circular chart recorder is a good concept.

Listed are some of the problems leading to nonperformance and some suggested solutions:

Marking Mechanism and Arm Actuation:

The main problem noticed is inaccuracy in marking position on the chart paper due to friction between the pencil lead and the chart paper.

Th reason for this is that the voice-coil arm actuation mechanism was designed to operate practically on no-radial-load as the read/write head of the HDD never touched the HDD platter. Now when converted as a PMMC meter mechanism with a torsion spring the deflecting force due to the coil current in addition to overcoming the spring tension needs to also overcome the lead tip to paper friction.

A possible solution to this is to remove the tension spring and provide a potentiometric feedback of arm position so that this forms a closed loop system. With such a system it would be possible to operate the coil at +12V/-12V as the overdrive would be momentary and the holding current at any position would be within limits.

As the voice coil arm is split into the upper and lower portions, the upper portion could carry the marking mechanism and the lower form the arm/wiper of a potentiometer. (Unfortunately I cut off the lower portion on my HDD).

The electro-magnetic arm could be replaced by a scheme based on another stepper motor but this would take away the elegance of using as much of the existing HDD as possible.

Chart Drive:

A stepper motor is suitable for the chart drive but the step size needs to be reduced. Ideally one step every minute as compared to a step every 3.75 minutes is desirable.

Chart Paper:

It is not easy to insert the chart paper onto the platter and a simple scheme for fixing the paper in place needs to be worked out.

Functional aspects:

The implementation of the chart recorder functions should be fairly easy using a microcontroller and any other analog hardware required.


I would appreciate any feedback to get this project working!

Tech Contest

Participated in the
Tech Contest

Robotics Contest

Participated in the
Robotics Contest

Spectacular Failures Contest

Participated in the
Spectacular Failures Contest