Table of Contents

durisian_pbx_3a.jpg

Introduction

The Pedal Box was built to be a very basic extension to a floorboard. Giving it an extra 8 Expression Pedals, and a display to see patch change / CC names, as well as their values. It has grown far beyond it's original intention.

Pedal Box

durisian_pbx_2.jpg

Is an expression pedal controller to expand an existing floorboard.
In addition to adding up to 8 expression pedals, up to 8 relays can be triggered and the LCD display reflects the actions of your existing floorboard as well.

Pedal Board

pedal_board_max.jpg
Expanding into Pedal Board - you can build a complete MIOS Powered Floorboard.

Is a complete MIOS/MBHP powered floorboard. It can support up to 16 buttons, with banks so there is up to 128 virtual buttons.
No matter how many buttons you connect, you can always access all 128 virtual buttons
It also supports another 16 fixed buttons, that are the same regardless of bank. Great for boost, or effect on/off functions. A further 2 special function buttons allow bank up/down and special functions.
Up to 8 relay's can be triggered and of course up to 8 expression pedals.

Each button or pedal can be assigned to a specific device, up to 7 devices can be controlled over 7 midi channels.

Pedal Box / Pedal Board features an extensive display system;
Program changes can be named, controls can be named, and can also display on/off, a meter showing approximate position for pedals. It can display tap tempo rate, or even the name of a value for a control - eg. For an Amp model select CC, it can display the model name selected.

Features

What's The Difference?

Basically Pedal Box is a MIDI Monitor / Processor. Pedal Board is a… well… floorboard.

PbX PbD
Display MIDI Input Y Y
Push Buttons N Y
Bank functions N Y
Rig Control Via MIDI Y Y
Rig Control Via DIN N Y
Relay Control Via MIDI Y Y
Relay Control Via DIN N Y
Gig Control Via MIDI Y Y
Gig Control Via DIN N Y
PedalSwap Via MIDI Y Y
PedalSwap Via DIN N Y
Setup Via MIDI Y Y
Setup Via DIN N Y
External Pedal Input Y Y
MIDI Merger Y Y

* - Setup can still be done via the PC Editor and uploaded via MIDI

LCD Display

durisian_pbx_1.jpg










Here are some examples of what is displayed on the LCD.

pbx_programchange2.jpg Program changes
pbx_cc_screen.jpg Controllers
pbx_pan_screen.jpg Controllers
pbx_value_screen.jpg Controllers
pbx_map_screen.jpg Controllers
pbx_button_screen.jpg On/Off controls
pbx_tap_screen.jpg Tap Tempo Display

Setup Examples

Pedal Box

 Pedal Box

Pedal Box expands your existing floorboard with functionality very similar to Pedal Board
Up to 8 Expression pedals and 8 relays can be used. Your floorboard provides the buttons.

Extreme

 Extreme

Pedal Board (and Pedal Box) can taken to the extreme. Controlling up to 7 MIDI devices.
Utilising Rig Control it can set them all to your desired settings with a single stomp.

Pedal Board

 Pedal Board

Pedal Board can be used as a simple customised floorboard with many advanced functions.



















Manual

The Complete Usage Manual

Help can be found in the Pedal Box forum thread



Building Pedal Box / Pedal Board

Software

Pedal Box / Pedal Board has been written in C for PIC18F4620.
The legacy version for the PIC18F452 is no longer available.

Current Limitations

Installing

Firstly your PIC must be setup with bootloader and MIOS 1.9 or higher.
You should be familiar with compliling 'C' files for MIOS.
As well as uploading files to the Core module. See http://www.ucapps.de/

You need to upload the PB software, as well as fill the banksticks with the required info.

The first bankstick is used by PB with info about itself (Master Bankstick), the others are used to tell PB info about the devices it is controlling (Device Banksticks).

USE THE PC EDITOR to setup and upload the Master Bankstick data.

You can also see the manual for more information.

Uploading device information

Device Banksticks tell PB about the MIDI devices it is controlling

In these banksticks:

USE THE PC EDITOR to setup and upload Device Bankstick data.

Uploading Pedal Box / Pedal Board

Now we are ready to upload Pedal Box. Browse to your Pedal Box directory and open the pbx_config.h file.
You need to customise the application here. Comments inside in main.h will tell you what each setting does.

Once you've customised the application it needs to be recompiled. Simply run re-make.bat.

Upload the created project.hex using MIOS Studio (or .syx using MIDI-OX or other midi software) file to the core module. MIOS will now reboot, and that's it!

pbx_config.h in detail

PEDALBOARD - Set to 1 if for Pedalboard mode, or 0 for Pedalbox mode
ENABLE_MIDI_IN - If you wish to utilise the MIDI IN port, set to 1. Otherwise 0

MIDI_MERGER - To forward events recieved at the MIDI input to the output, set to 1. Otherwise 0.
MIDI_MERGER_DISABLE_MASTER - If the MIDI Merger is enabled, but you do not want to forward messages targeting functions of PB (eg. A patch change) - set to 1. Otherwise set to 0 to forward all messages.

