User Tools

Site Tools


MB Arkade


Arkade is a MIDI controller that embeds pairs of everything :-o :

  • A pair of analog joysticks coming from a canibalized PS2 gamepad ^_^. They center when you release them (+ they're rock solid !)
  • A pair of standard analog joysticks (positions doesn't change when released)
  • A pair of infra-red distance sensors, a pair of ribbon controllers
  • A pair of wheels (modulation, bend) coming from my died DX7s
  • A pair of knobs
  • Midi In / Out + sustain / expression / switch pedal

Sustain, expression, and switch pedal inputs; MIDI In/Out, power

Original Design Ideas

  • Unusual sensor types (sliders forbidden :-X - knobs tolerated ;-))
  • May complement (and be placed over) a poor master keyboard (mod & pitch wheels, ribbons, expression pedal input)
  • Set different parameters for each sensor, and save the whole as a patch (in a “touch to select controller” manner)
  • Load/save many patches (128 positions at this time) to control either a VSTi, hardware, visuals, whatever
  • Able to send program changes and even note on/off easily
  • Two persons may play it live (2nd pair of joysticks) without bothering each other
  • … anything that could be missing on any midi controler, like a simple MIDI-gating button (labeled “Freeze/Cut” on the Arkade). By gating I mean : momentary set the level of any controller to zero while you hold the gate button pressed, and back to normal when you release it. Well, you have buttons on many MIDI surfaces out there but they never gate the output of another controler; they just transmit their own value and you have to program the gating by yourself - quite hard (not to say “impossible”) in most cases. On the Arkade, the gate button just … gates, whichever sensor you're touching !


  • for all the sensors, you can set :
    • the midi channel
    • the controller n°
    • the min/max range
    • the direction (normal/inverted)
    • a name (that will appear automatically when touched)
  • for the two ribbon controllers, you have two extra settings :
    • mode (CC/note = will behave like a synth keyboard, generating notes on/off instead of continuous controller values)
    • release (keep = last value kept after release / RTZ = return to zero after release)
  • Arkade embeds a full bankstick module so that you can store 128 presets
  • A single preset is a full set of parameters for the entire panel controllers (all the parameters described upper x nb of sensors)
  • By using your two hands on the joysticks + one expression foot pedal, you act on 5 simultaneous values in realtime, with natural control
  • Arkade has a dedicated wheel for sending program changes to the outside world, to try the same preset over different sounds
  • By setting a ribbon in keyboard mode, Arkade can not only modulate the signal but also trigger it. Remember : you can set min/max range for each : here, it's the min/max keys of a piano-like keyboard; touching the ribbon plays notes
  • There's a USB port on the back that powers a flexible light (very cheap and handy in live situations)
  • You can enable/disable the infra-red distance sensors (and even the ribbons) by pressing a simple button, no need to enter submenus !


  • 1x core, 1x AIN, 1x DIN, 2x DOUT (one is 100% dedicated to the joystick's bargraphs)
  • 1x bankstick module filled up with 8 chips
  • 1x standard LCD 20×4
  • 2x Sharp GP2D120 infra-red sensors
  • a PS2 game pad … sure you have one somewhere 8-)
  • 2x analog joysticks, 2 pots, a set of wheels
  • well … all the other sensors already mentioned

For the two ribbon controllers I got them as a free sample request here :
That was quite long ago … but 100% free !

I'd say that if you have trouble to find the same sensors as me or if you simply want to make your own choice, you can replace them with any analog sensor you'd want, and the OS logic will still apply !


In this section I briefly show the Arkade in use.
More videos to come !


  • Soldering the bargraphs was a piece of a Hell … so many cables, so few space !
  • Adapting some of the sensors to the MBHP platform needed some conditionning (use of caps, resistors, many values were tried to find the right ones). The response curve of Sharp's IR distance sensors is logarithmic; I've linearized them in a software manner but you could also find a way to have hardware linearization (I'm interrested by the diagram if you find this 8-)). Anyway, the software linearization doesn't require that much CPU and they're still very reactive ;-). I'll post some of the sensor conditionning tips (components & values) later on.
  • The ability to update the OS on the machine in a single click (thanks to MIOS Studio) just rocked
  • Special thank to my friend who could directly put my Autocad file in his drilling machine at his work to build the frontpanel
    • → for those who plan to ask me who's this guy I have to say it was a one shot work; he doesn't plan to make it an industry :-\
  • I'd like to thank all the guys @ ucapps/midibox that offered me great help in hard situations ;-) thank you guys ! (TK, audiocommander, stryd_one, moebius, and so many more …)


Here is my entire code for this application, written in C.
Remember : you can use this application even with another set of sensor types (all sliders if you wish :-D)
Sorry for the french comments in the code …

I hope you'll enjoy it !


Link to Arkade's topic in Midibox forum
Myspace Aerodrink - Sounds

arkade.txt · Last modified: 2016/07/04 01:54 by psykhaze