DAW controller orientations and design

Hi everyone,

 

To briefly introduce myself:

I’m a 35yo guy living in New-Caledonia which is a small French island lost in the pacific. (So once and for all I do apologize for my English :poke:)

Because I’m far from everything I decided to create my own controller based on this awesome Midibox NG. I have some knowledge in electronic and computer code from my old days in school.

 

I started the design but I face some questions that need a little of your experience.

 

Here the general needs:

  • I mostly use Reaper but also Nuendo/Cubase for some project and I want to use the Keyboard and mouse as few as I can.

  • According the success of this midi controller project I plan to build a midi sequencer to attach on it for my Live rig.

Those needs make me think that I need something as flexible as possible with some storage for different configurations.

 

I tried to read as many post/forum as possible but I’m a little bit lost in all this information so if you have some builds to recommend for inspiration it will be more than appreciate.

 

Because it’s my first Midibox project I want to start with something “simple” that I can extend by replacing or adding components. Once everything fits my ideal I will do a dedicate PCB and order a lasered surface but that’s for later.

 

In the final stage I may have “A LOT” of led, buttons, encoders so I think about several different matrixes to manage them all.

 

I understand that with 1 DIO_MATRIX module I can handle 8x8(64) Digital IN or OUT. With 2 DIO_MATRIX modules I can handle 16x16(256).

 

Here is my first idea of what I could use at the end (I will start will 1 matrix of each and extend):

  • 2 matrix for BUTTON (256 entries each) - With 4 DIO_MATRIX only?

  • 2 matrix for LED (256 entries each) - Can I use 4 DIO_MATRIX as well for that?

  • 1 matrix for ENCODER - Is that possible? I do not see “encoder matrix” in the CORE_LCP17 description.

(I may add encoder LED rings in the future if I feel comfortable enough with the concept)

 

In case you noticed that I do not mention POTS it’s only because I want something “live” that can change on the fly so no pots or faders on my board. (I may think of motor fader if I’m rich enough in the future :rolleyes: )

 

What do you think about this first impression?

 

I am also a little bit confused with the implementation of the DIO_MATRIX. Is there any post describing how to attach several 16x16 matrixes on the core? (Are they just chained one after the other? In that case how do you declare each couple of 2 DIO_MATRIX and how do you separate the different matrixes? Is that on the soft side?)

 

Once I will have this information I will do a high level design to submit here for comments and advises. The low level design will be submitted here as well once all components have been validated by the community :smile:

 

I’m working on a picture of what I want to obtain at the end and will post it here once done.

 

Thank you in advance for your support and your patience with a newbie ^^

 

Ender

hi Ender, wellcome.

 

don´t forget, you can add up to 64 small graphic lcds (like ssd1306) to one core module.

 

