by Karl Cunningham

This page has several diagrams and photos totalling over 300KB. For those of you who would rather browse offline, download this ZIP file. Just unzip the file to a suitable subdirectory and point your browser to the index.html file.


When I set out to build this seismometer, my primary goal was to have fun and build something useful. I wanted something that could detect earthquakes -- both local and teleseismic -- that would be fun to build and operate.


Building a seismometer is something I've wanted to do for a long time. When I was around 9 or 10 years old, I read a book about how to measure earthquakes. Written for children, it discussed various ways such as a pendulum scratching carbon off a smoked drum, reflecting a light beam onto a wall, etc. Well, this put the bug in me. Although it's had to endure a lot of other sidetracks, my desire to build a seismometer has finally gotten a chance to come to the fore.

My style of construction is to try to do things a bit better than is needed. This tends to make up somewhat for my lack of knowledge and fabrication skill. I figure I can always learn from my mistakes and build a really good one next time. Also, I enjoy challenges and building things that are a bit unusual.

This represents my first effort at building a seismometer, and I hope to be able to build a few more in the years to come. I especially want to build a vertical force-balance unit. As always, I encourage anyone to make comments, suggestions, criticisms, or just tell me that you saw this page! Email me at karlc at domain


A mass maintained in a fixed position relative to the surface of the earth will undergo the same acceleration as the surface of the earth below it. If the device that is used to maintain the position of the mass relative to the surface provides a means of measuring the acceleration of the mass, the acceleration of the surface of the earth can be derived from that measurement. The force-balance seismometer described here includes the mechanics to provide a single-axis inertial frame for the mass, and then exerts a force on the mass to maintain it in a fixed position relative to the surface of the earth. It also provides a mechanism for measuring the force exerted on the mass, which is used to measure earth acceleration.

The mass is suspended on a boom in the traditional "garden gate" or Lehman type of arrangement. It is essentially a pendulum. In the classical simple pendulum, there is an exchange of energy between potential energy (energy of the mass being lifted slightly against gravity when the pendulum swings away from its center), and kinetic energy (the energy of the moving mass). In the garden-gate suspension, the mass is fixed to the end of the "gate" and the hinges of the gate are positioned such that the mass is lifted very slightly when the arm swings away from center. The period is adjusted by changing the relative positions of axes of the upper and lower hinges. With a little care, periods of twenty seconds or more can be obtained. In a force-balance system, the period of the pendulum is not as important and can be short (1second or less) to long. In fact, it still works well if the pendulum is adjusted such that the period is greater than infinite -- a condition where, if unrestrained, the mass will fall away from center. However, the natural period is important in the feedback system design, and directly affects its performance. This will be described later.


Overall design

Click for Larger Version

Click here to see a larger version of this diagram, including some dimensions. There also are photos here.

A block diagram of the electronics is available here.

I use many 10-32 x 1½" socket-head cap screws in this device, because I got a bunch of them surplus. Other screws can be used, of course. The base plate is ½" aluminum, about 6"x24". If I were to do it again, I'd use a thicker base plate -- maybe 1" or 2". ½" just bends too much. Four 10-32 adjusting screws provide leveling. I originally had three, but a torsion resonance of the base plate caused the system to oscillate, and going from three to four fixed the problem. The mast attaches on the centerline of the base plate and is made with two ½" square aluminum bars which are screwed together. In between the two bars is sandwiched a piece of 0.040" aluminum sheet that forms a support web for the mast. I added another web to support the mast from the side, to reduce resonances in the mast.


The boom is made of a piece of 3/8" diameter brass tubing, with 1/32" thick walls. If I were to do it over again, I would make it out of something much stiffer. I added a truss to the side of the boom to reduce resonances, but it's still flimsier than I'd like.


See photo.

The mass is five pounds of lead. I made a box out of brass sheet -- 2½" square and 2" high -- then drilled 3/8" holes in the front and rear of the box and inserted the boom. I slowly melted the lead into the box using a propane torch. Since I didn't pour molten lead into the box all at once, I didn't have to seal the corners of the box. This worked well but doesn't allow the mass to be removed from the boom.


