Jump to content

(Modular?) MIDI Controller


HyperQbe

Recommended Posts

Hi there!

I've got this idea spinning around in my head...
It all started out with a bunch of Behringer's BCR-/BCF2000 which I considered to be the best controllers I could get (for the money) to control Propellerheads' Reason with. The only problem was that I just couldn't get all 4 of them running together, controlling what I wanted them to and giving me the feedback I was craving for...
Then someone crossed my way and helped me build a codec (a file that tells Reason all it needs to know about the controller) which handles every 2 of them as one device, which got me the control I wanted, but still lacked proper feedback, since I wans't yet able to get access to the BCs' original functionality...
Then I came up with the idea to create my very own MIDI controller, based of an improved BC-like design, and built on top of the MIDIbox platform! :D

My latest spin on this idea is this: I think it would be a lot more affordable for me to build some smaller controller units one by one, than doing the whole big thing all at once! So... would it be possible to, let's say, make a controller that's just a MIDI brain with some basic/general controls, and then make some additional "modules" (e.g. one with lots of encoders, one with a bunch of faders, perhaps an additional one covered with buttons, etc...) and then connect them all to the one basic controller, which in turn provides data and power connections?
I've already done some research, but although there are already some more or less modular controller platforms out there, there doesn't seem to be something like this... yet! :)

I'll appreciate any kind of response, and, maybe some time, a little (more) help in development of such a system -- if only to see it it would be feasible...

Thanks!

Link to comment
Share on other sites

the whole midibox hardware platform is modular.... they are all seperat modules that can be chained togehter with standart crimpable ribbon cables.

if you speak of modular you might mean the Case - the housing - the 19" Rack or so > i suggest a system that has a rail for free movable screw nuts, so you can replace frontpanel and backpanel parts when you update the system.... the wireing internal i would make with ribbon cables instead of "power rails" ---- e.g.:

http://www.schneidersladen.de/de/tiptop-audio-z-ears.html

http://www.schneidersladen.de/de/sb-rail-1m-ohne-kante.html

http://www.schneidersladen.de/de/sb-rail-19-mit-kante.html

 

i dont have tried this products...  i only say it is a good idea

Edited by Phatline
  • Like 1
Link to comment
Share on other sites

Well, thanks for your interest and for your quick answers, guys!

@Phatline: Nice idea! But I did some research, and there already are controllers in similar cases out there. They're modular in the same way as"classic" modular synths. But that's not quite the way I meant it...

As I mentioned, my design bases on the BCR/BCF2000 controllers from Behringer. I've attacheda pic showing one of the latest drafts of this design. As you can see, it is devided in three parts: the "BCR" part on the left, the "BCF" part on the right and some kind of "master section" in the middle...

Now, my idea of making it "modular" was to separate these three parts, each in its own casing, but leaving the "brain" as well as all connections (MIDI, USB, power) to that master section. You could then go and buy the parts you need (the rotaries, the faders, maybe some kind of APC-like button matrix and so on...) and just connect them together to form one single controller that perfectly suits your needs! :)

Well... Maybe ther'd be some need for extra power supply, so I would throw out the power supply from the main section and give each part its own USB power supply... :)

Now, what's your opinions? Would this be feasible or would the "brain" simply tilt if you connected too many modules?

HyperQ'ntrol_Draft3d.png

Link to comment
Share on other sites

Ummhh...I think I'd go for #1 then. Are those the same cables as already used by MIDI? :)
That's a nice idea, for there are quite short cables available on the market..

But the question is still, would one brain be capable of getting it all together, even if someone decides to, let's say, connect 4 or 5 controller modules - and which one would do best fulfilling that task?
Just for consideration: The "rotary" module would technically have 64 encoders plus buttons, the "apc matrix" module could have 64 of those pads (maybe velocity sensitive) plus additional controls... I think that's quite a lot, isn't it? :)

Oh! AND: Would it be possible to daisy-chain those modules, or would one have to connect every on to the main module, separately? If the latter, that would at least limit the number of modules to connect. ;)

Link to comment
Share on other sites

no i would go for twisted pair - shieldet in pairs, or better individually.

daisy chain... yes possible and necessery! all the used shiftregisters has to be connected one after a nother --- and if change the connecting you have to change your Coder!!!! (pin)

 

it depends on your code - (memory on ic) and on the hardware:

MIOS32 based applications typically allow to cascade up to 8 modules (=32 DIN SRs), makes up to 256 digital inputs

256 buttons or 128encoders.... the same for DOUts

but 16Led rings needs 24 dout pins http://www.ucapps.de/mbhp/mbhp_dout_8x16leds.pdf

i dont made ledrings up to now...so someone other can help!

MIOS32 based applications typically allow to cascade up to 8 modules (=32 DOUT SRs), makes up to 256 digital outputs

Link to comment
Share on other sites

