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

VS Code is MUCH nicer than the Arduino IDE. You can add many extensions to help write code etc. It works best with Platform.IO when dealing with microcontrollers. If you need any help getting it going, PM me and I’ll help you out.

Thank you. At some point I’ll have a tinker with it.