custom controller n00b questions
Page 1 of 3 123 LastLast
Results 1 to 10 of 22
  1. #1

    Default custom controller n00b questions

    Let's say I wanted to build something like midifidler's MidiFighter, only without the status LEDs. 16 high-end buttons, in a grid, each of which sends a note-on message or something.

    Where do I start? Where do I get the buttons? Will I just need to know how to solder (which I sort of do), or is there some board etching or other magical-to-a-pure-software-guy process I'd need to understand?

    And in general, am I signing up for a whole lot of hassle when I should really just be throwing down a few benjis on a VCI-100 and/or an APC40, and not worrying so much about ultrafast triggers ala Ean's ubiquitous YouTube vid?

    "Be honest, and don't spare my feelings...do you have any more of those crispy crab cakes?" -Bullworth
    reason, live7, traktor pro, m-audio x-session, m-audio O2, KRK RP5, Roland RD300sx

  2. #2
    Tech Wizard hoxoboxo's Avatar
    Join Date
    Feb 2009
    Location
    Ljubljana, Slovenia
    Posts
    66

    Default

    There are many different ways to build your own controller. You can start from scratch or modify an existing controller (or a joystick, gamepad, mouse). Also the work will depend on what controller you choose to build. Some need only soldering and some need more than that, but the hard part is making the casing that holds everything firmly together.

    Big controllers tend to cost more to build than to buy one, but building one is a lot of fun and you can customize it to your needs.

    For components look on the net for big electronics sites.

  3. #3
    Tech Guru Fatlimey's Avatar
    Join Date
    Mar 2008
    Location
    Redmond, WA
    Posts
    1,158

    Default

    The basics of a "box of buttons" controller is simple enough, and any Arduino compatible CPU will be pretty much all you need. Go visit:

    http://www.arduino.cc/

    Reading buttons and sending MIDI messages is simple - Connect a switch to each of the Digital inputs of your Arduino, and connect a 5-pin MIDI DIN connector to a UART-controlled pin (labeled "TX" on my $12 Boarduino). Connect the MIDI out port to a MIDI in on your soundcard and point Traktor or Ableton at that and you're good to go.

    Put it together on a Breadboard first while you are learning. Start with a single switch and an LED to light when the switch is on. Progress from lighting an LED to initalisin a UART serial port and sending a 3-byte message out of that. (plenty of examples out there).

    The software can be written using Processing. Just get the Arduino software suite for easy programming tools - and by that I mean not just an editor and a compiler but something that will "program" your chip by talking to the bootloader. It's all covered in the Arduino tutorials.

    Once all that works, you get to look into reading analog controls like POTs, reading more buttons than you have Digital pins by using "Shift Register" chips and stuff like that.

    Do it! It's surprisingly easy (provided you can program a little - nothing more complex than looping and using variables).

  4. #4
    Tech Wizard
    Join Date
    Nov 2008
    Posts
    86

    Default

    not trying to hijack the thread, it is related

    im new to all this too and would love to build something like the midifighter as well. looking at this link, http://arduino.cc/en/Main/ArduinoBoardDuemilanove, is it really as simple as that board, 16 buttons and a midi connecter? how would you go about writing a program for it?


    many thanks!

  5. #5

    Default

    Quote Originally Posted by Fatlimey View Post
    Do it! It's surprisingly easy (provided you can program a little - nothing more complex than looping and using variables).
    A couple of my friends are software dudes who've picked up the Arduino recently, so I'll pick their brains a bit. Thanks for the motivation, too. I can just imagine the satisfaction that must come from rocking a crowd using homebuilt tools...
    reason, live7, traktor pro, m-audio x-session, m-audio O2, KRK RP5, Roland RD300sx

  6. #6

    Default

    Quote Originally Posted by Fatlimey View Post
    Reading buttons and sending MIDI messages is simple - Connect a switch to each of the Digital inputs of your Arduino, and connect a 5-pin MIDI DIN connector to a UART-controlled pin (labeled "TX" on my $12 Boarduino). Connect the MIDI out port to a MIDI in on your soundcard and point Traktor or Ableton at that and you're good to go.

    Put it together on a Breadboard first while you are learning. Start with a single switch and an LED to light when the switch is on. Progress from lighting an LED to initalisin a UART serial port and sending a 3-byte message out of that. (plenty of examples out there).
    I should probably be reading Arduino doc for this next question, but maybe you know and some other peeps here will be interested:

    Is it possible, and (if so) how much more complicated would it be, to build the controller so it outputs MIDI over class-compliant USB?
    reason, live7, traktor pro, m-audio x-session, m-audio O2, KRK RP5, Roland RD300sx

  7. #7
    Tech Mentor Krome's Avatar
    Join Date
    Mar 2008
    Location
    Southern Germany
    Posts
    130

    Default

    I'm totally new to the whole thing, what are the advantages/disadvantages Arduino vs Midibox? I just saw a midibox project and really liked the modularity it had...

  8. #8
    Tech Convert
    Join Date
    Dec 2008
    Posts
    11

    Default

    Personally I think the Hale Micro UMC32 is your best bet. It is what I used to build exactly what you're talking about, a grid of buttons with no LEDs.

    http://www.halemicro.com/Products/Products.html

    I built this guy:

    http://www.djtechtools.com/2009/03/1...lller-is-born/

    and it was totally easy, especially if you have any soldering experience. The great thing about the UMC32 is that it is truly plug and play. No programming necessary at all.

  9. #9
    Tech Guru Fatlimey's Avatar
    Join Date
    Mar 2008
    Location
    Redmond, WA
    Posts
    1,158

    Default

    Quote Originally Posted by feralchimp View Post
    Is it possible, and (if so) how much more complicated would it be, to build the controller so it outputs MIDI over class-compliant USB?
    The Arduino setup communicates with the host over USB through the notorious FTDI chip (a.k.a. the $6 USB tax), a chip that accepts serial data (like a modem does) and pipes it over the USB to the PC on the other side. So you can't directly talk to the USB interface or the host, you've got an intermediary chip and driver set doing that for you. It greatly simplifies the world of the Arduino programming, but it means you can't make AudioMIDI Class Compliant devices using Arduino.

    To do that you need to start with a USB enabled AVR chip, like the AT90USBxxx series or the ATmegaXXU series and work outside of the safe and well designed Arduino "playground" and in the world of actual to-the-metal programming using the WinAVR compiler and libraries. It's not that much more difficult (once you've scanned the 200-page specs for the chips and the documentation for the libraries!) and it's extremely satisfying seeing how everything works under the hood.

    To help you out implementing the USB protocols at the low level, there's a really handy open source project called "LUFA", the Lightweight USB Framework for AVRs that handles the messaging and setup, produces class compliant startups and gives you a basic cooperative multitasking framework so you can run several endpoints at once (like it could be a MIDI device, a HID input, a Streaming Camera and a USB storage device all at the same time).

    http://www.fourwalledcubicle.com/LUFA.php

    It takes about a week of evenings to get the software working.

  10. #10

    Default

    Quote Originally Posted by Kvitamin View Post
    Personally I think the Hale Micro UMC32 is your best bet. It is what I used to build exactly what you're talking about, a grid of buttons with no LEDs.

    http://www.halemicro.com/Products/Products.html
    Nice work on that controller, and after reading the UMC32 manual I'm leaning slightly in that direction.

    I like the idea of programming weird custom behavior into a controller too, but maybe most of what I'd want to do in that realm is possible using tools that run entirely on the host (like Bome's MIDI Translator).
    reason, live7, traktor pro, m-audio x-session, m-audio O2, KRK RP5, Roland RD300sx

Page 1 of 3 123 LastLast

Posting Permissions

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