Slashdot Mirror


Ask Slashdot: Physical Input Devices For Developers?

First time accepted submitter paysonwelch writes "I am a developer and entrepreneur and I am considering developing a very graphically rich and custom interface for my latest application which does charting and analysis of large data sets. The application would feature lots of gauges, knobs and levers. As I was thinking about this I said to myself, why not hook up physical knobs and levers to my computer to control my application instead of designing them in 2D bitmaps? This could potentially save screen space and provide tactile feedback, and a new way of interacting digitally with one's application and data. So my question is whether or not anyone out there has advice for building a custom solution, perhaps starting with a mixing board, or if there are any pre-fab kits / controllers for achieving this?"

35 of 147 comments (clear)

  1. Flight Simulator Inputs by Anonymous Coward · · Score: 5, Insightful

    I would do some research into inputs for Flight Simulators and I'm not talking about the big commercial ones. The hardcore fans build quite sophisticated flight sim setups in their home all with custom controls to match their aircraft of choice with all the knobs, switches and levers. There are quite a few companies that cater to them as well.

    1. Re:Flight Simulator Inputs by couchslug · · Score: 2

      As a former avionics weenie and aircraft mechanic, I WISH "everything else" had aircraft switchology and variety of tactile feedback and control shape (so you can FEEL them and not LOOK at them).

      Consider making something like an much larger F-16 MFD but as four "bars" of buttons you can attach to the edges of your monitor with double-sides automobile trim tape (tough stuff!).

      Touch screens "ain't shit" compared to a MFD. For one thing, your fingers don't block the screen.

      Make it work with flight sim programs and you'll have a larger market than you originally intended. Make a MilSpec version and suddenly ANY rugged monitor can be turned into a BIG MFD, and if it breaks or the vendor quits you can convert a different screen easily. MANY ground applications could benefit! Modern adhesive solutions mean a properly installed "MFD strip set" would stay solidly attached.

      A calibration option to align displayed parameters with MFD strip buttons would take care of aligning them to any display.

      Ensure your MFD switches have good tactile feedback. Between button and rocker options you could have quite a variety. An optional Thinkpad-style "clit mouse" at each bottom corner would be nice too.

      --
      "This post is an artistic work of fiction and falsehood. Only a fool would take anything posted here as fact."
    2. Re:Flight Simulator Inputs by dslbrian · · Score: 5, Interesting

      I can't believe no one has suggested one of the many MAME interface boards. Arcade enthusiasts have a myriad of inexpensive interfaces for connecting custom controls to a computer. They are cheap and easy to use:
      http://www.ultimarc.com/ (follow U-HID links, or the I-PAC, Opti-PAC, etc links)
      http://groovygamegear.com/ (follow the controls interfaces link)

      Buttons, spinners, joysticks (optical, microswitch, etc), and analog controls - there is almost certainly an off the shelf interface for any kind of basic control like that. Beyond that a microcontroller kit (arduino or other) could fill in anything more exotic. I'm going a similar route to this for a custom CNC control panel I'm building, fun stuff.

  2. Re:Oh Please No by Ethanol-fueled · · Score: 2
    Submitter:

    I am a developer and entrepreneur and I am considering developing a very graphically rich and custom interface for my latest application which does charting and analysis of large data sets. The application would feature lots of gauges, knobs and levers.

    Labview's already been invented, man. Get yourself a project box and some synchros, servos, stepper motors, and you're all set.

    /discussion

  3. midi faders by TheGratefulNet · · Score: 3, Informative

    lots of dials and knobs via midi boxes.

    sound cards used to be able to import midi control data.

    alternately, if you are into diy, arduino for the pure hardware interface and then send serial rs232 data up to the host (via usb but its still serial inside). you can read knobs via the a/d pins on the arduino and you can read buttons via port expanders or local pins.

    --

    --
    "It is now safe to switch off your computer."
  4. USB MIDI controllers by LikwidCirkel · · Score: 5, Informative

    Electronic musicians have been demanding high-quality tactile interfaces for many years. There are various USB MIDI controllers on the marked with various arrangements of knobs, buttons, keys and other moving things. Check out M-Audio and Alesis and other big names, and you might get some good ideas.

    1. Re:USB MIDI controllers by iluvcapra · · Score: 4, Informative

      Note well before going down this route: MIDI controllers are optimized for very good time resolution and fast response, but a MIDI continuous controller like a knob will generally only have 7 bits of resolution. Some controllers offer better but the message format isn't always standard. I use the 2-octave keyboard version of a Novation ZERO SL Mk 2, this has plenty of buttons, long faders, and detentless soft-knobs: set up a MIDI router and you're off.

      If you have an iPad you can also design your own knob/fader/button/X-Y pad interfaces with an OSC client, OSC controls aren't limited to 7 bits and there are plenty of libraries and utilities for handling OSC messages.

      --
      Don't blame me, I voted for Baltar.
  5. tons of choices out there by OttoErotic · · Score: 4, Informative

    X-Keys or Monome or any one of a million Control Surfaces, for starters. Or Arduino obviously. Personally I think that for a lot of applications the best solution is to drop the knobs and switches, take apart an old USB keyboard, and build a custom button-based interface using the matrix board. Interface it with hotkeys built into your app, and this way it shows up as a regular HID without needing specialty drivers.

    --
    "Once in Hawaii I had sex with a 102 year old male turtle. It is difficult to argue that it was consensual." - Steve Ma
  6. Existing Products: by Walwark · · Score: 4, Informative

    People who use software for music production like tactile controllers as well. There's a range of products out there from the korg nanokontrol (~59US) series up to the euphonix line (~1000US+). Most nowadays use USB and older ones tend to use MIDI. Motorized knobs are hard to come by in this market, but lots of products use LED rings to provide visual feedback since the encoder is endless. Motorized faders on the other hand (is this a lever? lol) are rather plentiful and not too expensive. Start your search with "control surfaces" and possibly some other terms like 'DAW' or 'MIDI' or 'USB'

  7. What you want... by fuzzyfuzzyfungus · · Score: 5, Informative

    The electronic music/DAW/DJ crowd has been all over this sort of stuff for some years.

    Something like the Aurora is an open source hardware example; but there are a large number of devices at various price points and levels of openness that boil down to a whole bunch of knobs, buttons, and sliders, with some sort of computer-compatible interface(often MIDI or USB-MIDI device, sometimes with a driver or plugin for Ableton or Max specific to the device).

    The audio guys may not map 100% to your requirements; but they have the advantage of being a reasonably large, reasonably active, community with a fair amount of existing hardware available off the shelf.

    As an alternative, many contemporary microcontrollers are capable of serving as USB slaves. Something like a teensy is pretty cheap and makes it dead easy to turn inputs from buttons and sliders and rotary encoders and things into USB HID keycodes.

  8. Re:Human Factors by kiwimate · · Score: 5, Interesting

    Yep. If you want to waste a couple of hours, read this story from a couple of days ago to get a taste of the difficulties of trying to cater to people. (For what it's worth, here's my contribution to the debate.)

    I am curious about the details behind your thoughts. The only key to your target audience is that it does "charting and analysis of large data sets". Could be a number of industries, from finance to utilities looking at PMU data from the electric grid. It makes a difference - you're an entrepreneur and developer (although your home page says you're an artist), so it'd seem to be a safe assumption that you want to commercialize this. If that's the case, you want to consider the physical location of where this is going, how complicated it'll be to provide input and get output, how quickly people will need to react, how much space they'll have around them, how many will need to be installed at a location, etc., etc. All of those considerations make a big impact on whether this is even a workable idea in the first place.

    As fidget42 said - hire someone who does this stuff for a living. That is, if I'm correct in my assumption you actually want to commercialize this.

  9. Research why Guitar Hero worked.. by HockeyPuck · · Score: 5, Interesting

    While the Guitar Hero guitar was a PITA for retailers (huge box, took up space), it wasn't the game itself that sold people, nor the controller. It was when people put the controller on, that it conveyed a feeling of "I'm a rock star".

    That feeling itself is what made GH a great game. Same holds true to flight sims, driving games with steering wheels and plastic guns. They add an emotion to the game that isn't there with a gamepad/joystick/keyboard+mouse.

    I got a chance to meet Kai Huang at a class I was taking and he was telling me that when they brought the controller to the VC guys. The VC guy put on the controller and before even playing the game told Kai and his brother that he was sold on it. The VC guy said, "I don't know how to play guitar, but I feel like a rock star!"

    1. Re:Research why Guitar Hero worked.. by MacGyver2210 · · Score: 3, Interesting

      I'm waiting for the version of GTA where I get to drive with the wheel and shoot with the gun at the same time. That would be raw.

      --
      If the only way you can accept an assertion is by faith, then you are conceding that it can't be taken on its own merits
  10. For really custom solutions use an Arduino by Caballero · · Score: 2

    If you really want to do a custom interface and have a little hardware skills you should try an Arduino. You can interface to any hardware device and feed the data to the computer over serial USB.

  11. Start with this by RedLeg · · Score: 5, Informative

    Griffin Powermate. Been around a while, affordable.

    http://store.griffintechnology.com/powermate-1

    Let the net do your shopping to save $bucks.

    Lots more out there, this has easy interface via USB.

    Red

  12. Space Navigator by Rhalin · · Score: 3, Informative

    http://www.3dconnexion.com/products/spacepilot-pro.html

    Probably not exactly what your looking for, but its top notch hardware with a reasonably nice SDK. Depending on exactly what your app does, the multiple axiseses of control might also be beneficial.

  13. Re:Arduino by fsckmnky · · Score: 2

    Surely it doesn't have an infinite number of them, hence, the reason Jesus invented multiplexing and data buses.

  14. Re:Oh Please No by Anonymous Coward · · Score: 2, Insightful

    Oh Please No just get an iPad it's much better :^)

  15. Phidgets by rockmuelle · · Score: 2

    http://www.phidgets.com/

    I've used Phidgets in the past for exactly this application (research into UIs for large data). Lots of premade USB controls available and easy to hook up most analog controls to their IO boards. I went to the local electronics shop and bought a slew of buttons, knobs and slides and had no problem hooking them up with phidgets.

    For programming, I wrapped the C library in Python using SWIG.

    -Chris

  16. Re:Noo! by Anonymous Coward · · Score: 5, Insightful

    Physical knobs work much better than touch screen 'knobs'. Also, red and green are the worse colors to use. Out of the color blind or partially colored blind people (and there's more than you think), red-green color blindness is highest percentage.

    Making dynamic GUI in the sense that the controls move around is a great way to confuse users. They can't build muscle memory when you do that and have to take a moment and think about what they're trying to do instead of just doing it.

    Vibration, really? Cheap touchscreens don't vibrate, it sounds like the user doesn't/shouldn't be holding the device (so they won't fell the vibrations only hear them), and if you mean visible vibrations in the GUI that's bad too: the user's finger will be covering the control and watching a whole screen vibrate is annoying (and gives some people headaches). Real controls provide real feedback. Knobs and slides can have notches or bumps in them.

    Pop-ups are one of the best ways to annoy users. Avoid them as much as possible.

    If you're concerned about needing to customize things after the product is build, create prototypes first. If your final product requires UI changes, it wasn't created properly.

    Your way is much more complex with the additional software, sounds like it would cost more money, and requires high tech which has a greater change of breaking or having something go wrong. Stay with KISS, go with the hardware controls.

  17. Have some experience here by fyngyrz · · Score: 5, Interesting

    I'm developing features for software defined radio. Higher end radios, for those of you who don't know, tend to have a lot of controls. Bandwidths, IF shift, notch filter(s) with frequency and Q settings, AGC decay, intercept and knee, frequency, band, memories, panadaptor controls, waterfall controls, demodulator type, demodulator settings... it really goes on for quite a while.

    Initially, I mapped a whole bunch of functions to keys, but eventually ran out of keys. Sure, there are on-screen controls, but they're not as nice as physical knobs. Essentially similar to the problem the submitter faces, at least in some respects.

    So, my solution? First, a Griffin Tech Powermate knob for tuning -- because that's what you do most of with a radio. Big knob, very precise, easy to use. Then, a Behringer BCR2000 B-control rotary control deck. Cost was about $156 from Amazon. This is a MIDI device that can map any of 32 knobs and 24 buttons to arbitrary functions. Coding to the device was relatively simple; implement a MIDI learn function, then map whatever seemed fun to a physical knob or button. The board will remember several scenes, too, so you can set up a bunch of controls all at once. Works great. There's another version of the board with a somewhat similar price but a different complement of controls, works similarly, though I think it's a bit more biased towards audio concepts (faders, specifically.)

    There are other physical control solutions that utilize MIDI out there as well, but I have found none as economical as the BCR2000. BTW, I don't have anything to do with Behringer other than as a satisfied customer.

    --
    I've fallen off your lawn, and I can't get up.
    1. Re:Have some experience here by iluvcapra · · Score: 4, Informative

      Something cool about the Behringer BCF is that it has motorized faders, and the fader moves can be controlled through non-proprietary messages, which is pretty unusual and awesome. The fader legends on the BCF are null in the middle, because they're meant to be used for organ drawbars and parameter automation, so that makes them a bit more generalist than regular flying faders, which usually null toward the top.

      Also, the BCF gives you an EXPRESSION PEDAL input! Don't knock it till you try it, gives you two hands free for controlling a continuous parameter. I've used an expression pedal to control shuttle speed on a video playback.

      --
      Don't blame me, I voted for Baltar.
    2. Re:Have some experience here by NormalVisual · · Score: 3, Informative

      I will go one step further and recommend the submitter visit Musician's Friend or Sweetwater Sound and check out any of a number of MIDI control surfaces. I am happy a few people have had good luck with Behringer gear, but based on my own experience I refuse to let another piece of it in my home. I can't speak regarding their MIDI gear, but their mixing/recording gear *sucks* - they can't design proper power supplies to save their lives, and in general their gear is designed with low cost as THE primary driving factor and IMO it can sometimes be a fire hazard. It's great fun when you fire up a mixer and smoke rolls out of the power supply, and then you open it up and find that the voltage regulators they used in the supply were rated for about half the current they needed to handle. I bought a Behringer patch bay thinking, "there's no way they could screw THAT up". I was wrong. Plastic parts where metal was needed, and low quality 1/4" jacks throughout.

      I'd go with a more upscale manufacturer such as Korg, Yamaha, Roland, etc., or if it has to be low-cost, M-audio is not too bad.

      --
      Please stand clear of the doors, por favor mantenganse alejado de las puertas
    3. Re:Have some experience here by fyngyrz · · Score: 2

      FWIW (anecdote is not data), my experience, based on 5 decades in the music biz, has been exactly the opposite. I have two Behringer mixers, a 32-channel and a 12-channel. The 32-channel serves me as a mixdown layer in conjunction with my 32-channel Mackie mixer and our digital recorder, which means 5-days-a-week duty; the 12-channel is in use every day with my computer system. Both have served me for years with no problems at all. I have a Behringer guitar amp, also works great, though I've not put all that many hours on it as yet as I have, and habitually use, a Fender twin. I have several other items such as multiple units of their DCX2496 electronic crossover, all are built well. The control surface itself has very nice knobs, a good feel, LED ring feedback for settings, and all connectors and I/O seem to be relatively heavy duty (not that they'd really need to be in the application we're talking about here.)

      In my experience, people talk down about Behringer pretty much as they do about brands like Ibanez; it's not Fender or Gibson, so it's sneer material; yet when the rubber hits the road, turns out it's nothing less than great gear, it just isn't so blatantly boutique-priced.

      Sorry you've had problems; don't think that's likely to actually be representative, though, and I'm comfortable advising in the opposite direction: the Behringer control surface will do just fine for the kind of work the submitter was talking about.

      --
      I've fallen off your lawn, and I can't get up.
  18. Re:Human Factors by paysonwelch · · Score: 5, Interesting

    @kiwimate thanks for the response. I will definitely check those stories out. My thoughts about this are general in the sense that as developers we often only use keyboard / mice. If you think of AV professionals though they often use mixing boards to get work done more quickly and finely tuned. So why are generic components not more readily available for general development purposes? Surely by using a potentiometer it could provide much more precise resolution than a mouse, faster and easier than typing in decimal numbers. In a sense you answered your own question. Using physical input devices other than a keyboard and mouse could be expanded to many different industries. I'm not really looking to commercialize this, most of my work is for personal interest. As far as my website, I am working on bringing a blog online for my technical non-artistic interests. I considered combining them however art people usually don't get technology and vice versa. It's a turn-off for people visiting a single website with diverse interests. My opinion is that its better to specialize when presenting information. It's an idea and this is my starting point, to get input on possibilities. Perhaps I could hire someone to do it, but I enjoy the process of learning and adhere to the old adage that "if you want something done right do it yourself".

  19. Re:Noo! by sunderland56 · · Score: 4, Insightful

    No, don't use knobs .. what's wrong with using a 2nd display .. with a touch based UI.

    Touch based UIs only work if you are looking at them.

    Car analogy: imagine a car with all of the controls on an iPad, which you put on your lap. Try driving while watching the road.

  20. Korg NanoKontrol by GPLHost-Thomas · · Score: 2

    No need to make anything by yourself. Just get a Korg NanoKontrol, and you'll have enough knobs. It's very cheap too: about 30USD.

  21. Expensive by tftp · · Score: 2

    Nobody so far pointed that out. I'm doing electronic R&D and manufacturing in small quantity, and I can tell you that while the R&D for your thingy is ridiculously simple (I can do it within a few days easily) you will lose your shirt on manufacturing it.

    Another issue is flexibility. Unless your product is a control for a nuclear power station, which is designed once and then used for 25 years with no changes, you will experience different needs. With GUI changes are easy. With hardware they are between hard and impossible.

    Customization is part of that problem. Some people are righties, other are lefties. You can remap controls only if your physical knobs are laid out symmetrically. Are they? What if they aren't, and can't be? Then you have a problem.

    All in all, I think hardware controls are good only in a fixed, closed system. You still have limited flexibility because every knob can be mapped to do whatever, but if knob A only rotates 270 degrees but you need at least 3600 degrees (or continuous rotation, with an optical encoder) then you are out of luck.

  22. Re:Oh Please No by 0100010001010011 · · Score: 3, Interesting

    Or Simulink & an XPC.
    Hell with an XPC box and a few dozen knobs we built an entire engine hardware in the loop simulator. Knobs for air pressure, engine speed, throttle position, etc. Took one of our technicians about 3-4 days to get all built up.

    Or if you're poor an arduino and some Pots. That's all "Knobs" and "sliders" are. Go read up on voltage dividers. Get yourself a A/D converter. Feed one side 5V, Set 0V to 0%, 5V to 100%. Tada read it with the Arduino and you have yourself actual inputs.

    Here's one already done with an Arduino. The more pots you want find something with more analog IO.

    Buy a project box from from radio shack drill some holes, put it all in. You could probably do most of it for under $50.

  23. Re:Expensive (but that's not necessarily bad) by Yoik · · Score: 2

    The op is right, such things are easy to design, but the per copy cost for software controls is near zero while a controller box will cost you a minimum of $100 or so including labor with no upper bound depending on complexity and materials.

    However, you will have no piracy issues or weird DRM code to irritate your customers. Also a lot of folks are more willing to pay big bucks for tangible objects. Even when not in use it might be a nice status symbol to have on a desk or in a doctor's office. I see more medical equipment than I want to, and most of it consists of a small computer in a big fancy box with maybe a custom sensor or two.

  24. Re:Expensive (but that's not necessarily bad) by tftp · · Score: 2

    a controller box will cost you a minimum of $100 or so including labor

    There are other headaches that a pure software guy is likely to not be aware of. For example, hardware requires shipping; sometimes that is expensive. Hardware wears out and breaks - and tell me about breakage of things that are designed to be handled all day long! Spills of coffee and other funny liquids, hits with massive objects, cords ripped out - he will see it all. Worst of all, he will replace all that stuff essentially for free. Maintenance on this level (below Dell and IBM :-) is not a profit center.

    But as you say it's not rare when an otherwise dull business plan is saved by a smart piece of custom hardware that nobody has. Or perhaps not saved (just ask the CueCat about that.) You are right that often hardware is sold where, in truth, no hardware is needed. But it makes many people happy. The seller gets to eat that day, and the buyer knows that the entire set is supported, and if something fails it's not his problem but the manufacturer's. The manufacturer is also comfortable knowing that no weird, bottom rung hardware is plugged into his carefully tuned system.

    With regard to DRM, though, it's a mixed bag. First of all, hardware dongles can be had for a few dollars if you want them. But more and more ISVs don't want them. Why? Because they are that very hardware that get lost, breaks, and requires physical handling. The cost of an incremental copy that was zero suddenly becomes $20 + shipping, and that's something that can be tolerated only if your software is sold for much more than that.

    Today's computers are loaded with unique IDs. If you want you can get serials of a bunch of serialized parts (CPU, m/b, video card, HDDs) plus MAC address (forgeable but hardly anyone knows how to,) and all the other hardware information that is not unique within the make and model but is different across many customers. If you combine just a few of those identifiers you get an excellent dongle, and you don't need to pay even a cent for it. All you need to do is just a simple RSA code to encrypt and to check signatures, all neatly provided to you within Windows. Your biggest problem is not false positives, it's false negatives.

    But, one says, how do I move the license from box to box? It's easier to do by individually licensing each box, or issuing a site license, or maintaining your own license server for floating licenses. Rare is the software that is so impossibly expensive that every single copy has to be counted. And if your s/w is truly that gem, get a dongle, hire a team for support, and still you will be rolling in dough. Everyone else should stop quaking in their boots. Besides, most of specialized software is never cracked; and software that is cracked is cracked regardless of how hard it was supposed to be :-)

  25. Re:Human Factors by walshy007 · · Score: 4, Informative

    Since you say this is for personal interest, I shall link you to what I use for sliders/knobs.

    This is rather useful. 30 knobs, 9 sliders, many buttons and doubles as a fully weighted piano. Whole thing is powered over usb bus and I picked mine up on special for $450. usb midi compliant so no drivers required, works nicely with whatever midi subsystem your os uses.

    Trouble these days would be finding one, production stopped some years ago.

    Programming wise midi support is probably the best way to go with this, large support for varying hardware much of which has knobs and sliders.

  26. Re:Human Factors by wmeyer · · Score: 2

    The better solution than a potentiometer is a shaft encoder, most of which provide two pulses in quadrature, thereby allowing you to sense direction in the lead-lag relation of the two pulses, and avoid the need for an ADC.

    --
    --- Bill
  27. Re:Human Factors by CharlieG · · Score: 2

    I'd say close, but today, I don't know if I'd actually look at a potentiometer (pot). Pots tend to be noisy (or get that way) and you have the A/D issues that go with it - there are encoders that look/feel like good pots (sliders or rotary), just get one with the right number of counts, and go at it - of course, you'll have to play with "do I want to mimic linear or audio taper" and the like, but it's really just "a small matter of code"

    --
    -- 73 de KG2V For the Children - RKBA! "You are what you do when it counts" - the Masso