Date: 10/5/2011
Tags: axefx guitar | For the last six months or so I've been building a MIDI foot controller for the Fractal Audio System's Axefx guitar processor. The Axefx digitally models the effects and amps that guitarists use, but on a scale
that hasn't been seen before. For me the main draw cards were great audio quality, the ability to practice and record quietly (I
have kids and neighbors), and very consistent sound quality in a live setting. Something that I couldn't do with my old tube
amps.
The design of my controller is based around an AVR microprocessor built into a stamp that I bought many moons ago for an economy gauge that I never got around to building. I did however build something useful and
fun with that stamp. There is a long
thread about the various stages in the build process. Which resulted in a plywood prototype that I now use when I play
guitar in a live situation every week or two. It allows me access to the important parameters of the Axefx via knobs and
switches and displays the current state of the settings and parameters on the LCD. All the software running on the
microprocessor is written by me and I developed the support circuit from various information available on the 'net.
About a month ago I switched from building this just for my own use to exploring the possibility of building these controllers
for others as well. In kit form, or fully assembled. A few people expressed interest on the Axefx forums, so I created a PCB
layout and am currently having those printed up (design acceptance and payment happened last friday), I've also ordered
enough parts to build 2 controllers up front. The design can be executed in 2 main ways, as a full foot controller, or as an
amp controller, with reduced functionality. When I get the boards back from manufacturing next week I'll build at least one
for testing the PCB kit out and then I'll be putting the kits and PCB's up for sale on the site. A new hardware section will be
created with PayPal links.
The software that runs on the AVR chip is written in C and has a high level foot controller portion, and a low level hardware
specific layer/API. The foot controller part controls all the functions specific to the axefx, the setup menu and the display of
information on the LCD. The device specific layer is responsible for talking to the hardware, and running the main event
loop. The design is deliberately separated like this so that you can also run the foot controller software on the PC and Mac,
mainly for testing things out before committing it to hardware. It far easier debugging on a desktop computer that
way. Surprisingly this works really well. There are no #ifdef's in the high level code needed to make the 2 systems run, and
they behave exactly the same.
|