and yes you can chain several dio_matrix modules, i think up to 16. (just in case you haven´t seen it yet: , there you can inspect all the available modules and schematics. and here 

 

http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2F&#

 

you can find all kind of software/firmware for all MIDIbox projects.

Thank you JEFinster ! Because of you I need to restart my project from scratch to integrate those nice little screens :smile:

 

I think i got a precise idea of how works the matrix now. I 'll keep you in touch !

 

Ender

 

 

Hi there,

 

I do have a question about what is possible or not with MIOS.

 

I plan to use 4 encoders per channel but i need to assign them more than 4 functions. (this is an expansion of the Mackie which only have 1 encoder per channel)

 

Here what I’d like to achieve :

 

This idea is :

1- I select one of the encoders line with the top line 4 buttons (VPOT-1 to 4)

2- I assign one of the underlines functions to the line of encoders.

 

Just to be clear, I only want a GO or NOT-GO for now… if you tell me that it is possible I’ll go forward in my design. The “coding time”  will come later :smile:

 

Thank you,

Ender

 

* the first button label is wrong. You should read VPOT-1

Short: GO!

 

Long: If that’s not possible with the current NG firmware (I don’t think it is), it’s definitely something you can do with some additional programming or maybe TK will like the idea and do it :shifty:

Awesome ! Thank you nILS :smile:

 

In that case I believe that I can show you what I am working on. Basicaly it’s a Mackie control with 16 channels and some improvements that I need/like.

 

The encoders part will be made with 4 modules of led rings PCB. I will now do the high level design to understand how many DIN/DOUT I will need to complete them.

 

 

rest is comming soon :smile:

Ender

 

*Edit : The link should work now.
 

[brokenrecord] off-site docu bad [/brokenrecord]

Hi Endernumea,

 

i’ve started a similar project for cubase 6/7. I’d like to have a transport- / plugin- / mixer remote controller.

advice: save money for motor faders. you will love them, i promise you :slight_smile:

suggestion for the v-pots: why not preparing specific scenarios for your pots? for example: when you have to modify your EQ parameters, you probably want your v- pots alligned similar to an analog mixer.

Hi,
 

This idea is :
1- I select one of the encoders line with the top line 4 buttons (VPOT-1 to 4)
2- I assign one of the underlines functions to the line of encoders.
 
Just to be clear, I only want a GO or NOT-GO for now… if you tell me that it is possible I’ll go forward in my design. The “coding time”  will come later :smile:

 

I’m currently working on the new “conditional event” feature, this could make it possible (but this is no 100% confirmation yet, that it will perfectly work - the concept still needs to be improved).

 

E.g. here I tried to switch between 4 different events assigned to the same encoder with a toggle button:

http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Fcfg%2Ftests%2Fconev_3.ngc

and this one is working! :slight_smile:

But some other cases which should be covered by the new feature are not working yet, and I hope that I don’t hit any limitation… therefore the usage could change.

 

Best Regards, Thorsten.

See, I told you. :yes:

Hi,

 

 

I’m currently working on the new “conditional event” feature, this could make it possible (but this is no 100% confirmation yet, that it will perfectly work - the concept still needs to be improved).

 

E.g. here I tried to switch between 4 different events assigned to the same encoder with a toggle button:

http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Fcfg%2Ftests%2Fconev_3.ngc

and this one is working! :smile:

But some other cases which should be covered by the new feature are not working yet, and I hope that I don’t hit any limitation… therefore the usage could change.

 

Best Regards, Thorsten.

 

Great ! This sounds like a terrific feature to be added. I will follow this topic with attention from now :slight_smile:

 

See, I told you. :yes:

 

:wink:

Hi Endernumea,

 

i’ve started a similar project for cubase 6/7. I’d like to have a transport- / plugin- / mixer remote controller.

advice: save money for motor faders. you will love them, i promise you :slight_smile:

suggestion for the v-pots: why not preparing specific scenarios for your pots? for example: when you have to modify your EQ parameters, you probably want your v- pots alligned similar to an analog mixer.

 

This is a really good idea that could be my workaround if the “conditional event” feature is too complicated or not achievable. I prefere the first concept that opens many possibilities but it definately worths spending some time thinking about your idea :smile:

 

Regards, Ender

It works! :slight_smile:

Released in v1.017 and documented here: http://www.ucapps.de/midibox_ng_manual_ngc.html

 

Best Regards, Thorsten.

It works! :smile:

Released in v1.017 and documented here: http://www.ucapps.de/midibox_ng_manual_ngc.html

 

Best Regards, Thorsten.

 

Wow… christmass come very early this year :smile: You’re the one TK !!!

 

This new improvement opens so many possibilities that now I cannot find something on a board “from the box” that we cannot achieve with MB \o/

 

Now I can’t wait to receive my orders and start working on my box :stuck_out_tongue:

 

Best Regards,

Ender (very happy)

If I summarizes the number of components for this project I get:

For the 64 encoders with led rings I will use 4 modules 8x2 LRE Fairlightiii PCB: http://www.midibox.o…id=fairlightiii

For the rest:

  • 156 leds
  • 172 buttons
  • 2 encoders
  • 16 touch sensitive motor faders

which gives a total of 192 digital inputs, 156 digital ouputs, 16 analogic inputs.

With only 1 module DOUTx4 I should be able to manage up to 256 leds like this: http://www.ucapps.de/mbhp/mbhp_doutx4_ledrings.pdf
With only 1 DIOMATRIX module I should be able to manage up to 256 digital inputs. Which is more than all my buttons, my 2 encoders and the 16 touch control faders.
With only 1 module AINSER64 I should be able to manage my 16 motor faders.

So the final order summary should be summary:

  • 1 core LPC17
  • 1 DOUTx4
  • 1 DIO MATRIX
  • 1 A1INSER64
  • 2 MF_NG

Am i right ?

I was wondering … should i use 2 modules DOUTX4 rather than one to get a better brightness for the led ?

Do i need some special module to connect all the LCD screen ?

 

Thank you in advance,

Ender

 

 

With only 1 module AINSER64 I should be able to manage my 16 motor faders.

 

You don´t need those for the motorfaders. you connect the motorfaders to the MF_NG modules and those you connect via midi to the core. The LPC17 core has two native midi in/out ports and two additional ones you can build using this schematic.

The touch control inputs from the faders are also handled on the MF_NG module, so in the end, there are no direct connections necessary from the faders to the core or a DIN module.

 

 

With only 1 module DOUTx4 I should be able to manage up to 256 leds

 

I´m not 100% sure, but if you want to use those leds for your buttons (and not for led rings), then you can´t do it this way. if you want to map different led events (like solo, mute, etc) you have to connect them to individual pins on the DOUT modules. so 1 DOUT module = 32 output pins. maybe you can use a DIO_MATRIX module for that, but as i said, i´m not 100% sure. 

 

Also the input/output connections are limitied (256 inputs/outputs per core) and you are using some of those already for the 64 encoders/led rings. You definitely have to check that before you start to order. 

 

 

 

Do i need some special module to connect all the LCD screen ?

 

 

 For more than 6 lcd screens you have to use an additional DOUT module to provide the additional “Enable” lines for the screens. see here for more information. i think this has to be connected to j28 on the the core module.

 

Also i noticed in the mockup you made (nice one btw.) that you are want to use 16 lcds with 16x2 characters and a bigger one on the top left side. i think the lcds connected to the core have to be the same size.

 

 

Other than that, i have to say: very nice project so far. especially the idea with the encoder assignment feature (the conditional events) i like very much. i didn´t think about that possibility.

 

Carry on…

 

You don´t need those for the motorfaders. you connect the motorfaders to the MF_NG modules and those you connect via midi to the core. The LPC17 core has two native midi in/out ports and two additional ones you can build using this schematic.

The touch control inputs from the faders are also handled on the MF_NG module, so in the end, there are no direct connections necessary from the faders to the core or a DIN module.

 

good news thank you :smile:

 

 

 For more than 6 lcd screens you have to use an additional DOUT module to provide the additional “Enable” lines for the screens. see here for more information. i think this has to be connected to j28 on the the core module.

 

Also i noticed in the mockup you made (nice one btw.) that you are want to use 16 lcds with 16x2 characters and a bigger one on the top left side. i think the lcds connected to the core have to be the same size.

 

According the price of these 16x2 screen (1euro each) I was already planning to replace the big screen by 2 little 16x2.

http://discourse.midibox.org/t/topic/17317

 

 

I´m not 100% sure, but if you want to use those leds for your buttons (and not for led rings), then you can´t do it this way. if you want to map different led events (like solo, mute, etc) you have to connect them to individual pins on the DOUT modules. so 1 DOUT module = 32 output pins. maybe you can use a DIO_MATRIX module for that, but as i said, i´m not 100% sure. 

 

Well… use only one DOUTX4 for all those LED looks too good to be real :sad:

 

This takes me to your next comment :

 

Also the input/output connections are limitied (256 inputs/outputs per core) and you are using some of those already for the 64 encoders/led rings. You definitely have to check that before you start to order. 

 

My problem in that case is i’m not sure to know how to count since i’m not sure how many IN/OUT are used by PCBs of Fairlightiii for leds and encoders.

 

I’m gonna do some research about that.

 

thank you for your support

 

Ender

My problem in that case is i’m not sure to know how to count since i’m not sure how many IN/OUT are used by PCBs of Fairlightiii for leds and encoders.

 

(i didn´t use the Fairilightiii pcbs yet, so bare with me if i give you any false information  :happy: )

 

Fairilightiii pcbs have 16 encoders each, that makes a total of 32 digital inputs. that means 4 pcbs need 128 digital inputs. you would have 128 digital inputs (128 buttons or 64 encoder) left. that´s 4 DINx4 modules.

 

for the 64 ledrings i think 16 ledrings use 1 DOUTx4 module, that means 4x16 led rings = 4 DOUTx4 modules, so you would have 128 digital outputs left for other leds. that´s 4 DOUTx4 modules.

 

 

If you need more inputs/outputs however, it is possible to use a second core module (e.g. only for the Fairlightiii pcbs) and connect it to the “mastercore” via midi.

 

 

 

 

 

EDIT :

 

i took the liberty to compile a preliminary shopping list for you (just an example):

 

1 Core LPC17

4 Fairilightiii PCBs - for 64 encoder and led rings

4 DINx4 - for 124 buttons and 2 additional encoders

5 DOUTx4 - for 128 status leds (mute,solo,…) and 1 additional doutx4 for the remaining lcd screens

2 MF_NG - for 16 motorfader

 

this is not a complete list, just a thought on which and how many modules you would need

I do some calculation yesterday night and arrive at the same conclusions as you :smile:

 

I also started to read the .ngc file and I found that inside:

EVENT_LED_MATRIX : A LED matrix is a hardware option where multiple DOUT shift registers scan a network of LEDs. The corresponding EVENT_LED_MATRIX command allows to assign a MIDI event to control individual LEDs of the matrix, or to set a row in the LED matrix to a specified pattern:

  • MIDI events from key/cc=<value> upwards will turn on/off the LEDs of the matrix
  • if led_matrix_pattern is specified, MIDI events will set a whole LED row of a matrix with the incoming MIDI event value (for LED Rings, Meters, etc…)

This works as long as the LED_MATRIX hardware has been configured with led_emu_id_offset=0 (default). With led_emu_id_offset=1 (or greater) the LED matrix will react on individual MIDI events instead, specified with EVENT_LED events.

Does that means the first idea is applicable finally ?

 

 

 

well, i also did some reading over the night, and it seems it might be possible for you to use a matrix for the buttons as well as for the leds after all. i studied the example scripts in the repository and i found this one . in there you can see how individual events are mapped to the buttons/leds in a matrix. 

there might be limitations though, e.g. the toggle mode is not supported for button events. but you have to decide if you would want that mode with your controller.

 

i guess, the next step would be to get a core, some din/dout/dio_matrix modules, some buttons, encoders and leds and do some testing (that´s actually the fun part  :happy:).