The boom pivot is made from the 5/32" diameter shank of a solid carbide drill bit. These drill bits are commonly used for drilling PC board, and dull ones can be had from many electronic surplus stores. These make very good pivots since the tungsten carbide is very hard -- harder than glass and a lot harder than steel. I sharpened one end to a point by chucking it into a power drill and spinning it against a grinding wheel. (Wear eye protection if you decide to do this!) Carbide is very brittle and even sudden thermal expansion can cause it to shatter like glass. On normal grinding wheels, it tends to dress the grinding wheel in addition to being ground away by it, so it's not the most effective way to do it but it works. The pivot is glued into a bushing that just fits inside the boom. The reaction plate for the pivot is made from a piece of a parallel. Parallels are used by machine shops for setup purposes and are made of hardened steel that is ground flat. The one I used is 1¼" wide by 5/32" thick and about 4" long. I clamped it to the mast with some pieces of steel and a couple of 10-32 screws. I made a dimple in the parallel for the boom pivot with a center punch. It severely dulled the center punch, but made a very slight dimple with a very round bottom -- ideal for keeping the pivot from slipping.

I thought about making a knife edge for the boom pivot (which would have cut down on the twisting of the boom), but figured that it would never be adjusted quite right and it would wind up pivoting in only one spot anyway. And I didn't want to take the time to make some sort of gimbaled arrangement.


The suspension is composed of two parts -- some brass sheet and a short length of piano wire. The brass sheet is cut in a triangle, with the wide end toward the mass. It is tapered to cut down on twisting movement in the boom. The wide end is about 1¾" wide and tapers to about 3/8" wide near the top of the mast, and is joined to it by a piece of 0.015" piano wire. It is quite short (< ½") to reduce resonances. The wire passes over a fulcrum made from a 10-32 screw that has been filed to provide a sharp edge for the wire to pass over.

I used a tuning mechanism from a guitar to allow fine adjustment of the length of the piano wire, and hence the height of the boom. The force coil requires that the boom height be maintained within 0.030" or so, and the LVDT core must be positioned within 0.020" to keep it from rubbing. I got the used guitar tuner from a guitar repair shop for $100.

Here is a sketch of the stuff at the top of the mast, and here is a photo.


There is a photo here.

The force-balance coil mounts to the boom about 2" from the mass, and the force-balance magnet is mounted to the base plate so that the coil will just slide into the magnet. The coil I used is from a surplus store and was out of an electronic scale. It was used in the scale in a force-balance arrangement, has a dc resistance of about seven ohms, and with the magnet that came with it the current-force transfer function is about 520 grams-force per amp. This system is much like a speaker coil and magnet, and as such, positioning of one with respect to the other is critical to keep the coil from touching the magnet. I figured that the mechanical setup was stable enough that I could rely on it to maintain the clearances required between the coil and magnet, and this does seem to be the case. However, if I solder on parts of the boom or suspension, the coil rubs on the magnet until the whole thing stabilizes in temperature again.

The wires from the coil run along the boom to terminals mounted on the boom near the pivot. Another set of terminals is mounted on the mast just above the pivot. These two sets of terminals are connected together with two pieces of #38 magnet wire, coiled like small springs. The length of each wire is about 14", but when coiled is only about 2½" long. This arrangement provides electrical connection but adds almost no friction to impair the movement of the boom.


My understanding of how LVDT's work is a bit limited, but here's a brief description. It is constructed with three coils on a bobbin, forming a transformer. Herceg1 gives a good description of how LVDT's work and how they are constructed. The center coil is the primary and the two outer ones are secondaries. A movable core is inserted into the center of the bobbin. The core is long enough to extent roughly from the midpoint of one secondary to the midpoint of the other secondary. When the core is centered within the coils, the field induced in each of the two secondaries is equal. If the core moves toward one of the secondaries, that one will get more field coupled into it, and the other one will get less. Measuring the difference between the two secondary's voltages provides a method for accurately measuring the position of the core.

