DIY modular MIDI controller - Page 2
Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 24
  1. #11
    Tech Wizard paul_monk3y's Avatar
    Join Date
    Feb 2011
    Location
    Santiago, Chile
    Posts
    48

    Default

    Teensy 2.0 ++ can be multiplexed and with less than 7 pins have 48 I/Os

    Why should my build be filmsy? With the correct tool, hardware and design it can be solid as a rock, just look at the Midifighter.
    It's not my first time building something, and as a FB page says.. "Trust me, I'm an engineering.."

    I'm pretty optimistic for this build, and I think it could work just fine (I'm just building a prototype, if it works I can get some PCB made in China, buy tons of hardware and start building many more of this things...)

    Right now I'm on a R&D status, so I can build it later.

  2. #12
    Tech Mentor extraclassic's Avatar
    Join Date
    May 2010
    Location
    Sheffield - UK
    Posts
    255

    Default

    Go for it that's what i say.

  3. #13
    Tech Mentor
    Join Date
    Feb 2011
    Location
    Southern Ontario, Canada
    Posts
    244

    Default

    It's been a while since I've been around these parts (real life has got in the way), but I had to stop by and drop some encouragement (as well as some suggestions).

    The suggestions to abandon the project aren't entirely wrong. In that making your own modular controller project is a serious undertaking (I know from experience), and will never ever be cheaper than buying a pre-built alternative.

    However, what they aren't taking into account is the incredible learning opportunity, the feeling of accomplishment you can get, not to mention the fact that if you build "a better mouse trap", there could be financial benefits as well. I will never ever suggest someone abandon a project unless it will ruin them financially, so press on, but keep us updated!

    My suggestions would be to consider an alternate to the teensy, as it may not have enough inputs to get everything hooked up in an efficient way. Perhaps a mega would be the proper final controller for the project. That said, the teensy will absolutely be up to snuff to get the basics up and running.

    The big reason(s) for the mega would be: more interrupts, more communication options, more i/o, more more more

    Good luck to you sir, I only ask you to keep us updated, and to come back with questions should you have any!

  4. #14
    Tech Wizard paul_monk3y's Avatar
    Join Date
    Feb 2011
    Location
    Santiago, Chile
    Posts
    48

    Default

    Do you have a link of the mega? I don't know it.

    I've made the maths and the teensy can handle everything, but it looks like the coding would be a pain in the **s... anyway, I'm working on the layout and the mains PCBs, so I can acces all the pins more easily.

    For the platters, I was thinking about getting a mold out a NS6 or maybe a CDJ, I don't really know it yet.

    I know that at the end, it would be cheaper to buy a pre-built controller, but it isn't my style of doing things. I've built many things in my life, and the idea of DIY is always my favorite.

    Will post more info durring the week. Thanks!

  5. #15
    Tech Mentor
    Join Date
    Feb 2011
    Location
    Southern Ontario, Canada
    Posts
    244

    Default

    Arduino Mega, though there are knock off's and variants out there.

    If you run each module off a teensy (or more accurately an atmega328, as it's cheaper than a teensy in the long run), you should be able to use a teensy for the main brain. each module would handle its own input/outputs, and would simply communicate to the main board via midi messages. The brain would simply act as a midi-through control board, passing incoming messages to the connected modules, and relaying any messages FROM the modules to whatever it's connected to.

    I usually build my stuff as well, feel free to take a look at my published builds for tips and/or inspiration.

    No dedicated thread, but you can find them starting here: http://forum.djtechtools.com/showthr...l=1#post225853

  6. #16
    Tech Wizard paul_monk3y's Avatar
    Join Date
    Feb 2011
    Location
    Santiago, Chile
    Posts
    48

    Default

    So, the idea would be each module with a brain, sending/receiving MIDI messages, and a main brain, collecting all this messages and sending them to the software? That sound interesting..

    But the mega328 isn't cheaper that the teensy, as I have to add midi to it, and teensy has it built-in.

    Maybe a mega1280 with multiplexing and a midi module could work better than the teensy with multiplexing, have to research on that.

  7. #17
    Tech Mentor
    Join Date
    Feb 2011
    Location
    Southern Ontario, Canada
    Posts
    244

    Default

    That's the idea I had yeah, it would spread processing around to each module, leaving the main module to pretty much play a traffic cop in regards to midi messages.

    The raw mega328+crystal+caps would run you about $5, it does have midi "built in" in the same way that the teensy does (midi is purely serial data running at 31,250 baud).

    Midi-OUT is done with a simple resistor and serial comms, dead easy to pull off. Midi-IN on the other hand is a little more tricky. It requires a suitable opto-isolator with the correct pull down (for the transistor) and power resistor (for the led). Once the Midi-IN circuit works, receiving is just as easy as sending.

    Each module can communicate to the brain using midi (it can be received without the standard midi-in circuit), the main brain will then send them to the end point and receive messages from the endpoint through the midi-in circuit (therefore only requiring one "real" midi-in circuit).

    I can dig up some of my schematics for some of my working prototypes if you think it will help. The most important part is to keep your scanning frequency as high as you can. When I added a salvaged trackpad from an old notebook to a controller, it added a very very small 7 millisecond overhead to the input scanning functions. Due to that extra delay the mcu would miss some steps of the two rotary encoders. It was hard to believe that a seemingly insignificant delay of 7ms would cause issues.

    Without the trackpad, the scanning returned to being measured in uS (microseconds). What I could have done is separate the controller out into a trackpad module with a dedicated mcu. It would handle the lengthy scans of the trackpad, then simply pass midi messages back to the main brain which simply gets processed as midi-thru messages.

  8. #18
    Tech Wizard paul_monk3y's Avatar
    Join Date
    Feb 2011
    Location
    Santiago, Chile
    Posts
    48

    Default

    Interesting. So basically the idea would be to create each module as separate unit, that sends MIDI messages, and all of that gets connected to a master highway of MIDI messages, routing the I/O to each channel.

    that involves a lot more programing than I was thinking of, but not imposible. I like the idea, will buy some parts and start prototyping!

  9. #19
    Tech Mentor
    Join Date
    Feb 2011
    Location
    Southern Ontario, Canada
    Posts
    244

    Default

    If you structure your code correctly, it shouldn't be too much more than doing it any other way. The main brain would be the simplest, as it's sole job is to pass messages around.

    You could structure the code in such a way that each module would run the same code, just with different configurations.

    How many inputs do I need to check?
    What type of input is it (button, rotary, fader, etc)
    What are the pin(s) for each input?

    The main loop would just go through the list of inputs, and depending on the type of input, it would call the appropriate input checking method.

    You would need to come up with some sort of standard midi note scheme so you don't end up having to alter pre-existing modules. If you know any one module wont have any more than X inputs, then it should be fairly simple to arrange the notes in banks leaving gaps between them for future expansion.

    You should take a look at the midifighter code for a great example of how they deal with multiple banks on a single set of buttons. The idea should translate to multiple banks on multiple sets of buttons quite well.

    One side effect of this approach would be that each module should be able to be used as a standalone controller. Assuming everything comes together like it is in my head.

    The system could be as such: a main brain controller that contains the xfader, channel faders and channel related functions. Then you can have an effects module, a control/transport module, loops module, midifighter module, etc. Each module though, could be connected to the pc on it's own and work just fine ---OR--- be hooked into the main brain and become a small piece of the overall larger controller.

    Or the main controller could be kept simple with a few buttons and a cross fader. Then each channel could itself be a module, allowing you to have a 2/3/4+ channel controller if you should so choose.

    heh, sorry for the rambling, but once I get into an idea, my brain just goes nuts

  10. #20
    Tech Wizard paul_monk3y's Avatar
    Join Date
    Feb 2011
    Location
    Santiago, Chile
    Posts
    48

    Default

    I get what you are talking about, is a more elaborated version of my first idea (each module with a brain on its own, and they all connect to a master brain..) but i wasn't working with MIDI notes...now that you pointed that out, sounds very interesting.

    My idea was a main unit, mixer like, with xfader, line faders, eq, gain, filter, cue, and file browsing inside other stuff... and external modules for transport, effect, and cuepoints (midi fighter like..), and later design others modules (like a module full of knobs, a led matrix for show, I don't know...anything that comes to mind really..) maybe some LCD modules, showing track info, etc.. (I'm focusing everything on traktor, as it's the software that I most use..)

    I'll start with the main controller and 1 module, so I can work the MIDI I/O out, and later keep working on others modules to add them up.

    Thanks for all this induction of chain-thinking you started inside my head now.. its true, brains just goes nuts..

Page 2 of 3 FirstFirst 123 LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •