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)
- 10 fully configurable switches
- 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