AIN_DEADBAND - (standard MIOS question)
AIN_NUMBER_INPUTS - (standard MIOS question)

DIN_DEBOUNCE_VALUE - (standard MIOS question)

DIN_FIXED_BUTTONS - How many fixed or static footswitches are connected (0-16)
DIN_BANKED_BUTTONS - How many banked or dynamic footswitches are connected (1-16)

DIN_BANK_UP - The pin number assigned for bank up (2-33)
DIN_BANK_DOWN - The pin number assigned for bank down (2-33)
FIRST_PEDALSWAP_DIN_PIN - The pin assigned to the fist PedalSwap footswitch and LED Be wary that placement does not interfere with Relays or LED Digit DOUT pins
NUM_PEDALSWAP_BUTTONS - Number of PedalSwap slots available (max and default = 6)
EVENT_SETUP_DIN_PIN - The pin number assigned for entering event setup mode (while holding bank down) (0-31) Can not be the same as bank up or down
GLOBAL_SETUP_DIN_PIN - The pin number assigned for entering global setup mode (while holding bank down) (0-31) Can not be the same as bank up or down

RELAY_SHIFT_REGISTER - If your using relays, which SR are they connected to if using SOME LED indicators, chosen SR must be after ALL POSSIBLE indicators
RELAY_LED_SHIFT_REGISTER - If your using LED indicators for relays, which SR are they connected to SR should be AFTER the relay SR

USE_LED_INDICATORS - Are you using LED indicators for each footswitch, set 1 for yes, 0 for no

DIGITS_CONNECTED - Numver of LED digits connected (0-2). Set 0 for none.
DOUT_DIGITS_SR - Which SR is the first digit connected to.

Example of pbx_config.h setup

This is an example configured for:

///////////////////////////////////////////////////////////////////////////
// Configuration Parameters
//
///////////////////////////////////////////////////////////////////////////
 
/* General Settings */
#define   PEDALBOARD             1  // 1 = Pedal Board mode    0 = Pedal Box mode
#define   ENABLE_MIDI_IN         1  // 1 = yes      0 = no
 
#define   MIDI_MERGER            0  // 0 = off   1 = on
#define   MIDI_MERGER_DISABLE_MASTER 1  // 0 = disabled  1 = enabled - If set will disable forwarding of events on the master bankstick channel
 
 
 
/* Pedal Settings */
#define   AIN_DEADBAND           7 // 7 for 7-bit midi is best
#define   AIN_NUMBER_INPUTS      4 // 1 - 8 - number of pots connected
 
 
/* Pedal Board Buttons */
#define   DIN_DEBOUNCE_VALUE     20 // debounce value
 
// FIXED BUTTONS MUST CONNECT FIRST
#define   DIN_FIXED_BUTTONS      8 // 0-16 buttons that always stay the same, regardless of bank
 
// BANKED BUTTONS MUST BE CONNECTED AFTER FIXED BUTTONS
#define   DIN_BANKED_BUTTONS     8 // 0-16 buttons that change with bank. 1 banked button will cause display errors when bank is over 99
 
 //THESE SPECIAL FUNCTION BUTTONS MUST BE CONNECTED AFTER THE BANKED BUTTONS!!!!!!!
#define   DIN_BANK_UP            17   // 2 - 33, pin number of button used to bank up
#define   DIN_BANK_DOWN          16   // 2 - 33, pin number of button used to bank down
 
#define  FIRST_PEDALSWAP_DIN_PIN 18  // 4 - 33, First PedalSwap DIN pin (others will be next higher sequentially)
					// Must be higher than Bank Up and Down
					// Be careful not to set the same in the space of LED Digits or Relays
					// Best place is next to the bank up/down pins
#define  NUM_PEDALSWAP_BUTTONS   6   // 0-6, Number of PedalSwap Buttons connected
					// if you wish to have access to all 6 via MIDI (with less than 6 buttons connected
					// - please set to 6 and leave the DIN pins free
 
 // THESE SPECIAL BUTTONS CAN BE ANY BUTTON CONNECTED, THEY ARE DUAL USE.
#define   EVENT_SETUP_DIN_PIN    0   // 0 - 33, pin number of button used to enter event setup
#define   GLOBAL_SETUP_DIN_PIN   1   // 0 - 33, pin number of button used to enter AIN setup
 
 
 /* Relay setup */
#define   RELAY_SHIFT_REGISTER     4 // 0 - 7 Relay's Shift Register
#define   RELAY_LED_SHIFT_REGISTER 5 // 0 - 7 Relay's LD indicator Shift Register
 
 
/* LED setup */
#define   USE_LED_INDICATORS     1  // Enable LED indicators connected 1 = Enabled 0 = Disabled
 
/* LED Digit Setup */
#define   DIGITS_CONNECTED       1  // 0-2 How many LED digits are connected
#define   DOUT_DIGITS_SR         3  // What SR do the digits start from.
                                    // 2nd digit will be on the next SR
 
                                    ////////////////////////////////////
                                    // IF NO LED DIGITS ARE CONNECTED //
                                    // A 2x20 LCD DISPLAY CAN BE USED //
                                    // WITH THE BANK DISPLAYED ON THE //
                                    // LAST 4 CHARACTERS              //
                                    ////////////////////////////////////

