theGIMMICK - pic-based DIY guitar tuner
Whee! Fresh project, just finished :-)

theGIMMICK is a DIY PIC16F84A-based chromatic guitar tuner. The PCB is roughly 40x60mm so the whole thing can be built into a regular sized stomp box.

A mockup of how it could (and will as soon as I get the case delivered) look in a stomp-box case:

Depeding on where you are located, the parts for the PCB will costs you about 6 (at least they do in 07/2008 at If you take a closer look at the LCD and are lucky enough to own a BOSS GT-3 (or 5, 6, 8, ...) the display will seem familiar. I basically copied the display layout from BOSS. Thanks [NameOfBOSSDeveloper] for the awesome work! Also I'd like to thank everyone who's done similar work before and documented it online - I found some really useful tips and hints which made this project relatively painless.

Special thanks to Matthias Wientapper who's project this is based on and who did a tremendous job implementing the frequency detection (links below).

For now you'll have to resort to looking at the mockup and .pdfs - I'll upload some photos once my tuner is boxed up. If you build one, please let me know if you run into any problems or have any suggestions!

All you need to do is plug in the guitar, stomp on the switch and you're good to go. Oh, and, well yeah, you'll need to build one first.

Pictures of the finished prototype can be found here.

A semi-detailed user manual can be found here.

All the needed files (schem, pcb, software) can be found here.

Related links:
Mattzz's GuitarTuner Project
David Thomas' site
Jesper's AVR page

2008 nILS Podewski. All rights reserved.

Administrator (nILS) 

Any HD447800-compatible LCD will do. Mouser # 763-0216BZ-FL-YBW for instance. If the LCD has 14 pins that simply means it isn't backlit.

Hi Nils, excellent project. I plan to build one. What kind of LCD do you recommend? I dug through Mouser for a while but couldn't find anything with 16 pins...

Thanks for the reply, but I'm not german, I'm Italian but here components are more expensive so I order'em from musikding. Anyway, I asked them and they took a lm393 for me so it's not a problem any more.
In the doubt i took both the transistors. I received the remaining components yesterday and I'm going to build it in the next days. I'll let you know how it works when I'll finish.

Administrator (nILS) 

Since you're ordering from musikding I assume you're german - try reichelt or conrad. The /25 /40 is just the maximum voltage rating - you can safely ignore that as the tuner is running on 5V :-P

Oh, i forgot.. Is it better to use bc337/25 or bc337/40?
Thank you again

Hi, I'm going to build this project and I'm ordering parts at Musikding but I can't find LM393 comparator. Can you suggest me a substitute chip? Thanks ;-)

PS: great project!
Administrator (nILS) 

Hiya Jeremy, I strongly doubt the application would run on a 628 w/o any modifications (pins, registers, ...) Your best bet is to just get a 16F84, or the more modern 16F88 and wait until I happen to port that app :-)

Hi nIL's

Thanks for sharing this great project. I just finished mine and I tried to use a pic16F628a for the chip because I had one laying around. All I am getting is a bunch of squares across the top of the LCD which tells me it is probably in the programming. Possibly the fuses. Can you confirm this? If not that's OK. I will order the proper chip if I can find one and try it. I think all of my soldering is good, but I will double check to make sure.

Thanks again for a great contribution!

Administrator (nILS) 

The "guitar in" is connected to *drumroll* the guitar. Using a cable. Ya know, how most people connect their guitar to other equipment ;)

the 'guitar in' is connected to microphone?if yes,can you show me how to connect it?if no,then what is it connected to?;-)
Administrator (nILS) 

The code is written in assembler and if you don't have an idea about how it works, I seriously doubt the code will help a you lot :) What it does is this: It counts the rising edges on the guitar input and calculates the frequency from that number. Then it checks against a table with the frequencies of all notes, finds the closest one, displays that note and the difference between the ideal note and the measured frequency.

hi,after see your guitar tuner..i would like to build my would you mind send me the source code,so i can know the working principle behind this..i don't mind the source code is messy,just want to know the working principle...thanks in advance..;-)

Hello, this looks like a very good project. I need to create a similar one but for the BS2 stamp microcontroller. Is there any way you can provide me the code you used to create the .hex file? I would nlike to compare it and see if I can develop my own. thanks, my email address is
Administrator (nILS) 

Hi angulardisplace, a 2x20 can be used without any problems, although only the first 16 characters of each line will be used. There's no real point in doing that since the internal freq. counter splits the value to display into 16 step - more characters won't give you a higher resolution - at least not without changing half the app ;-)

Nice Job. Great Design. Nice Presentation.
Altogether great done.
For me it would be interesting to change the display-routines, so that a 2x16 or a 2x20 Display can be used.
Perhaps U want to .
Administrator (nILS) 

1. The parts used are all extremely common, you should try to at least stay in a 10% tolerance.
2. Just check the datasheet for the TL072 and connect the TL071 the same way, it's basically the same chip.
3. No, it's not. Check the datasheet for the equivalent circuit ( You'd have to try and see if a schmitt trigger would work.
4. That's because 16F caps are pretty hard to get ;-)
5. Since I don't know what cap you got (a regular electrolytic cap should be used ( I can't tell you if it'll work. Might be a tantalum cap. You can use a multimeter in continuity test mode.

Good luck!
Hazar Tuna 

hey nils, sinc i can not find tl072 in my area i'm using 2 TL071's instead. I can't seem to quite get my circuit to work properly yet, it could be due to several reasons:

1. capacitor & resistor tolerances when combined are greatly throwing off my filter.
2. connected the offsets on TL071 to ground.(i am not sure that it is the right thing to do.)
3. is the comparator basically a schmitt trigger? if not could a schmitt trigger be a better choice?
4. in your initial design you have a 16uF capacitor. Yet on the parts list you have replaced it with a 10uF so that's what i used.
5. there is no polarity sign on my 4.7uF electrolytic capacitor. Both legs are the same length. Is there a practical way to find out its polarity?

Thanks in advance - i'll be bugging you for sometime :)
nILS (admin) 

Yes, it appears that David Thomas' site is down. I believe mattzz's site will be back up in a bit, apparently there's some problem with his wiki.

I'm not sharing the source .asm at the moment as it still needs a lot of cleaning up. Having the .hex file, you kinda have the source already though ;-)

The reason for the comparator is pretty simple - it turns the analog guitar signal more or less into a square wave and allows to check for high- and low-levels on the PIC-pin.
Hazar Tuna 

Looks like a very neat project, i was looking into finding a filter for my own guitar+pic based project. Your work inspires me, however i would like to know the source code for the PIC or at least some sort of pseudo code so I could figure out the reason behind using a comparator.

Also I can't get through to your sources except Jesper's.

Keep up the good work!


Comments are not available for this entry.