Homebrew Midi Controller with 19 Screens and 2 way Communication with Cantablie

I was thinking about 2-way communication between my midi controller and Cantablie. There wasn’t anything that quite did it for me so I looked into rolling my own and found this thread.

It was for Fractal but it had a lot of useful information. The controller at the start of the thread uses sysex to “talk” back and forth. I decided to make something like it but using basic MIDI program changes etc so it would work with any equipment, especially Cantabile.

I started with a concept another user on the fractal board had that looked like this:

To handle the 19 screens during prototyping I designed a PCB and had it made and shipped from a PCB place in China:

This is the butt-ugly prototype for testing and software development:

Eventually, that will all be replaced by some much neater PCBs ribbon cables etc. This is what the screens look like at this point:

I had to change the exposure or the screen colors were all washed out. Eventually it will have the following features:

  • 127 preset slots that can send up to 8 midi events: control changes, program changes, note on, note off, sysex, transport controls etc.
  • each of those preset slots can have what I call a scene which will have the button navigate to 12 new screens/buttons that can have a variety of functions. Imagine having one button for changing patches, and another for turning a pedal in Amplitube on or off, etc.
  • There is a mode button so I can quickly switch the 12 lower screens/buttons to an “effects” screen that can sent commands to common effects in Cantablie and or my Eleven Rack
  • I do plan to allow 2 way communication so that changes in Cantable can be sent to update the controller.
  • There will be standard Midi In/Out ports
  • It will be able to send Midi via Apple/RTP midi over the network using a Cat6 Connection. It can be used to power the whole thing via POE or I can use an adapter. I’ll probably always use the Network Cable since I can be a LONG way away from the back-of-line stuff and only need one cable for everything.
  • It will be programmable via the buttons on the device or a separate program. I’ve already coded that to the point it can send the preset slots and all events. It’s a flutter app, so eventually I may be able to have it working on all platforms. Just Windows for now though.
  • It will have 2 analog inputs for continuous controllers.

I periodically post to the Fractal thread mentioned earlier if you want to follow along. My contributions start around page 5.

You’re feedback thoughts and suggestions would be appreciated.

Thanks!

5 Likes

That is pretty cool!

It looks a little like the Helix!

Nice! If that had a few continuous control pedal inputs it could be my dream of an ideal controller.

Does it have pedal inputs?

2 Likes

Most importantly, the set list is excellent… and a talented lead singer.

1 Like

Oh yeah, I forgot that. It will have at least 2 inputs. That is actually fairly simple to do compared to the rest. I updated the top post with it.

LOL ya, some of my fav songs.

1 Like

If you could make that three control pedal inputs I might have a crack at making this!

1 Like

Could easilly be added.

I forgot that I plan to release the code as open source so anyone can roll their own. I am not sure about the PCB side of things yet, but a group buy build could be looked at. Or I may just make a few of each and make them available.

1 Like

Is this Arduino based? I have some experience of building my own cue light boxes based on Arduino:
Cue box

I’m OK with software, but I’m lousy at hardware!

1 Like

It’s Teensy 4.1, which is more powerful than any Arduino, but works with all the same software. I’m using VS Code instead of Arduino studio. For a project this size, it’s needed.

Good. I have a few teensys kicking around from my previous project.

I have no idea what VS code is, but willing to learn.

To prevent burn-in I implemented a matrix screen saver. It wasn’t my code or my idea, but it is was a fun task:

4 Likes