CONTENTS

Home
Updates
Software
Electronics
Android / iOS
Videos
Music
Resume
Contact



HTTPS VERSION


MSP430G2231 Guitar Processor

Posted: July 6, 2011

Introduction

So one of my first microcontroller projects was a guitar processor with an msp430f169 (posted on my site here). I picked this chip because it seemed simpler since it contained an internal DAC. The two big problems I had with it though is the msp430f169 doesn't come in DIP format, so it requires an awkward breakout board to prototype, and I didn't care much for the IAR / JTAG, Windows only devkit. In the past year however, TI released their MSP430 Launchpad devkit and I wrote my own cross-platform assembler called naken_asm.

So this is pretty much my first little project using my assembler and the Launchpad mostly just to prove it all works. Basically the circuit takes in a guitar signal, multiplies and offsets it to make it louder and to make the "zero" point 1.65v (halfway between the ADC reference voltages of 0 to 3.3v), digitizes it in an msp430g2231 using it's 10 bit ADC, runs it through some software, throws the digtal signal out to an SPI 12 bit DAC (Microchip MCP4921), buffers it through an OPAMP, and sends it out to a guitar amp.

The firmware is currently pretty simple. It samples the ADC using the msp430g2231's Timer_A interrupt routine. The digital data coming in currently just runs through a simple algorithm like this:

threshold = 20
if input > 2048+threshold, output = 4095
elif input < 2048-threshold, output = 0
else output = input

Related Projects @mikekohn.net

Guitar: MSP430F169 Guitar Processor, MSP430G2231 Guitar Processor, Metal X Mod, YJM Mod

Pictures

MSP430G2231 guitar processor circuit

This is the board all soldered together.

MSP430G2231 guitar processor schematic

The schematic.

Sound Files

The recording kind of doesn't do justice for the sound. I used a Mini-Marshall guitar amp running on a 9v battery with a pretty tiny speaker for this. Most likely if I had used a better amp it would have sounded nicer.

guitar_proc_test.mp3 - I accidently had the sample rate around 440 samples per second. Created some weird sounds plus A440 was silent except for some clicks :). These are all single notes
guitar_proc_bach2.mp3 - Just a little test. The threshold is probably a little too wide here since notes cut out sometimes and there's almost no sustain.
guitar_proc_test2.mp3 - A bit better sounding. Just some single notes to test the sound. In the middle somewhere I held a note to demonstrate the better sustain (especially since this is an open string).

Download
guitar_proc.asm

Copyright 1997-2017 - Michael Kohn