DIY for Axe-Fx III Foot Controller

That enclosure looks awesome. I love the screen too. I thought about scribble strips, but in practice I find I don’t change layouts that often and get used to where things are, so I just use a label machine.

I have the enclosures manufactured from my CAD designs at a local machine shop. The one pictured is from 3mm aluminum sheet of which I have 5 left. I will need a new enclosure design to better match the new PCB as there are many unused holes on the back side now.
 
There is one solution to the scene names I have considered... a function to just cycle through the presets and read all the info to an sd. Then when you switch presets it loads scene names from the card. Unfortunately atm there is no other way to read a scene name without switching to it.

QUERY SCENE NAME (COMMAND 0EH)
Returns scene name.
Message format: F0 00 01 74 10 0E dd cs F7; where dd is desired scene. To return the current scene name dd = 7F.
Returns: F0 00 01 74 10 0E nn dd dd dd … cs F7; where nn is the scene number and dd dd dd … is 32 characters of name.
 
I want to try to standardize so I can order enclosures in bulk and bring prices down.

Ordering 10 vs 5 can drop prices almost in half

Preferred number of foot switches? Can go up to 20 with current architecture.
Screen size....7" does work nicely.
SD card?
midi thru?
USB program port exposed on back panel?
expression pedal ports?
other suggestions?
 
QUERY SCENE NAME (COMMAND 0EH)
Returns scene name.
Message format: F0 00 01 74 10 0E dd cs F7; where dd is desired scene. To return the current scene name dd = 7F.
Returns: F0 00 01 74 10 0E nn dd dd dd … cs F7; where nn is the scene number and dd dd dd … is 32 characters of name.

Hmm, I must be stupid... unless the spec has been updated since I looked last! That's awesome, can read the scenes on preset change.
 
I want to try to standardize so I can order enclosures in bulk and bring prices down.

Ordering 10 vs 5 can drop prices almost in half

Preferred number of foot switches? Can go up to 20 with current architecture.
Screen size....7" does work nicely.
SD card?
midi thru?
USB program port exposed on back panel?
expression pedal ports?
other suggestions?

I think 8 buttons for scenes, dedicated tap and tuner, possibly dedicated preset up/down, and some IA buttons... that's 16 with 4 IA buttons. My controller has different layouts so that you can configure where the buttons go and add looper controls etc, so maybe 16-20? The more the merrier as long as it doesn't get too cramped I guess.

7" is nice!

SD card - maybe for adding extra features like saving settings. Why not.

Midi thru - meh?

USB program port YES PLEASE!

3-4 expr ports
 
I think 8 buttons for scenes, dedicated tap and tuner, possibly dedicated preset up/down, and some IA buttons... that's 16 with 4 IA buttons. My controller has different layouts so that you can configure where the buttons go and add looper controls etc, so maybe 16-20? The more the merrier as long as it doesn't get too cramped I guess.

7" is nice!

SD card - maybe for adding extra features like saving settings. Why not.

Midi thru - meh?

USB program port YES PLEASE!

3-4 expr ports

Every button can be customized for its function, as my example....the button function/labels can be identified by the layout on the LCD and changed upon the mode/page. ...toggled by a mode switch. 12 IA on one page; 8 scenes on another page. I am also planning to use neo pixels on each switch to color match groupings or functions and show statuses which will match graphical LCD statuses. Blinking tap tempo etc.
 
Last edited:
Hmm, I must be stupid... unless the spec has been updated since I looked last! That's awesome, can read the scenes on preset change.

With scene name listing functionality I will have a successful proof of concept with your library to start the PCB layout. I can do 16 switches and 4 expression. The expression ports can optionally be used as 4 more external switches.
 
Nice, I am actually really excited about your project, it looks exactly like what I wanted to work towards.

Do you want me to add a scene name callback to the library?
 
That would be most excellent if you could add a scene list to the patchinfo callback!!!

I could shift the LCD screen right or left and get two more buttons on the enclosure but not sure if 18 would ever be needed with mode switching capability?
 
Nice, I am actually really excited about your project, it looks exactly like what I wanted to work towards.

Do you want me to add a scene name callback to the library?

Your library works perfectly in ARM architecture.....in the Library Properties file you can safely set:

architectures=*

Otherwise it will not show up as a usable library when an ARM board is selected in development environment.
 
I will expose the capability for 22 buttons plus 4 expression...not all have to be used.

PCB layout for controller in progress...
 
Very interesting project. I’d love to have a few buttons to use for loop controller. The enclosure looks great.
 
OK, scene dump is out for beta:

https://github.com/tysonlt/AxeFxControl/tree/fetch-all-scenes

I wanted to keep the current API similar instead of adding the scene list to the preset object, because I'm vain enough to pretend lots of people are using it :D The extra scene names will be passed to the scene name callback, registered via registerSceneNameCallback(). The registerPresetChangeCallback() callback method will still get the full preset object with the current scene details, so you can tell which scene is current.

One downside of this approach is that the scene name callback will receive the current scene name twice. Hopefully that doesn't cause too many problems: I could 'fix' it but it becomes complicated and involves remembering state, which I don't like doing in a library.
 
Last edited:
The sequence will look like this:

onSceneName(): 1: Clean, small echo
onPresetChange()
=====================
Preset: 4 - Vox AC30s
Scene: 1 - Clean, small echo
=====================
onSceneName(): 1: Clean, small echo
onSceneName(): 2: Crunch
onSceneName(): 3: Hard Crunch+Verb
onSceneName(): 4: Top Boost more
onSceneName(): 5: Hot Mode
onSceneName(): 6: Lead
onSceneName(): 7: Normal mode - Jangle less
onSceneName(): 8: Normal more
 
Ooooh I just remembered why I hadn't done this. I was thinking of querying scene names for ANY present, not just the current one. My idea was to query the next and previous preset so that it can display instantly. Because I can't do that, but can only get scenes for the current preset, I must have just dismissed the whole idea... lol
 
Upon power up I was thinking to scan all preset information and write to flash. Any edits or updates will need do trigger resync...not yet determined how to do yet.
 
Back
Top Bottom