DIY Axe-Fx Foot Controller for $50 (Open Project)

Ihey there,

found this solution on the arduino forum

Solder a short piece of ribbon cable to the display, flip it over and solder the other end to the pcb.

I have no idea what it means.. but this whas the working solution :)

Cheers
 
Hey there @Piing

I have a question about your build "Axe3ContLCD11.01"
I am using this build to learn about how the tysonIT lib works in C++.

I participate in the @prongs_386 thread with the multi screen footcontroller and have a build of my own (15 x 1.8 inch screens and 18 buttons).
To be able to get it all up and running, i am trying many diffrent existing projects, to see if i can learn about how to be able to get a button and screen to function with the AxeFxIII.
Offcorse the build of @prongs_386 works out off the box, but his coding is on master level, and that i do not understand.

Sofar, i can manage your build and it is working out allright with my peddleboard in combination with your latest build (CD11.01).

My question:
In this build, at first rebooting the arduino, the code pics up all the scene names of the active preset and prints this on a list in the console.
This only happens on the first boot. After when selecting another preset, only the latest preset is printed with its active scene, but not the list of all scenes from that preset.
The code is on the "Functions.h" tab, but i cannot find out what function is calling this trigger to access all the scenes from the active preset.
Can you help me out with this one how this list is triggered?

Thank you in advance

Cheers
 
Hey there @Piing

I have a question about your build "Axe3ContLCD11.01"
I am using this build to learn about how the tysonIT lib works in C++.

I participate in the @prongs_386 thread with the multi screen footcontroller and have a build of my own (15 x 1.8 inch screens and 18 buttons).
To be able to get it all up and running, i am trying many diffrent existing projects, to see if i can learn about how to be able to get a button and screen to function with the AxeFxIII.
Offcorse the build of @prongs_386 works out off the box, but his coding is on master level, and that i do not understand.

Sofar, i can manage your build and it is working out allright with my peddleboard in combination with your latest build (CD11.01).

My question:
In this build, at first rebooting the arduino, the code pics up all the scene names of the active preset and prints this on a list in the console.
This only happens on the first boot. After when selecting another preset, only the latest preset is printed with its active scene, but not the list of all scenes from that preset.
The code is on the "Functions.h" tab, but i cannot find out what function is calling this trigger to access all the scenes from the active preset.
Can you help me out with this one how this list is triggered?

Thank you in advance

Cheers

Hi Axelman

I haven't been using my pedalboard or Arduino for a while (I don't even have time to play guitar), but I recall that I had the same problem: the scene names are loaded only on the first boot, not when changing presets. I was not able to solve that issue 😅
 
@Axelman8 This should be a quick fix if you haven't already spotted it. In Axe3ContLCD11.01.ino on line 36 the preset changing callback has been commented out. That step is needed to reset all the scene numbers to -1 so when the scene name arrives (for the active scene) after changing preset, it knows which scene name to try to load next.
 
This is awesome! I've got the parts and am planning on starting with the most recent code from @Piing -- I was wondering if someone could verify how to wire up the input MIDI. I'm assuming lug 5 to the RX pin--is that right? And what about the rest?

Thanks!
 
This is awesome! I've got the parts and am planning on starting with the most recent code from @Piing -- I was wondering if someone could verify how to wire up the input MIDI. I'm assuming lug 5 to the RX pin--is that right? And what about the rest?

Thanks!
Hey there

This project is great to participate in ... hours of fun for sure ;)
What arduino are you using?


I dont know if @Piing used Serial1, if so, then you got to hook up to rx1 (receive) / tx1 (transfer). My midi out go's to TX1(18) and input is RX1(19) as i am using serial1.

See this chart... dont forget to use the 220r capacitor

Screenshot_20211109-212240_Gallery.jpg

Other pins are power and ground
Top pin = ground
Screenshot_20211109-213904_Gallery.jpg

Cheers
 
Last edited:
Hey there

This project is great to participate in ... hours of fun for sure ;)
What arduino are you using?


I dont know if @Piing used Serial1, if so, then you got to hook up to rx1 (receive) / tx1 (transfer). My midi out go's to TX1(18) and input is RX1(19) as i am using serial1.


See this chart... dont forget to use the 220r capacitor

View attachment 91445



Cheers
Thanks for the diagram! I'm going to be using a bread board for now, and I've already got my 220 resistors out :)

I’m using a Mega/2560 type. I've built analog pedals before, but this is my first excursion into Arduino-type stuff and coding, so this is all new to me. I do see references to Serial1 in the code (using "Axe3ContLCD11.01" since I have a 20x4 LCD), so I think I'll be using 18 and 19 as well.

That said, I noticed that earlier versions of the code reference "midi.h," but the latest doesn't. I'm curious which part of the new code makes the MIDI communication work...
 
Thanks for the diagram! I'm going to be using a bread board for now, and I've already got my 220 resistors out :)