The primary is excited with a fixed-frequency oscillator and the secondaries are wired in series-opposing, such that if the voltage across each secondary is equal, the resulting output will be zero. When the core moves away from center, the output will increase; and the phase of the output signal is a function of which way the core has moved. I used a synchronous detector to get an output voltage whose polarity indicates which side the core moved to.


LVDT Cutaway

Click Here for an enlarged view.

There is also a photo of the LVDT.

I planned the LVDT to have a linear range of about ±0.1". It was wound using #38 magnet wire on a bobbin about 0.25" OD. The bobbin was made from a piece of plastic much like a heavy-duty soda straw. I glued round plastic washers onto the bobbin to segment it into areas for the primary and each secondary. The primary is 1000 turns wound over a length of about 0.42", and each secondary is 1500 turns wound over a length of about 0.66". In LVDT construction, symmetry about the center of the primary is very important. Otherwise, the output voltage in response to core movement will be non-linear, which complicates the force-balance feedback design no end! I layer-wound each winding, being careful not to let the wire bunch up. As each winding was completed, the wires were taped down and when the whole thing was done, the connections were brought out using #30 hookup wire. The core was made from a piece of 3/16" O-1 (oil-hardening) steel in the annealed condition. The core is about 1¼" long. I glued a 4-40x1" stainless flat-head screw to each end of the core, to provide a means of attaching to it. In operation, the core is centered in the bore of the bobbin and mustn't touch it. The clearance around the core is about 0.02".


See Schematic

The oscillator that feeds the LVDT must be very stable with respect to frequency since the zero offset of a non-ideal LVDT varies somewhat with frequency, and excitation frequency changes would show up as noise at output of the seismometer. The electronics is enclosed in an insulated box to keep frequency changes due to changes in temperature slow enough to be below the bandwidth of interest. The oscillator uses a Wein-bridge design with an amplitude regulator. Amplitude changes in the excitation signal will affect the output of the LVDT too, but only cause a gain error. I figured that since the system will be operating with the LVDT centered most of the time, this would not be much of a problem, and if the amplitude changes were limited to less than 1%, it should be O.K. The excitation output is about 2.8volts RMS., and its short-term amplitude stability is better than one millivolt RMS.


See Schematic

The output of the LVDT feeds an ac amplifier with a gain of about 100. The output of this stage is fed directly to the demodulator and also to an inverter stage. The inverter has a gain of -1.0 and its output also feeds the demodulator. Thus there are two inputs to the demodulator -- one inverted, the other not inverted. The demodulator samples each input alternately, synchronized to the oscillator. The output of the demodulator feeds a first-order low-pass filter with a cutoff of about 10Hz. This filters out the output of the demodulator, which is similar to a full-wave rectified sine wave when the LVDT's core is away from center. The ratio of excitation frequency of 5kHz to this 10Hz filter gives pretty good carrier attenuation. Another amplifier stage with a gain of 1.7 is connected after the demodulator to allow a 10-volt full scale output from the LVDT conditioner, since the output of the 10Hz filter is only about 6 volts when the amplifier stage starts to clip. A worthwhile change here would be to combine the gain-of-1.7 stage into a multi-pole low-pass filter which would provide better carrier rejection.


For best linearity around the center of its travel, the LVDT's null voltage must be adjusted. When the core is mechanically centered within the windings, some residual output is usually present due to imperfections in construction (especially my construction). When a resistor is paralleled across one of the secondaries, it should be possible to reduce the null voltage to a few millivolts. The output of the gain-of-100 stage is monitored with an oscilloscope and the resistor adjusted for lowest output at null. Move the core back and forth through null while adjusting the resistor value for minimum null voltage.

