Fork me on GitHub

Project Notes

#271 cordwood/tuner

Use the Boldport Cuttle & Cordwood as a guitar tuner, with a custom input preamp.

Here’s a quick video showing it in action..

Build

Notes

The Cordwood has six LEDs. Six is one of my favourite numbers .. like the number of strings on a standard guitar.

So is it possible to use the Cordwood to detect (even tune) the six strings of a guitar?

I was thinking about doing a complete analogue solution with bandpass filters (probably active filters in order to get very tight passband frequencies). Maybe later, but to start I wanted to try an Arduino-based approach I’d seen in an Instructables article by Nicole Grimwood.

Input Preamp and Filter

I’ve modified the circuit to take an input from an electret so I can use it with acoustic instruments, and adjusted the OpAmp configuration for simple single-supply operation using a basic LM386 audio amp.

The electret microphone is biased with a 10kΩ resistor and coupled to the amplifier with 100nF capacitor.

The LM386 uses a standard 200x gain configuration with a 10µF gain control and 10µF bypass capacitors.

On the output:

  • 22kΩ voltage divider and 220µF capacitor biases the output to VCC/2
  • a low-pass filter at a corner frequency of 723Hz cuts out most of the high frequency harmonics and noise that just confused the tuning algorithms

I mounted this all on a small prototyping board to get a nice clean signal. It is laid out in such a way that it plugs into a breadboard. Here’s the contruction I used:

mic_preamp_front mic_preamp_rear

And a typical output signal (open D string):

scope_d

Arduino Sketch

The initial code is from the Instructables article by Nicole Grimwood.

I’ve update the sketch quite a bit. It now doesn’t even try to be a tuner, but just a pretty stable and accurate indication of which root note is playing.

Construction

Breadboard

Schematic

Build

Credits and References

About LEAP#271 BoldportCordwoodArduinoAudio
Project Source on GitHub Return to the LEAP Catalog

This page is a web-friendly rendering of my project notes shared in the LEAP GitHub repository.

LEAP is my personal collection of electronics projects, usually involving an Arduino or other microprocessor in one way or another. Some are full-blown projects, while many are trivial breadboard experiments, intended to learn and explore something interesting (IMHO!).

The projects are usually inspired by things found wild on the net, or ideas from the sources such as:

Feel free to borrow liberally, and if you spot any issues do let me know. See the individual projects for credits where due. There are even now a few projects contributed by others - send your own over in a pull request if you would also like to add to this collection.