LED Ring Working Prototype
Here is my LED ring from the previous post working in real hardware:

Tags: mc1 axefx led-ring | (1) Comment | Add Comment

I've been working towards my own RGB LED ring PCB:

Tags: axefx mc1 led | (0) Comments | Add Comment

Axefx Foot Controller
After some months of work I've finally got my Axefx foot controller kit up for sale. I've updated the index page to have both software and hardware sections... because apparently I do hardware too now :)

Tags: axefx | (0) Comments | Add Comment

Wrapping Up Controller Testing
So in the last few days I've finished the controller test board, ironed out a few bugs in the firmware code, hooked up the midi ports and tested that they are sending and receiving the right data. The board looks like it's doing all the things it's meant too. Which means I can now start moving ahead on making the kit available. What's left to do is write up the documentation of how to build a kit from the parts and PCB and work out the business details, like shipping weights/costs and a purchase page.

Today I also printed out the new graphics that are laid out for the Hammond box and checked them for accuracy.

It's sitting next to the prototype box, which is a different aspect ratio. The plan is to get someone to print it out onto adhesive backed vinyl and then stick it straight onto the aluminium, cut the holes out with a hobby knife and then poke all the pots, switches and LED's through. There are some more knobs coming from the UK for both my own controller and the kits.

Tags: axefx | (0) Comments | Add Comment

Controller Update
Last night I got some time to work on the MIDI controller testing. The problem I was left with is that the parameter knobs were not working, so I started with printing out the current value for param0 on the LCD and it was always 1023 (the maximum value) no matter what voltage was supplied on the input pin. So I teared down all the setup code and checked that I was doing everything right in the software... which after an hour or so of re-reading all the docs... yes; I'm doing everything right. Ok that leaves hardware. So I measured the voltage on the input pin again... yup that's right too. *sigh* Then I notice there is a "VREF" pot on the AVR stamp... wonder what that does? Tweak tweak... oooh look the value on the LCD is finally changing! Seems that VREF pot on the stamp is controlling something to do with the way the AVR reads values on it's analog in pins, so I'll have to write that into the documentation to set correctly when assembling the kit. So hurrah the parameters are all working pretty much correctly and I can test the new menu code on the hardware. I'm getting close to being done with the testing. All that remains is hooking up the MIDI sockets and checking the right messages get sent and received.

Tags: axefx | (0) Comments | Add Comment

Midi Foot-controller Update
Last night I investigated whether I could compile and flash the ROM from Windows7 64bit. The compiling side was fine, I could build the binary but the program I was using to flash that binary onto the AVR chip via the parallel port doesn't work on Windows7-64bit. Which isn't to say you can't do AVR development on Win7 but it just means that different software is needed. On XP I've been using PonyProg2000 with a lot of success.

On the hardware front, I wired up all the pots to the test harness and checked they were applying the right voltage to the analog pins. I've soldered those onto the PCB traces and not the pads because it's a pain removing wires from pads and then trying to get the solder out and put something else in.