Twisted pair sounds a lot like RJ45 network cable... But I guess I'm wrong with that, for I'm not that much into english terms! That's also the reason why I ask that much stuff I could as well read on the uCapps pages — I basically understand what is written there, but I just can't make any useful sense out of it...

By 256 digital inputs, I guess they mean 256 INDIVIDUAL digital inputs... Taking those LED rings into account (for I haven't found some proper mini displays yet that could show the momentary value), that would mean that I could connect no more than 1 or 2 modules to the main section. So the controller would look not much different from the draft I provided... :/

Could you then perhaps give me some tips what's best to start with when developing such devices (besides designing a layout as I've done already)...? :)

Link to comment
Share on other sites

 

256 individual inputs, of course but, you can use matrixes and scan that via software, and so you get more that 256 individual inputs.... softwareside i dont have done this... but others have done it... (search for BLM)

256 individual outputs, also can be arranged to matrixes... (also BLM, or SID LED-Matrix, Triggermatrix...), the size of it depends on the Shiftregister (HC595) and its maximal current, but there also alternatives with more current, or transistor circuits to drive bigger matrixes...

 

 

networkcable - yes - make sure it has pair shields

stp.jpg

make sure that shields are connected to ground on one side of the cable

The DIN and DOUT Modules (digital in, digital out) has to be connected via Connector Socket J1 to the J8/J9 Sockt on the Core Module

 

J1 has 5 Contacts:

Put following cables in a pair:

VS, VD

SI

SC, RC

 

To get more Amperes over the cable make it like this:

VS

VD

SI

SC,RC

 

I dont know is it clever to put SC and RC in a own shield (pair?):

VS, VD

SI

SC

RC

 

 

tips... well read that: Midibox NG

for programming: I did not have to do with the Midibox NG... i took a MIOS32 skeleton and programmed my own concept. and it took a while to understand different things, and many things i dont understand up to now (like OSC and Ethernet)

best you use Midibox NG... they have thougt about how a Midicontroller should work.

when you want to use your concept of only core, and want to add more modules after time or on a running system, you have to add an "OFFSET to your shiftregister pin-outs) ....for example:

activate a LED on a new connected module:

LEDs are connected to Shiftregisters mainly "HC595" this registers have 8 PINs, you want to activate LED0 now, LED0 is connected to Shiftregister pin 0,

All Shiftregisters are in an chain >>> all registers are connected serial one after a nother...if you connect your EXTRA/Modular Midibox to your CORE/MAIN-Midibox - then the chain starts on the core modules, and goes thru all DOUT-Registers in the MAIN-Midibox, until it goes to a connector where you plug your EXTRA-Midibox... well lets say there are 4 Shiftregister in the Main Midibox, the EXTRA-Midibox now starts with the 5th Shiftregisters...

a LED gets software side activated in a way like this (pin, pin_value), so the first pin of your EXTRA-Midibox is: 32 (the pins start by 0, and 4 Registers * 8 Pins = 32  32+0 =32)

so the point is, you have to program a offset to this >>> pin+Offset=real pin  >>> the offset could be set by a "Connector switch", a Switch which is Connected to a DIN-PIN, if this DIN-Pin is acticated the Software set a PIN-Offset .... like an DEVICE ID

 

 

that are my thougts...

a LED on a specific pin (maybe pin 0) on a shiftregister (a shiftregister has 8 pin

 

Edited by Phatline
Link to comment
Share on other sites

I can't remember too many truly massive NGs during the past couple of years, but this was certainly done in the early days of MIDIbox. I would say if you really wanted modular blocks then house each in its own case and send/receive the data by ordinary MIDI. You could then have a master box which merges all of the inputs and sends out the data over USB. For this you would need one Core module per box, and an 8-bit one will do the job just fine. 

It's possible to send out balanced data signals via the line driver/receiver boards but MIOS works in a chain, not a star. Having multiple Core modules means just one chain per box, rather than multiple line drivers (which is untested as far as I know). 

Link to comment
Share on other sites

Well, that merging variant seems quite appealing to me! Would it then also be possible to make some basic settings of the chained modules from the "master box" and also store it there? I mean, it should be possible to recognize connected modules via MIDI and make neccessary adjustments to them as well as to the master itself, during boot-up, doesn't it?
At least, this solution would not limit the number of modules, as long as I'd work out how to separate their messages in a way that any receiver doesn't get identical messages for different purposes...

Another questiion is, whether the master box can also be placed in the middle of such a chain -- in case, someone likes to not place all his modules to one side of the master box, but maybe 2 on the one side and one on the other...? (see attached picture)
In the picture I provided earlier, the "master section" is the center part aswell, making it more accessible if the controller should be placed more to one end of the workplace.

Maybe, someone could recommend one of the described brains / core modules from the main website (ucapps.de), so I could start by building some basic controlls around it and see how it would work with my system. Thus I would know if it makes sense to do the "big thing" at all! ;)

 

