PU-2: Version 0.093 – ALPHA is ready

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:


  • 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)


  • 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).

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.


Leave a Reply

Your email address will not be published. Required fields are marked *