Software wise I have re-written the menu and not everything is hooked up at the moment. So I spent some time uncommented some sections of the controller code and got them compiling with the new menu layout. The structure of things in memory (both RAM and EEPROM) has changed to make things more flexible and those changes need to be propagated out to all the rest of the code. (Parts that didn't compile originally have been commented out). Also I put together a Visual Studio 2005 project for the desktop version of the controller.

And I'm loving zip ties at the moment... they make things so much more organized.

Tags: axefx | (0) Comments | Add Comment

Foot Controller Setup Menu
So last night I rewrote the setup menu of the Axefx Footcontroller software. Basically before it was very simple, had one level of editing where you could scroll through all the parameters fairly easily. However you were quite limited in what you could do with the IA buttons (send one CC) and knob parameters (send one CC). Also the "Amp Mode" has hard coded. Also it was hard coded to 3 IA buttons, not flexible if there were more than that.

The new menu system has much more flexibility. Basically you have 5 levels of menus, I know it sounds like a lot, but it's manageable. The first level is simply picking between the pre-preset settings and the global settings. In the preset settings, you have 3 sections for the IA buttons, and the "grouping" setting for making the IA's mutually exclusive. Inside the IA button settings you now have 2 commands (limited by the EEPROM memory in the current AVR), where each command (4 bytes) is one of: So you can do 2 things with any given IA button. Most of the time you'd want to just use one command to switch a block on or off. But now there is some flexibility to do more things if needed.

Now in the global menu there is 3 sections for the different parameter modes (parameters are the 6 knobs and 2 external controllers). The modes are "Normal", "Amp1" and "Amp2". In normal mode the default operation is to send a midi CC command, with the default settings being the axefx EXTERN1 to EXTERN8 midi CC's. Amp1 and Amp2 mode default to sending axefx sysex command's that map to the Gain/Bass/Mid/Treble/Presence/Master for the Amp1 and Amp2 block. That mode change is tied to a 3 position hardware switch on the box somewhere. Each of those (3) modes has 8 parameter settings, that each have again 2 commands. The command editing is exactly the same options as the IA's.

Then you also have the Tuner CC and Tempo CC, the midi channel and the factory reset function. The factory reset just configures all the IA's for every preset to do nothing and makes the global parameters do all the default things for the different modes.

All in all it's now looking and feeling much better. The hardware testing is coming along nicely. I'm still working on dialing in the LCD code... it's being a little finicky. But hopefully I'll get it sorted tonight.

Tags: axefx | (0) Comments | Add Comment

Footcontroller Photos
Some more photos of the footcontroller PCB kit:


Tags: axefx | (0) Comments | Add Comment

Foot Controller Testing
Tonight I put together a test harness on some proto-board, using 12 micro-switches to test the functions on the foot controller board. So far so good, all the parts are working as expected. The next thing to test is the MIDI input and output. The next revision of the controller PCB with allow for connecting to the test board via ribbon cable and IDC plugs. Which will be much neater than soldering the test harness in.

Also I've installed a contrast pot for the LCD. Unfortunately I messed up the trace going to the contrast pin on the LCD in the PCB design. Not to worry, I've cut that trace on the PCB's using a dremel which leaves it free to be hooked via a nearby pad to whatever you'll use for contrast control. The kit instructions will cover that.

After getting all the buttons hooked up tonight, I tried all the setup menu functions, like factory reset, configuring the MIDI channel, changing the IA blocks etc. Then I moved around the presets, and switched some IA blocks on and off. Everything worked first time... so that's an excellent sign!

Tags: axefx | (0) Comments | Add Comment

First PCB build
Made a quick video of building the first PCB:

Tags: axefx | (0) Comments | Add Comment

PCBs... 3 of 3
At long last:

Tags: axefx | (0) Comments | Add Comment

Foot switches... 2 of 3
Bought 25, because that was the next cheaper bracket. Turned out around $3 a piece including shipping. Enough for 2 full boards.

Tags: axefx | (0) Comments | Add Comment

Axefx controller parts arriving... 1 of 3
So today the first of three packages of controller parts arrived. At long last.

Tags: axefx | (0) Comments | Add Comment

Waiting is fun
So all 3 packages for the Axefx controllers have "shipped" but not arrived. Awesome. The last of the packages to ship was the PCB's which apparently shipped today, although the tracking number hasn't shown up on the postal system yet. And I don't know what the shipping transit windows are either.

The 3 boxes, are the footswitches, all the electronic components (inc the AVR stamps) and finally the custom PCB's. I think at one point last week I had 8 outstanding orders, including unrelated stuff from ebay.

Things have slipped partly because I took a while to verify the drill lists and images of the tracks, and made some minor changes before the PCB's got made. And partly because the vendor making them took a week longer than they said it would take from when they accepted payment and the final design to when they shipped the boards.

While I've been waiting I've started working on a new revision of the PCB that supports a 40 pin IDC connection between the main PCB and the switches / LEDs / expression pots. This is very similar to the setup I used in the prototype but I think I'll end up using it primarily to test complete boards. I'm going to make a test harness that just plugs into the board and lets me test all the functions without having to solder in all the parts directly. Depending on the layout of the final enclosure it might be useful for others as well.

Tags: axefx | (1) Comment | Add Comment

Axefx Foot Controller
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.

Tags: axefx guitar | (0) Comments | Add Comment