The sensitivity of the LVDT with the conditioner gains described above is about one volt per 0.0037" of core travel. With a ±10volt output from the conditioner, this results in a full scale travel of ±0.037" (about ±1mm). The LVDT's output noise (related to core travel) is less than one nanometer RMS., over a bandwidth of 0.03Hz to 10Hz, which gives a signal-to-noise ratio of better than 110db. I think this could be improved quite a bit more with work on the LVDT conditioner, and thermally insulating the LVDT's windings from the air. This is more than good enough for 16-bit resolution, but there will be other compromises that reduce this later on.


See Schematic

The following is my analysis of the feedback circuit. These types of systems are not my specialty, and I may have missed the boat in places. Comments are appreciated.

The feedback circuit comprises a single stage, uses the LVDT conditioner's output as its input, and feeds the force-balance coil. The feedback circuit has two components -- one proportional and one differential. The proportional path feeds 0.575 milliamps into the force coil per 0.001" of LVDT travel, which is about 300 milligrams force per 0.001" of travel of the mass. Since the mass is five pounds, this translates to an acceleration of the mass from the feedback coil of 0.013%g per 0.001" of travel of the mass.

If the Lehman pendulum system is adjusted for a natural period of 10 seconds, the vector component of gravity trying to restore the mass to center will be 0.37 milligrams per 0.001" of travel. Since the feedback system is providing a restoring force of 300 milligrams per 0.001" of travel, the feedback system will restore the mass to its center position with an imperfection of less than 0.12% (>800:1). This represents measurement error and is plenty good enough for my brand of seismic work.

The foregoing analysis is all at dc. Above the natural frequency of the pendulum, the effect of the force coil on mass displacement decreases at a second-order rate (12db per octave). Force is proportional to acceleration, yet the feedback signal is derived from the LVDT output which is proportional to the position of the mass. Position is the double integral of acceleration. This means that the phase shift around the loop is 360 degrees lag (90 degrees for each of the two integrals, and another 180 since it is negative feedback). With any gain, this phase shift of 360 degrees will make an oscillator. And with just the proportional feedback term, it did oscillate. That's why I incorporated a differential term too. It subtracts 90 degrees of phase lag and stabilizes the loop. It also has the added benefit of extending the loop gain to a higher frequency than it would otherwise go.

Since the force-to-mass-position function is rolling off at 12db per octave, even with a loop gain of 800 at dc it doesn't take very many octaves before that loop gain is used up. If the natural period of the pendulum is 10 seconds, the loop gain will be down to 0db at about 2.8Hz. I measured about 4Hz, so this analysis seems to be close. Anyway, the upshot is that the upper frequency limit of the force-balance system is about 4Hz.

I experimented with the differential feedback term and arrived at a function where this feedback comes in at about 0.4Hz and increases loop gain by an additional 11:1 at 5Hz. This stabilized the system and improved its high-frequency response.

I had a lot of trouble with high-frequency peaking and/or oscillations caused by mechanical resonances. I believe this was due to the fact that with a resonance, the force-coil-to-mass response wasn't dropping at 12db per octave in the neighborhood of the resonance, causing peaks in the response. This, combined with the differential term in the feedback, would cause peaking/oscillations at frequencies around 15 to 30 Hz. These were not too difficult to find -- just play with some foam rubber and see where it is most effective at damping. It gets a little tricky when you have several resonances simultaneously, but liberal application of foam does wonders.


The voltage representation of the current being fed to the force-balance coil is proportional to the acceleration of the mass, at least below 4Hz or so. I wanted to have a velocity output, which requires one integration, and I wanted it to cover the frequency range of 0.01Hz to 5Hz. This would have required a gain range of 500:1 in the integrator -- either a gain of 500 before the integrator and an attenuation of 500:1 in the integrator at 5Hz, a gain of 1 before the integrator and a gain of 500:1 in the integrator at 0.01Hz, or some combination. I wanted to preserve 16-bit stability (with a full scale of ±10V), which requires sub-microvolt stability before the 500:1 gain. This not being feasible with the circuit I have, I decided to break the output stage up into two paths, one for long period (0.01Hz to 0.5Hz) and one for short (0.1Hz to 5Hz). This would reduce the gain range requirement of each output to only 50:1, although at an expense of simplicity.