Just to get that right: I'd like to have that display-and-buttons-thing just ONCE to set up the whole modular system. If that's impossible, even with each module having its own core, and I'd have to put this part in each controller, then I'll skip the modular idea and just try and do the thing as shown in my first graphic...

modules_schematic.png

Edited by HyperQbe
Link to comment
Share on other sites

You mention "affordable" as a main requirement, which will mean something different if you are Mr. Oizo! Something you should realise is MIDIbox is a cool way to get custom hardware, but it's not necessarily going to be cheaper. I've seen many grandiose plans never get past the design phase because they are a bit too ambitious or they realise it will cost $$$. But it's certainly doable!

Seeing as you have the Behringers already, you might be able to test the concept of merged data streams with a Core 32, which supports at least 4 MIDI ins and outs. Are you good on the programming side? I'm sure you could mess with the code to process the data however you like, including sending custom sysex streams if needed.

 

Link to comment
Share on other sites

with midi you dont have to have chains... of course you can make chains....>>>>

just build more midi IOs on your MAIN-Box >>> http://ucapps.de/mbhp_midi_io.html....

 

 

 I think, that may be a proper solution. But since regular MIDI I/O are so BIG, and the (main) box will rather be somewhat small, I tend to use mini DIN connectors or even stereo audio jacks for chaining.
I'm thinking of granting 4 inputs to the main box and putting each one in and out on every extension box. So you'd have a max of 4 extensions connected to thew main box, that cann be arranged and positioned just as you need it. And thinking of the approximate size these boxes are likely to become, 4 of them plus the main would take up enough workspace, so you won't want any more! ;)

You mention "affordable" as a main requirement, which will mean something different if you are Mr. Oizo! Something you should realise is MIDIbox is a cool way to get custom hardware, but it's not necessarily going to be cheaper. I've seen many grandiose plans never get past the design phase because they are a bit too ambitious or they realise it will cost $$$. But it's certainly doable!

 

I've done my homework, so I know, things would cost a significant amount of money compared to ready-made controllers like the Behringers! But since I'm NOT Mr Oizo, by saying "affordable" I mean I just cannot spend some hundreds of €uros to build one huge complete controller al at once, just to test if my concept would work out. And that's one reason why I came to the modular idea, for I can then spend much less money on each box and build up my system step by step.
(I know the total cost would be much higher, because I need lots of extra parts and some of them multiple times, compared to one single box. It's more about what I can afford at once!)

Seeing as you have the Behringers already, you might be able to test the concept of merged data streams with a Core 32, which supports at least 4 MIDI ins and outs. Are you good on the programming side? I'm sure you could mess with the code to process the data however you like, including sending custom sysex streams if needed.

 

Programming is not my problem. As long as I know how the language works and what it's capable of, I can somehow get my stuff together. Right now I'm learning to write proper codecs that make it possible for Reason to work with controllers...
I've already tried merging the data streams of my Behringers. They're actualy build to be daisy-chained if needed, and I also tried a MIDI merger / splitter to achieve some positive results. But in this case, the existing codecs for these devices in Reason "have grown old", and they don't seem to be able to work properly if you have multiple chains of the same devices connected. Unluckily, there's no way cou could change those codecs to your needs, so writing a new and modern one is the only chance to get it done...

Link to comment
Share on other sites

So, well...

Maybe, someone can help me with the most important thing. I looked through the hardeware section at uCapps.de, and there are 3 core modules described — at least, if I get that right.

To me it seems, the STM32F4 based core would be the simplemost to use, for there's no soldering neccessary. But somehow I have a feeling that it can't work as a "brain" all on its own... Exactly what parts would I need to buy and which steps would I need to do to get a very basic setup from which I can move on extending and somehow test my ideas in the first place?

Link to comment
Share on other sites

with 32F4 you have to solder as well, there exist also (like on the LPC Board) a "Motherboard" > the CORE.

 

the LPCore has 4 Midiconnections 2in/2out, on board, while 32F4 has none > where you have to built external Midi-IO-Boards....since for easier cable connections between the boxes you have to built external Midi-IO-Boards in any (your) way (LPC or 32F4)

For me, i dont buy LPC Cores anymore... because i need the additional Performance of the 32F4 for my programms.... anyway in the past it was a compact solution, witht that Midi-IO-s onboard.

Edited by Phatline
Link to comment
Share on other sites

So, what would you recommend?

To start with, I thought of getting myself some stuff like the "core" (whatever that's gonna be),  an LC display, some buttons, encoders and LEDs for the interface and some basic testing, and maybe some unit for SD cards...

of course I'd need some I/O, too, but I think USB should do well...

Link to comment
Share on other sites

Your quickest option will be to hit up ilmenator for an SCS PCB:

If you go for the STM32F4 Core it has an SD card onboard. And if you wanted smaller/non-standard MIDI connectors (e.g. miniDIN) it might be an idea to create a dedicated PCB for this. The MIDI in circuit requires an optocoupler but it's very simple.

 

 

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...