The completed project, front side

The completed project, back side (without battery)

Stringy synthesizes guitar sounds using an efficient implementation of the Karplus–Strong string plucking synthesis algorithm implemented on a tiny PIC microcontroller. It can play notes over five octaves (twelve notes in each octave) in either acoustic or electric guitar sounding style.

Stringy is a remix of MadLab's 'Funky guitar' who also fully implemented the PIC's firmware.

A more detailed description of how the circuit works is available here.


Make sure that the battery body does not touch the contacts on the PCB. Place a card cut-out under the battery for extra assurance.

The kit contains

In addition to the above you'll need a flexible wire, a 9V battery, and speakers or earphones with a standard 3.5mm plug.

A footprint for USB power is available for this component.


Follow the card that comes with the project for placing the components. Give particular care when soldering C1 and C2 as their positive and negative pins are close together and you definitely don't want them to be shorted. Similarly, check that the pins of the plus and minus battery contacts that are closest to each other contacts are not shorted.

Important: Most 9V batteries have a metal body. Make the contacts as flat as possible. Use the bit of rigid wire supplied to prop the battery up at the bottom so that the metal body doesn't touch the contacts. Shorting contacts will not be good at all! For extra assurance, cut the marked card box and place it under the battery.

IC1 and T1 look identical except for the small writing on the face of the package. Make sure that you solder the correct one into the correct footprint.

The audio jack J1 can be placed on either side of the board.

An optional micro USB connector J4 can provide power to the board instead of a battery. You'll need to jump J3 using a solder blob first; this connects the USB power to VDD. Remember to never connect both USB power and the battery.



Increase or decrease the octaves using the buttons. Momentarily pressing both buttons simultaneously will switch between acoustic and electric guitar sounding output. When this happens the LED will flash twice.

Pressing both buttons for longer will play a tune; pressing any button will cancel this.

Use the battery as an on/off switch; we recommend that you remove the battery when Stringy isn't used as the circuit draws a small amount of current even when not playing a tune. This will make the battery last longer.

A more detailed description is available here.

Header J2 'breaks out' all the pins of the chip. The top six pins — pin 1 is marked by a triangle — are compatible with Microchip's PICKit programmer. The PIC's pin RA0 is not used in the design and is pulled low. Maybe you could find a good use for it? The code the PIC is programmed with is here ;)

Further information

Stringy is an open source design, as is most of our work. You can find the design files for the hardware and packaging at our GitHub repository. You can edit the design files using our own PCB design open source software, PCBmodE.

We'd like to thank James Hutchby from MadLab for allowing us to re-implement his project for Boldport Club members. We truly admire the ingenuity of his work.

We'd also like to thank Microchip for providing us with excellent prices for the PICs.

Stringy was Project #14 of the Boldport Club. If you'd like to purchase a kit, become a member and add one to your order through the shop.

The PCBs were lovingly made by Eurocircuits.

Thanks to Erbsland Art for taking lovely pictures of the project.

Finally, community contributions for this project are on our community site.