PU-2 - Build the ultimate Pedal Board (Arduino+FCB1010)

Started by Elantric, August 22, 2011, 12:14:59 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Elantric

http://practicalusage.com/?cat=28
PU-2: a flexible pedal board

Rob (the developer) wrote>

This project could be classified under the existing  Midi Controller project, but due to its complexity and scope, I have decided to create a new project.

Click here to read the posts categorized under "PU-2".

The goal of this project is to be able to interface the Behringer FCB1010 with other midi equipment and, of course, a computer. The FCB1010 is already a very capable midi controller. It has 12 switches and 2 expression pedals. Everything is pretty much configurable. But the basic programming mode uses the pedals, which is tedious, at best, and quite error prone. A few users have developed a user interface. The interface works, within the limits imposed by the board and its firmware.

I want to be able to control every parameter in and out of my pedal board, to interface with various hardware/software combinations. The disadvantages of the FCB1010 are:

    proprietary software and firmware
    limited display (3 numerical digits and a few LEDs)
    No USB port

I want to be able to program anything I want in response to switch presses. I also want to have a significantly enhanced display, to be able to use the equipment to program "on the fly", without necessarily having to hook up a computer. Plus, I want messages written in clear, especially during a performance. Finally, I want to control the FCB1010 using a computer equipped with a USB port.

A hardware and software solution is offered by www.Gordius.be and seems to do most of what I need. One problem is the price. $500 is too much money for what I will use the board for. Plus, I love hacking my equipment and know enough about electronics to be able to develop my own solution.

Hence the Arduino solution. The Arduino board can be configured to do exactly what I need. I estimate that material cost will be less than $100. Also, the Arduino solution will let me change anything I want in the future.

The Behringer FCB1010 project, aptly renamed the PU-2, will be documented, as it is developed, using blog posts.

PU-2: Version 0.093 – ALPHA is ready
Posted on 2011/08/10 by rt

Phew! The hardware is now ready to be converted for Beta. This means that Beta testers will have a unit within a week or two.

The hard part was the programming. I had to freeze the specifications and develop Alpha code. Here are the specs for Alpha:

Hardware

    Based on standard Behringer FCB1010 pedal board
        Main board removed
        Power supply removed
        3 digit display removed
    10 configurable switches. See software specs below
    2 configurable expression pedals. See software specs below
    2 switches for Bank-up Bank-down
    LCD display: 2 lines of 16 characters
    Internal midi interface
    Internal USB interface
        Used for programming/monitoring in Alpha and Beta
        Will be a core-compliant midi interface in production
    New main board plug compatible with existing FCB1010 hardware. 15 minutes to replace
    runs on USB power or 7-12 volts external power
    Uses open source hardware (Arduino)

Software

    16 banks or patches (unlimited in production version)
    16 physical and logical switches per bank
        10 fully configurable switches
            each can send unlimited number of midi commands
            EACH command can be Stompbox, momentary or Normal mode
        2 switches pre-configured for Bank-up, Bank-down
        2 expression pedals with same configuration possibilities as On-Off switches
        One rotary encoder (in Beta version)
        One extra configurable stompbox switch (in Beta version)
    All parameters permanently stored in EEPROM
    PU-2 sends standard Midi commands using 8 parameters to shape the command

Programming Interface

User programming is done using a simple text file, which has a .CSV extension so it can be opened in a spreadsheet. No dedicated software interface for Alpha, but the file structure is self explanatory and uses decimal numbers (with comments) for data values.

A small program (runs on Mac, Windows or Linux) will read the specified file and create a SysEx file that is transferred to the PU-2 using a SysEx librarian (Snoize SysEx librarian recommended on Mac, a bunch for Windows, at least one for linux).

I modified the data structure since the last post to accommodate the new fields. The fields are now:

    Sequence / Bank / Patch number (limited to 16 until Beta)
    Physical switch number (limited to 10 + 2 expression pedals until Beta)
    Switch Behavior: Normal, Stombox or Momentary mode (0,1,2)
    Midi command type (Control Change, Note On, Note Off, PitchWheel, etc)
    Channel for this command
    Midi command  (i.e. 7 for Volume control, 11 for Sustain, Note number, etc)
    Midi command value (0 to 127 or 1 to 128)
    Extra (not used until Beta)
    Comment/Description

Here's an example in CSV (just a text file):testdata1.csv

Want to play with one? Write a comment or send me an email or better still, help me finance the Beta/Production development by clicking on the link at right and committing an amount.


sixeight

This is great. I was thinking about this possibility to extend the possibilities of the FCB1010. I am looking forward to where this project is going....

AlexR

It sounds good! I would do the same to mine if i had enough time...
I haven't used arduinos before but I use PICs (microchip)... I think what's more time consuming is to implement a good midi firmware...
Keep the good work!