yOU WON'T BELIEVE IT'S
NOT AN ACTUAL GUITAR!
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 plays 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.
The kit contains
- x1 PIC microcontroller, Microchip 12F1840-I/P
- x1 5V linear regulator, Taiwan Semiconductor TS78L05CT A3G
- x1 BJT npn transistor, Diotec BC547B
- x1 5mm blue LED, Kingbright L-9294QBC-D
- x2 Tactile switch, TE Connectivity FSM4JRT
- x17 1KΩ resistor, Multicomp MF25 1K
- x1 47Ω resistor, Multicomp MF25 47R
- x1 1MΩ resistor, Multicomp MF25 1M
- x1 220µF electrolytic capacitor, Multicomp MCGPR16V227M6.3X11
- x2 10µF electrolytic capacitor, Multicomp MCMR35V106M4X7
- x2 0.1µF ceramic capacitor, Multicomp MC0805Y104M500A2.54MM
- x1 3.5mm jack socket, TruConnect 20-0137
- x1 Battery contact positive, TruPower 18-0596
- x1 Battery contact negative, TruPower 18-0597
- x1 8-pin DIL socket, TruPower DS1009-08
- x1 piece of 20AWG hookup wire
- x1 PCB
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 ;)
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.
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.