The simplest DIY contact mic is a piezo disc soldered to a mic cable. The impedance mismatch creates a high pass filter which produces the scratchy, honky sound that I’ve always associated with contact mics. (OK, maybe the “simplest” contact mic is homegrown piezoelectric rochelle salt. Whoa!)
In 2009 I found a link to Alex Rice’s piezo preamp (www.alexrice.co.uk/content/piezo-preamp), a phantom-powered preamplifier that provides a balanced, buffered output from a lowly piezo disc. It sounds great, but it’s been offline since sometime in early 2011. Before the site went down, I did a version in CadSoft’s Eagle PCB layout software and sent it to Alex to include on his site. (His original design was done with Kicad.) Now that his site seems to be gone forever, I’ve collected everything here.
Download Alex Rice’s files + my Eagle version (zip archive)
Alex Rice is responsible for the design. I’m re-distributing everything in accordance with his Creative Commons Share-Alike 3.0 license. Please read the license file in his original folder for details.
Differences between my version and Alex Rice’s original:
- My version was done with Eagle, not Kicad
- I used through-hole components on a small PCB to fit on the back of a 35mm piezo disc. He used SMD components to fit into an XLR shell.
- NOTE: His site contained a schematic jpeg which I used to recreate the preamp design in Eagle. I’ve never opened the Kicad files, so there may be differences that I don’t know about. I’ve built it and it works, though.
Zeppelin Design Labs sells a contact mic kit called the Cortado based on this circuit (also available pre-assembled). I don’t have it, but the schematic is identical to Alex Rice’s original, the price seems extremely fair, and the manual and documentation are fantastic.
Check out mo-seph’s version that uses surface-mount components. (It fits inside a bottle cap!)
Sagittronics did thorough tests and simulations of the circuit, and even drew up PCBs for a through-hole and SMD version of the circuit. You can buy the boards from OSHPark for cheap and build it yourself!
Greg Perrin drew these beautiful plans for how to build this circuit on perfboard:
Here is the original text of Alex’s page (no pictures) courtesy of the Internet Archive’s Wayback Machine:
What does it do?
This is a high impedence phantom powered balanced preamplifier designed to make piezo contact microphones sound awesome although it could be used for any high impedence source such as guitar pickups. It takes a balanced high impedence input and produces a balanced low impedence output with around 20dB of gain using just 12 components (8 with some caveats).If you use SMT components it fits inside a male XLR jack shell using the PCB below.
(schematic image missing)
How do I use it?
XLR 1,2&3 are the outputs and connect to pins 1-3 of a male XLR plug. Pin 1 is ground the other two are the ‘hot’ balanced differential outputs. IN1 and IN2 are the inputs from your high impedence source, in the case of a piezo element that’s the two wires connected to it. GND is the connection for the screen of the cable that goes to the piezo element. The element itself should be surrounded by a grounded shield such as a piece of copper foil. If you are using an unshielded piezo element then you may prefer to treat it as a single ended source and ground one side which will reduce hum pickup but sacrifice 6dB of gain. The cable to the preamp should ideally be short or the capacitance of the cable will start to affect frequency respsonse although actually I suspect that with it’s balanced input it will actually work perfectly fine with cables up to a few metres.
Note from Zach: The balanced piezo wiring confuses people. Here’s a clarification:
- Connect the center of the disc to PZ-IN1 on the preamp.
- Connect the brass edge of the disc to PZ-IN2 on the preamp.
- Cover the disc with a layer of electrical tape so no metal is visible.
- Cover the disc with conductive foil tape & connect the foil to PZ-GND on the preamp.
This creates a balanced connection. (Alex Rice mentions that you can wire it unbalanced (“single-ended”) if you want, but I’ve found the increase in noise is noticeable.
To actually use it plug the XLR plug into a mixing desk (via an XLR cable) and turn on the phantom power. Prod the piezo element, you should hear something. Now go stick it to stuff round the house and you should hear many things; strange things.
If you plan on using this for a guitar then 12dB of gain (you loose 6dB by grounding one side) is likely to be too much in which case you could add source resistors (between the source of each FET and the current source). A pair of 2k resistors drop the gain to about 6dB, 3k resistors give 3dB. If you are using a single ended source like a guitar then tie one input to ground – the differential amplifier will still give much better performance than a single fet because it’s output is balanced so hum rejection should be excellent.
How does it work?
It’s design is at least slightly novel as far as I know and is the result of a lot of fiddling around with circuit simulators and breadboarded prototypes. The credit for the basic idea of putting a FET in a plug goes to J. Till.
It’s basicly a standard FET differential amplifier with a couple of tricks to keep component count and noise down and input impedence up. It takes advantage of the fact that phantom power is fed to the balanced XLR inputs via pair of closely matched 6.81k resistors. These resistors are used directly as the drain resitors in the differential amplifier rather than the more usual method of connecting an additional pair of matched resistors to each line to create a +48V supply rail and then feeding the signal back through DC blocking capacitors. Since the mixing desk already blocks DC at it’s inputs it’s not a problem that the signal is floating at +45V or so.
Q1 and Q2 are differential pair. Q3 is a current source to improve CMRR by reducing the effect of Q1-Q2 not being precisely matched, this could be replaced with a current regulator diode (if you can source one) or a 22k resistor if you accept reduced performance (+22dB common mode noise for 10% matched FETs in theory, in practise it doesn’t seem to make much difference). Together with the circuitry in the mixer they make a differential amplifier. The gain of the amplifier depends somewhat on the transconductance of the FETs themselves since it operates largely without feedback
C2 and C3 are DC blocking capacitors to stop the piezo element floating at ~25V, if the piezo is insulated you can dispense with them but they’re so small that they’re worth it for peace of mind – if the piezo touches a grounded object it’ll create a huge bang which may hurt your speakers or your ears.
R1,R2,R5,R6 are the bias network for the fet inputs, R5 and R6 feed some of the output back to the input which increases gain and input resistance. R5 and R6 linearise the outputs of the FETs by applying a signal of Vgs/2 to the gate which both increases gain and reduces distortion. FETs without feedback mostly introduce 2nd harmonic distortion, if for some reason you _want_ this then increase R5 and R6 but if you increase it beyond about 10M you’ll start to get some HF roll off.
C1 and R4 are a Zobel network to avoid oscillation in the mic cable. This idea came from Rod Elliott. If you plan on driving very long lengths of cable a pair of 220 Ohm resistors in series with the output would further reduce the risk of HF oscillations. If you do this they should be closely matched
Component Selection :
Q1 and Q2 need to be a closely matched pair of N-channel FETs with an Idss of 1-2mA, a Vbr of at least 25V and low noise. This can either be a pair of separate devices (J201, 2N3819 etc.) matched by hand from a selection of devices or a single monolithic dual FET (2SK389, LSK389 etc. ). The latter offers significantly better performance but is more expensive and harder to source. FET matching can be done according to various methods, but I’d reccomend one like this (original link broken. Try this instead) which matches them by Vgs for a particular Id, usually 50uA or so
My prototype was built using a pair of 2N3819s matched rather approximately by Idss to about 1mA and is very quiet using a shielded piezo element, but will pick up some hum if you touch the unshielded element, given that the hum pickup on a human can often be to the order of several volts thats not really surprising.
The source resistor for the current source needs to be selected to give the correct quiescent current. I think that the optimum for most FETs is about 0.5mA per FET but it’s actually rather uncritical. More current means more gain and less noise but reduces the common mode rejection. Anything between about 0.1mA and 0.5mA per FET is fine. For a J201 this means 500 – 1k, for 2N3819 about 1k – 2k. Since parts with a lowish Vgs are preferred for the differential pair you could use the ones with a higher Vgs for the current source.
Note from Zach: Alex Rice didn’t include a specific parts list, so here it is:
- Q1,Q2, Q3 : 2N3819 or J201 JFET
(I used 2N3819. If you try other FETS, be aware that they may have different pinouts.)
- R1,R2,R5,R6 : 3 megohm resistors
- R3: depends on JFET type and individual properties: J201 = 500 – 1k, 2N3819 = 1k – 2k
- R4: 150 ohm resistor
- C1,C2,C3 : 220 picofarad film capacitors (50v or greater rating)
- Foil Tape with conductive adhesive (see my piezo disc wiring note above)
- Male XLR connector
- Balanced mic cable (2 conductors + shield)
This is a simulation of the preamp being fed by a typical piezo element which is represented by a voltage source in series with a 5nF capacitor, this is typical of a 15mm piezo disc. The FETs are matched to about 10%. It’s driving a simulated 15m mic cable. As you can see the common mode gain (red line) is very low (about -80dB) and the differential mode gain (blue line) is about 20dB which is sufficient to get a decent signal from even very quiet sources (eg. footsteps on a concrete floor) without excessive noise from the pre-amps in the mixer. Frequency response is 20Hz – 30kHz (-3dB) but this is adjustable; gain at very low frequencies may be undesirable in which case you can reduce the values of R1,R2,R5 & R6 or use the low-cut button common on many mixers
How could I use it if I don’t have a desk with Phantom Power?
You’ll need to make a breakout box containing some 9V batteries to provide power, a pair of 6k resistors and some DC blocking caps. You can select the current that through the FETs when you build the device, if you plan on running it off a battery (or from a battery powered device with phantom power) you may wish to reduce the quiescent current from the normal ~1mA, to about 0.1mA or less to increase battery life. This will increase noise by a few dB but that’s unlikely to be a problem.
(PCB Layout image missing)
My brother didn’t think I could fit it inside an XLR plug. He was wrong. This is a tiny (11.5mm x 18mm, or about half the size of a postage stamp) PCB designed to fit inside a Neutrik XX series plug. The tab that sticks out of the pcb is going to be epoxy glued into a recess in the connector, holding the PCB firmly in place. Here’s how it looks in situ.