See Schematic

The short-period conditioner consists of a high-pass filter, dc blocking capacitor, integrator, low-pass filter, and line driver.

The high-pass filter is third-order and has a cutoff frequency of 0.1Hz, and the dc blocking capacitor has a cutoff of 0.05Hz. The integrator starts with a gain of 50:1 at 0.1Hz, and the third-order low-pass filter has a cutoff frequency of 5Hz. The low-pass filter is constructed so that its gain may be set to either 1 or 10. This is to accommodate both the 12-bit A/D I've used for development, and higher-resolution A/D's I plan to use in the future.

The line driver has a differential output stage -- one which produces a voltage referenced to ground at the A/D converter, rather than being referenced to the local ground.


See Schematic

The long-period output has a dc blocking capacitor, gain of 50 stage, first order high pass filter at 0.01Hz, integrator with an attenuation of 50 at 0.5Hz, third-order low-pass filter at 0.5Hz, and line driver.

The dc blocking capacitor had a cutoff at 0.01Hz, and the integrator has unity gain at 0.01Hz. The third-order low-pass filter has a cutoff of 0.5Hz, and like the short-period output. this stage can be set to a gain of 1 or 10. The line driver is the same as for the short-period conditioner, described above.


The seismometer is housed in a box of 3/8" plywood, glued and screwed together. It has about 3" clearance from the seismometer on all sides, and about 2" of that is taken up with insulating foam. A 2-watt heater resistor is mounted at the very top of the mast to help stratify the air in the box and reduce convection currents. The electronics are located outside in a thermally-insulated metal box, and that box is fastened to the side of the plywood box. The power supply mounts in its own metal box, located away from the rest of the electronics to reduce 60Hz magnetic pickup from its transformer.

A military-type circular connector is used to make electrical connections between the electronics and the LVDT, coil, heater, etc. Small-gage wires are used between the connector and a terminal board, and the terminal board is held down to the floor by a weight. This combination reduces the possibility of mechanical vibrations being induced into the seismometer through the wires from outside the box.


If I've calculated it correctly, both output stages should have a sensitivity of 2.2x10-5m/s per volt of output (with the low-pass filter stage set to a gain of 10).


In operation, the long-period output has a lot of noise at low frequencies. It is very sensitive to what I think is actually tilt of the concrete slab under it. People walking ten or more feet away affect it, and even though they stand still, it takes several minutes for the output to recover. It does pick up teleseismic events, but it seems as if a step-function of acceleration is being sensed. There is an offset, and then a slow recovery. Naturally, with a 0.01Hz high-pass filter it will take a while to recover, but only if there is a net change in the dc level. A symmetrical waveform whose ampltude decays with time shouldn't have much of a net dc component and the output shouldn't undergo a slow recovery. I think a likely cause is friction in the pivot of the boom, and I'm still experimenting with this.


This output seems to work well. A typical waveform of the 6-second background earth noise is available here, measured using a 12-bit A/D. To me, the waveform looks fairly clean, with not a whole lot of noise being introduced by the electronics. The limit of resolution of the A/D can be seen as discrete steps in the waveform.

A real seismogram can be seen here.


See Schematic

The power supplies are ±15V and are pretty much standard 3-terminal regulator supplies with one exception -- they are controlled by a precision voltage reference. This is so that the voltages on the supplies will be stable, the same today as tomorrow, and with very little noise. I did this to be able to use these supply voltages for whatever I wanted to in the circuit, without having to worry about how much it would vary and how much noise it would introduce.


1. Handbook of Measurement and Control by Edward E. Herceg, 1976, Schaevitz Engineering, Pennsauken, NJ.

Updated 10/11/00 (moved to, 7/8/97.

Please send comments, suggestions, criticisms, or just tell me that you saw this page. Send them to karlc at domain

© Copyright 1997, 2000 Karl Cunningham. All rights reserved.