I’m using a Mega/2560 type. I've built analog pedals before, but this is my first excursion into Arduino-type stuff and coding, so this is all new to me. I do see references to Serial1 in the code (using "Axe3ContLCD11.01" since I have a 20x4 LCD), so I think I'll be using 18 and 19 as well.

That said, I noticed that earlier versions of the code reference "midi.h," but the latest doesn't. I'm curious which part of the new code makes the MIDI communication work...
Hey there,

midi.h is not in that .ino because Version 11.01 makes use of the great axefxcontrol library from TysonIT.

cheers
 
Hey there,

midi.h is not in that .ino because Version 11.01 makes use of the great axefxcontrol library from TysonIT.

cheers
Nice--thanks for the clarification! I'm going to start with the code as-is, but I may see if I can swap the tuner switch for a tap tempo. I probably need to get the hang of it before trying to tinker too much, haha...
 
That is good news.. lcd is working correctly

Lcd not updating, that would definitely be the MIDI connection.

Is the afx and the program set to the same midi value, Say 1?

Did you try rx and tx instead of rx1 and tx1?

Did you connect midi power to 5v or 3.3v? In my case I use 3.3v try that.

Is midi connected to the ground?

Your cables, midi in / out connected to the axe?
You need both cables connected else it will not work
 
Regarding voltages, you need to use the same voltage for both power and rx/tx. So this is dictated by the board type. Arduino mega uses 5v digital and analog pins and Arduino Due uses 3.3v.

So you should use the 5v pin on the mega for midi because the rx/tx pins also run at 5v. The AxeFx is happy with either as long as you're consistent.

The circuit diagram @Axelman8 posted is actually wrong because that diagram was for the Due so it should have connected 3.3v instead of the 5v. My bad :p
 
Regarding voltages, you need to use the same voltage for both power and rx/tx. So this is dictated by the board type. Arduino mega uses 5v digital and analog pins and Arduino Due uses 3.3v.

So you should use the 5v pin on the mega for midi because the rx/tx pins also run at 5v. The AxeFx is happy with either as long as you're consistent.

The circuit diagram @Axelman8 posted is actually wrong because that diagram was for the Due so it should have connected 3.3v instead of the 5v. My bad :p

Thank you both for the suggestions!

Since I'm using a bread board, I also checked my voltages and continuity/resistance with my multimeter, and everything looked okay. The MIDI jacks and display are all grounded to the bread board, which is connected to the ground on the Mega. I did have the MIDI jacks and display all connected to 5v, but I also tried the 3.3v just to see if that was the issue, but no change. I'm using the rails on the bread board for both power and ground with jumpers from the Mega connecting to the bread board.

I also swapped between the 18/19 and 0/1 pins for rx/tx (as well as reversing the cables themselves in case I had mixed up the send and return on my Fractal).

I was using a production MIDI controller previously, so I also went into the Axe FX III's setup and cleared out all of the assigned CC/PC parameters I was using before. The channel is set to 1.

I have not wired up any LEDs or footswitches yet--I didn't think that would effect whether or not the display would sync and show the current preset/scene info, but if I'm wrong there, please let me know!
 
Hey there,

are rx/tx and power connected with a 220 resistor like in the circuit diagram?

What about midi channel on the software and the axe?
 
Hey there,

are rx/tx and power connected with a 220 resistor like in the circuit diagram?

What about midi channel on the software and the axe?
I used the 220 resistors for both the rx/tx and power connectors. I don't have my axe in front of me, but I'm 99% sure it was set to Channel 1. Line 29 of the code in Variables.h includes "byte MidiChannel = 1" -- since I'm new to Arduino, I'm not sure if that's the right place to look/where else to check.
 
Two possible investigations:
  • Hook up a midi monitor of some kind to the board's midi out, to see if it thinks you're sending what you think you are.
  • If you don't see anything on that, hook up an oscilloscope to the midi out, if you have one available. Point is to figure out whether this is more or less an electrical issue, beyond questions about midi specifics and how the Axe responds to whatever midi messages you're generating.
 
Hey there

I checked V11.01 it runs with systemchange, so if you turn the big knob to another preset, your lcd should pick it up. Also if you start the tuner on the axe, something should happen if not, switch the midi cables who knows 😀
 
Two possible investigations:
  • Hook up a midi monitor of some kind to the board's midi out, to see if it thinks you're sending what you think you are.
  • If you don't see anything on that, hook up an oscilloscope to the midi out, if you have one available. Point is to figure out whether this is more or less an electrical issue, beyond questions about midi specifics and how the Axe responds to whatever midi messages you're generating.
I think I have a MIDI to USB cable somewhere, so I'll give that a shot. No oscilloscope, unfortunately.

Hey there

I checked V11.01 it runs with systemchange, so if you turn the big knob to another preset, your lcd should pick it up. Also if you start the tuner on the axe, something should happen if not, switch the midi cables who knows 😀
I think I tried switching presets on the Axe, but I might not have tried it after making some of the other changes. I'll give that and the tuner a shot when I'm back home. Thanks for the suggestions and for looking at the code!
 
Back
Top Bottom