Download

Application

Device Bankstick Downloads


PC Editor

Pedal Board Editor 2 v1.0
Please note the editor requires a minimum of WinXP with .Net 3.5

Known Bugs

Version 2.6:

Please report bugs in the Pedal Box forum thread

History

* 2.6beta1

* 2.5beta3

Hardware

Minimum Setup

Analog inputs

ain_trs_connection.jpg


I use normalising (DPST) 6.5mm TRS Sockets.
Tip = +5 (vd)
Ring = CV (A#)
Sleeve = Ground (vs)

Ring and Sleeve are connected together on the normalising side.
When a jack is not inserted, CV connects straight to ground (prevents AIN jitter).


pbx_core-trs_connection.jpg

When inserting/removing a jack, make sure the control voltage = 0 (pedal off). Or you will pass voltage straight to ground, causing mios to crash, and maybe cause damage to the circuit.

If your using manufactured expresion pedals or other cv devices, check the pin assignment, some devices use a different setup.
With different setups, there is no way of stopping +5 being passed straight to ground while inserting/removing the jack (that i know of). Make sure you power off first!!!

Buttons / Foot Switches

Up to 34 buttons can be used with Pedal Board mode.
16 fixed buttons, 16 banked buttons, bank up and bank down

This gives a total of 144 possible midi commands.

The fixed buttons must be connected first (pin 0 up to 15), any amount 16 or less if fine (including none).
Fixed buttons are buttons numbers 1-16.

The banked buttons connect next (starting from the next available pin), again any number of banked buttons 16 or less is fine (including none).
They represent buttons 17-144.

The special function buttons pair up with bank down to access the setup menu's these can be any button aside from bank up or bank down. (pins defined in pbx_config.h)

How many of each type of button is defined in pbx_config.h.

The amount of banks available will vary with how many physical banked buttons you have. eg. with 2, there will be 64 banks, with 4 there will be 32 banks.
With 6 buttons there will be 22 banks. In bank 22, the first 2 buttons will represent button number 143 and 144, the 4 remaining will also represent 144.
If you don't have any banked buttons, bank display functions will also be disabled.

Indicator LEDs

Buttons can have indicator LEDs displaying their curent status.
LEDs connect to the first 1,2,3 or 4 shift registers, matching up with their DIN counterparts.
eg. SR1 DIN D0 = DOUT D7, DIN D1 = DOUT D6

If you do not wish to use indicators for buttons, they must be disabled in pbx_config.h

7 Segment LED Digits

2 seven segment LED digits can be connected to a DOUT module for bank display.
Pedal BoX does not use a LED matrix, each digit requires it's own shift register

Connect digits to the shift registers after LEDs, so if you only use 4 leds, still start at SR2 (or pin 8)

pbx_leddigits1.jpg

0, 1 or 2 digits can be used (defined in pbx_config.h). If no digits are used, the current bank is displayed on the LCD (requires a 2×20 display)

The shift register of the 1st digit (the one's display) must be defined in pbx_config.h
The second digit (ten's) will be automatically assigned to the next shift register.

If only 1 digit is used, and bank goes higher than 9. The dot will light up to let you know that '0' is actually 10, '1' is actually 11, etc

In place of LED digits. A 2×20 LCD Display can be used (instead of 2×16). The last 4 charcters of each line are used for bank display. This will only happen when DIGITS_CONNECTED = 0 in pbx_config.h.

Buttons, LEDs and LED Digits are only available for Pedal Board mode

Relays

Up to 8 relays can be connected to trigger external switches. Relays can be triggered with a button (PbD), a midi event (PbX) or within Rig Control (both).
Relays can also have separate indicator LEDs.

Relays connect to any free shift register (defined in pbx_config.h). The relay indicator LEDs are also assigned their own shift register.

NOTE: Be sure that you use free shift registers. Remember if you use LED indicators for buttons, the shift registers taken up by buttons are the same for their LED's. If not all buttons have LED's you must leave the DOUT pin's free on any pin that has a button connected on it's DIN counterpart.
If you don't use button indicator LED's, they can be disabled in pbx_config.h, freeing up the DOUT shift registers for use by relays or LED digits.

For information on how to connect relays to a DOUT module refer to the midio128 notes at ucapps:

Or this forum thread about creating an FX Bypass/Looper

Connection Overview

www.durisian.com_midibox_pb_images_pbd_din_dout_connections.jpg

Please Note: Default connections have changed since 2.6. The default has only one digit connected to SR 5. With bank and PedalSwap footswitches and LED's attched to SR 4

Pedal Board Test Bench
www.durisian.com_midibox_pb_images_pbd_test_bench.jpg

Where to get Pedal Board parts

I only built Pedal Box, so I use the Behringer FCV100 Foot Pedal in CV mode. But here's some links that came up on the forum.

If you build Pedal Board please FIXME

To Do - Future Plans

Inspirado

Here's a vision I had:
pedal_board_max.jpg
You know you want to build it!