My Pi based Midi and setlist controller project.

SimonDreyer

Inspired
Midi & Setlist Controller

My requirements:

My requirements are for a floor controller to control a Fractal Axe FxII in a band performance environment. After 7 years using the AxeFx in hundreds of shows, I require the following:

1) Setlist Control: The ablity to wirelessly download a setlist from Bandhelper or other app from my phone, at the gig, in less than a minute.
2) Two buttons to scroll through the setlist, Next Song, Previous Song
3) LCD display to show the current song name
4) Two buttons to trim the volume of each scene. These changes are retained by the scenes so only really needed when new songs are introduced to the setlist.
5) Four buttons with LED indication for scene selection. I use a dedicated patch for each song but only use four scenes, always allocated to the same functions, Intro, Verse, Chorus & Solo
6) Two expression pedal inputs (I have provided the option for 4 expression pedals, can also be used as on/off buttons)
7) Power and USB Midi over single Ethercon cable

Unit Capabilities:
Hardware:
1) 8 X programmable footwitch pushbuttons, any button to any function
2) 4 X Expression pedal inputs (or buttons)
3) OLED 128X64 Display (i2c or STI interface)
4) Traditional Midi In and Midi Out 5 pin DIN connector with optional power supply over the Midi Out connector.
5) Ethercon connector for power and USB (breakout board required)
6) Optional USB-C Power Supply

Components:
Unit is based on a Raspberry Pi Zero W2, code is written in Python3.
Expression pedal analog converter is an ADS1115 module.

General:
Drawings are designed and developed in EasyEDA, I will make them public as soon as I figure out how to do that in the program.
I have had one set of prototype boards manufactured by JLCPCB, 5 Main boards and 5 power/USB breakout boards. Coast was AU$40.00, perfect quality and delivery to Australia from China in under two weeks.
This is the second iteration for review. Plese feel free to offer suggestions and advice wherever you see fit. I would like to order the second run of the PCB in the next week.
The minimum order is 5 boards, I will probably have a few spare so if you want one just let me know.
My development board is using a small OLED display interfaced by I2c, but my preference would be to upgrade to a larger SPI driven LCD
https://core-electronics.com.au/mon...WDvyMmqYdqM2X4P9lfPKkRsgcT2OETJ8aAhw4EALw_wcB

Functions are configured using a basic .xml file that can be edited with any text editor. I have no plans to build a pretty graphical configuration application because I will hardly ever change the config.

WiFi:
Because I am using a Raspberry Pi, it has built-in WiFi (that can be used as an access point if you don't have WiFi on stage) Our band uses an Allen & Heath Qu-SB with an iPad Pro as the interface, we have a WiFi router in our rig already.

Bluetooth:
The Pi also has Bluetooth built-in so the pedal can work with any Bluetooth midi device, I have tested it with the Yamaha TRD amp.

NOTE - Ground Screens on the PCBs are hidden for clarity.
 

Attachments

  • PCB Bottom Layer.PNG
    PCB Bottom Layer.PNG
    124.5 KB · Views: 29
  • PCB Top Layer.PNG
    PCB Top Layer.PNG
    118.7 KB · Views: 29
  • Schemativ V1.1.pdf
    179.9 KB · Views: 14
  • Schematic v1.1.PNG
    Schematic v1.1.PNG
    118.9 KB · Views: 28
  • Midi Functions.PNG
    Midi Functions.PNG
    31.3 KB · Views: 29
  • Ethercon Breakout.PNG
    Ethercon Breakout.PNG
    31 KB · Views: 23
  • Config File Example 1.PNG
    Config File Example 1.PNG
    59 KB · Views: 23
  • Config File Example 2.PNG
    Config File Example 2.PNG
    104.8 KB · Views: 22
  • Config File Example 3.PNG
    Config File Example 3.PNG
    64.3 KB · Views: 26
Last edited:
About the choice of display.

I see on Ali a lot of affordable HDMI screens that could be usable with your Pi zero. 10 or 15 inch connected to the pi-zero would be awesome imo. There will be plenty of room to plot setlist/song info/ songtesxt and chords and switch functions on the screen that would be comfortably readable from a distance.
Scenes/presets banks/ effects bypass state ...All usefull or nice to haves.

I had an idea of a footcontroller with such a screen once but never got to it to build one... I am not a stage player, so dont know if such a controller would be usefull on a stage. Your Pi can handle such a screen and screen buildup presentation is my guess.

My 2 cents... DIY can get you in that "got to get creative" zone ;)

Cheers
 
Last edited:
About the choice of display.

I see on Ali a lot of affordable HDMI screens that could be usable with your Pi zero. 10 or 15 inch connected to the pi-zero would be awesome imo. There will be plenty of room to plot setlist/song info/ songtesxt and chords and switch functions on the screen that would be comfortably readable from a distance.
Scenes/presets banks/ effects bypass state ...All usefull or nice to haves.

I had an idea of a footcontroller with such a screen once but never got to it to build one... I am not a stage player, so dont know if such a controller would be usefull on a stage. Your Pi can handle such a screen and screen buildup presentation is my guess.

My 2 cents... DIY can get you in that "got to get creative" zone ;)

Cheers
I have considered the HDMI option to add a tele-prompt style lyrics display (not that I approve of such things, In my opinion, if you don't know the lyrics, the song is not ready for public performance!.. :)). The reason I am going with the OLED style display is so that I can run the display from within the Python code and don't have to write a graphics application (that is a pain!). Thanks for your feedback.
 
UPDATE - I have the second prototype up and running with all the functions that I need working. I am waiting for two more footswitches, and I
have not mounted the Midi connectors (I don't need them). Also waiting for a LCD screen to arrive.

At this stage the top left two pushbuttons are 'Next Song', 'Previous Song', the top right buttons are 'Volume Up', 'Volume Down'
The bottom four buttons are 'Scene Select'. The scene select buttons are configured so that clicking on the scene that is already selected, takes you back to the previous scene, very handy for quickly dropping in and out of a scene with two taps on the same button.

At this stage I have to control the scene LEDs (not installed) from the button pushes because when I change scenes, from this controller, the AxeFxII does NOT publish a scene change event message, but it does publish a scene change event message if you change the scenes from the front panel of the Axe or from the MFC101! Very strange. I have code to deal with both scenarios so if I have someone else changing scenes from a second controller, I will still see the changes on my controller.

The patch change scenario is similar but at least the Axe publishes patch change event messages regardless of what changed the patch so I can track it. I still have to work out how to read the patch name from the Axe, but for the moment I get the name from the setlist by matching it with the patch number that is published.

For now I am very happy that every function that I envisaged is working how I need it to work and the power and USB signals are running over the Ethernet/Ethercon cable via the breakout board (I'll publish a picture of it shortly)


Midid Controller V2.0.jpg
 
Hey there

Please do share the progress if you please ... I have been F5' ing this page sinds november 29 😱 hahaha

In other words, I am very anxious to see the result 😉

Cheers
 
Back
Top Bottom