Programmable FX Switcher Looper, DIY low cost, using Arduino [documentation]
Posted: 19 Mar 2016, 20:25
Programmable FX Looper with Arduino Uno, Momentary Foot-switches and DPDT Relays boards - by Flo - 2016-03-19:
See attachment (FX_Switcher_Flo_v11.zip) for the source code.
You can use and modify it for private purposes, please not for commercial usage without proper contacting me.
Please be gentle with her!
// Copyright (c) by Floris van Rijswijk (aka floris, Flo, floris0987654321, flo0987654321).
// This work is licensed under a BSD style license.
// What's this program about:
// FX switcher:
// - Is a program for the Arduino Uno.
// - To enable or bypass "true-bypass" guitar effects Loopers via relays controlled by Arduino output pins.
// - With footswitch Buttons connected to Arduino input pins, using stored Presets and Banks of Presets.
You need:
- Arduino Uno is a low cost preassembled uController that can be programmed to do all sorts of iterface jobs with the "real world", like handling buttons and driving (relay) outputs.
Note: Probably other Arduino boards are fine to use, but I have only used the Arduino Uno.
- Relays DPDT boards can be found on eBay, low cost, preassembled (with LEDs) and good for FX switchers.
- Momentary footswitches (simple SPST will do) can be found on eBay. They can be pricey if you want quality, but low buget ones are there too.
- Enclosure. Hammond box or something that will fit the footswitches, jacks, electronics.
- Jacks, DC bus, etc.
- Beware that Arduino Uno also needs a power supply. 5V DC. I have only run it from USB, not standalone yet.
- Power supply for the relays boards. Those relays can use a lot of current, so to have a good 5V DC power supply is a must.
- A lot of time to make the enclosure and wire the thing up.
---
FX_Switcher_Flo_v11.zip contains 1 directory, containing 5 source files:
Electronics\Arduino\Projects - Flo\FX Switcher - Flo\FX_Switcher_Flo_v11\
FX_Switcher_Flo_v11.ino
ManyButtons.cpp
ManyButtons.h
OneSoftButton.cpp
OneSoftButton.h
---
Load the project (FX_Switcher_Flo_v11.ino) into the Arduino Uno IDE and use to upload the program into the Arduino Uno:
https://www.arduino.cc/en/Guide/Environment
---
Documentation is in the source files.
Documentation starter:
// What's this program about:
// FX switcher:
// - Is a program for the Arduino Uno.
// - To enable or bypass "true-bypass" guitar effects Loopers via relais controlled by Arduino output pins.
// - With footswitch Buttons connected to Arduino input pins, using stored Presets and Banks of Presets.
// Definitions:
// Bank: Is a fixed collection of presets.
// Preset: Is a collection of Looper states (enabled/bypass, on/off).
// Presets: Is a collection of all presets that are stored and can be selected.
// Looper: Is a true-bypass looper, controlled by a relais which is connected to an Arduino output pin.
// Button: Is a momentary footswitch, connected to an Arduino input pin, that is used to select a Preset or program a Preset by enabling/bypassing Loopers.
// Some assumptions on hardware and software:
// - There is (currently) support for max 8 footswitch Buttons.
// - Probably one needs at least 4 Buttons for the FX Switcher to be useful.
// - There need to be as many Loopers as there are Buttons.
// - One can only select as many Banks as there are Buttons.
// - One can only select as many Presets in a Bank as there are Buttons.
// - This makes the max nr of presets: 8*8=64.
// User Interface: Actions => Reactions
// - Select a stored preset by clicking a footswitch Button once.
// => LED indicating the nr of the selected Preset within the current Bank will flash two times.
// => LEDs at each Looper show the which Looper is enabled within the selected Preset.
// - Select a stored preset for change (programming) by pressing a footswitch Button for at least 2 seconds.
// => All LEDs will flash once.
// => LEDs at each Looper show which Looper is enabled within the selected Preset.
// - Change (program) a stored preset by enabling/bypassing the effect loopers by clicking the footswitch Buttons.
// => LEDs at each Looper show which Looper is enabled within the programmed Preset.
// - Store a changed preset by pressing a footswitch Button for at least 2 seconds.
// => All LEDs will flash twice.
// => LEDs at each Looper show which Looper is enabled within the Preset to be programmed.
// - Select a Bank (of presets) by double clicking a footswitch Button.
// => LED indicating the nr of the selected Bank will flash four times.
Please comment. I am curious to know who will build one. I am here to help out.
Regards,
Floris
See attachment (FX_Switcher_Flo_v11.zip) for the source code.
You can use and modify it for private purposes, please not for commercial usage without proper contacting me.
Please be gentle with her!
// Copyright (c) by Floris van Rijswijk (aka floris, Flo, floris0987654321, flo0987654321).
// This work is licensed under a BSD style license.
// What's this program about:
// FX switcher:
// - Is a program for the Arduino Uno.
// - To enable or bypass "true-bypass" guitar effects Loopers via relays controlled by Arduino output pins.
// - With footswitch Buttons connected to Arduino input pins, using stored Presets and Banks of Presets.
You need:
- Arduino Uno is a low cost preassembled uController that can be programmed to do all sorts of iterface jobs with the "real world", like handling buttons and driving (relay) outputs.
Note: Probably other Arduino boards are fine to use, but I have only used the Arduino Uno.
- Relays DPDT boards can be found on eBay, low cost, preassembled (with LEDs) and good for FX switchers.
- Momentary footswitches (simple SPST will do) can be found on eBay. They can be pricey if you want quality, but low buget ones are there too.
- Enclosure. Hammond box or something that will fit the footswitches, jacks, electronics.
- Jacks, DC bus, etc.
- Beware that Arduino Uno also needs a power supply. 5V DC. I have only run it from USB, not standalone yet.
- Power supply for the relays boards. Those relays can use a lot of current, so to have a good 5V DC power supply is a must.
- A lot of time to make the enclosure and wire the thing up.
---
FX_Switcher_Flo_v11.zip contains 1 directory, containing 5 source files:
Electronics\Arduino\Projects - Flo\FX Switcher - Flo\FX_Switcher_Flo_v11\
FX_Switcher_Flo_v11.ino
ManyButtons.cpp
ManyButtons.h
OneSoftButton.cpp
OneSoftButton.h
---
Load the project (FX_Switcher_Flo_v11.ino) into the Arduino Uno IDE and use to upload the program into the Arduino Uno:
https://www.arduino.cc/en/Guide/Environment
---
Documentation is in the source files.
Documentation starter:
// What's this program about:
// FX switcher:
// - Is a program for the Arduino Uno.
// - To enable or bypass "true-bypass" guitar effects Loopers via relais controlled by Arduino output pins.
// - With footswitch Buttons connected to Arduino input pins, using stored Presets and Banks of Presets.
// Definitions:
// Bank: Is a fixed collection of presets.
// Preset: Is a collection of Looper states (enabled/bypass, on/off).
// Presets: Is a collection of all presets that are stored and can be selected.
// Looper: Is a true-bypass looper, controlled by a relais which is connected to an Arduino output pin.
// Button: Is a momentary footswitch, connected to an Arduino input pin, that is used to select a Preset or program a Preset by enabling/bypassing Loopers.
// Some assumptions on hardware and software:
// - There is (currently) support for max 8 footswitch Buttons.
// - Probably one needs at least 4 Buttons for the FX Switcher to be useful.
// - There need to be as many Loopers as there are Buttons.
// - One can only select as many Banks as there are Buttons.
// - One can only select as many Presets in a Bank as there are Buttons.
// - This makes the max nr of presets: 8*8=64.
// User Interface: Actions => Reactions
// - Select a stored preset by clicking a footswitch Button once.
// => LED indicating the nr of the selected Preset within the current Bank will flash two times.
// => LEDs at each Looper show the which Looper is enabled within the selected Preset.
// - Select a stored preset for change (programming) by pressing a footswitch Button for at least 2 seconds.
// => All LEDs will flash once.
// => LEDs at each Looper show which Looper is enabled within the selected Preset.
// - Change (program) a stored preset by enabling/bypassing the effect loopers by clicking the footswitch Buttons.
// => LEDs at each Looper show which Looper is enabled within the programmed Preset.
// - Store a changed preset by pressing a footswitch Button for at least 2 seconds.
// => All LEDs will flash twice.
// => LEDs at each Looper show which Looper is enabled within the Preset to be programmed.
// - Select a Bank (of presets) by double clicking a footswitch Button.
// => LED indicating the nr of the selected Bank will flash four times.
Please comment. I am curious to know who will build one. I am here to help out.
Regards,
Floris