DIY Midi for Pocket Operator Control

The aim of this DIY project is to use a standard USB midi controller with the POs. I want an inexpensive, battery powered, standalone setup (i.e. no computer) - just for jamming and just for fun.


Here’s what I have so far:
PO midi controller
I’ve put together the components on a breadboard and wired up the keys 1-4 on the PO and got it running using a USB host controller and an Arduino micro controller.

The controller is very simple and just takes key presses from the Nanokey and converts these to button presses on the PO.

In the video it is running stand alone with a battery powering the controller and a KORG Nanokeys mini controller attached via USB midi.

A few question that it would be great to get some input from:
  1. I’d ideally like to be able to ‘plug in’ the PO and once 16 wires are on it will be a bit messy - any ideas on a better way to wire up to the keys?
  2. I’m running out of control lines on the micro-contoller but if I had one or two spare what other things would be useful to control by midi - I was thinking pattern or maybe effects or sound?.
  3. I see a few people posting about sync’ing their POs to other stuff - would creating a PO sync click from midi clock be a useful addition? or would you want a midi clock from the PO tempo?
  4. Anything else that would be useful ? (there's no way I know of store patterns without accessing the PO firmware which I’m we can’t do without the help of Teenage Engineering)
If there is any interest I’ll post details and code when it’s all finished for other DIYers.

Cheers, Paul

1 Like

Hey Paul,

niceeeee project, I love the idea of being able to plug any USB controller in to the PO’s.

A bit more advanced than what I’ve hacked together for the Pocket Operators design competition. You probablby seen my PO-16 Factory keytar - http://goo.gl/bfz5nK

About your questions:


1) I used a SUB-D 25 pin connector with unicorn color coding :wink: to be able to un-plug the PO from the keytar. There are other options as well, like flat combo cables.

2) That sounds neat ! Storing patterns & arpeggios :))

3) If the USB controller sends a Midi clock it would be nice to sync the PO’s to that, sure. I am not using the PO’s as a Midi master for now in my set-up ( mostly hardware, no PC ).

4) It would be great if your Arduino code is also compatible with the Arduino Android ADK. It has a USB Host on-board.

Keep us posted and let me know if you need more input.
Cheers!





Hi Felipe,


Your Keytar is great! You should have won the competition - the case that won is nice but a case!!. You need to do one for the Rhythm with drums next.

Thanks for the input, I don’t think I can store patterns (too hard without help from Teenage Engineering) but I’m up for arpeggios++ and I’ll definitely do pattern changes from the controller. I’m with you on the ‘no PC’ and that is a big driver for this project, I hate having to turn on the laptop which saps all my energy. I haven’t looked at the Andriod ADK but will check it out…

At the moment I’m moving to a different controller (a Teensy 3.1) and thinking I’ll mount it on the back of the PO so you end up with a PO with a USB socket on the back permanetly. I’ll post again when I get it running again

Thanks again, happy hacking and cheers, Paul

Thanks thanks houston. There where some pretty good results in that competition. Afterall TE asked to for case ideas - it was more a design competition than a hacking one.


For sure the next obvious step would be to hook up the Rock Band drumkit to the PO-12…

Your project is great in many ways - I am still dreaming of a kind of tiny Oplab clone that is just one cable with USB host on one side and a Midi OUT on the other.

Hey Filipe


On your tiny Oplab idea - Hobbytroincs - do a really easy to use USB Host module that gets you most of the way there.

It is tiny and comes with Midi firmware already installed.

It takes USB in at one end and produces normal Midi serial out (and in) at the other end.

All you would need to add is a DIN socket, a resistor and a battery to power the module and the USB device. This would give you normal MIDI out.


Cheers, Paul

usb-host-mini-500x500
thanks @houtson

i just ordered the usb host mini module … but i'm a little bit lost with the datasheet

http://www.hobbytronics.co.uk/datasheets/ht/USB_HOST_MIDI_Connections.pdf

what is VCC and where does go ground to?

and how i connect external power. to 5v an where goes the second "cable"?


thanks @houtson

i just ordered the usb host mini module … but i'm a little bit lost with the datasheet

http://www.hobbytronics.co.uk/datasheets/ht/USB_HOST_MIDI_Connections.pdf

what is VCC and where does go ground to?

and how i connect external power. to 5v an where goes the second "cable"?

VCC would be connected to the 5V line on the module, and ground would connect to 0V. It looks like you will have to connect an external power source to the 5V spot (and ground). This could be a USB cable going to a USB power source (like for charging your phone). Just don’t connect the data lines in the USB cable. Or you could set up some sort of rechargeable battery for this.

Hey @ifeelokay


@GCF is quite correct: Vcc should be connected to 5v and to the +ive connection on your battery. GND to 0V and -ve on battery.

Any 5v supply should be fine - I use 4 AA batteries - this sort of thing (a bit more than 5v but fine). If you can wire a a mini USB connector as GCF describes then you can use any USB supply or any of the power boost type rechargeable batteries for your phone.

You mention ‘second cable’ - you might have missed it in the first post but you will need a DIN socket (X2 on the data sheet) and a 220ohm resistor (R3 on the data sheet) - the second cable (the MIDI cable) then plugs into the DIN socket.

This is assuming that you just want MIDI out (which would be fine if you are just wanting to use a USB MIDI controller). For just MIDI out it is only the bottom part of the data sheet you need to build.

midi

If you have any other questions just ask away,
Cheers, Paul

Thanks @houtson & @GCF!!!


Well, i want also use midi in, because i want to sync the op-1 to my octatrack.

Is this the right way to connect (but what is the meaning of D1)?

Thanks!!! Jan

screenshot 2015-08-17 um 11.19.45

@ifeelokay That diode is probably there to prevent reverse current from damaging the opto isolator. I think it is pretty standard for MIDI input connections. The same circuit shows up in the BleepDrum, for example. It is the standard that MIDI inputs have isolation and voltage protection circuitry as to not damage the device, and no extra protection on the output.

allright, didnt know that d1 means diode. thanks!


@ifeelokay No problem! Normally, D=diode, R=resistor, C=capacitor, L=inductor, U=chip/transistor/regulator/silicon stuff, SW=switch, J=jacks/connectors. You pick up on it the more DIY projects you do :-). And you should do more!!

yes. i allready build two effect pedals by musicding, but these came with all parts ready to solder.


http://www.musikding.de/guitar-effect-kits


@houtson that thing is neat !

is there a way to get this code? would love to experiment with this…

To synchronize POs, it is necessary to apply pulses to the left input channel of the device, voltage = 0,9-1,1V; Length = 10-15ms, frequency = BPM × 2.

I was easily able to do it for four POs using Arduino Nano and four transistor keys.

To do this, I wrote a sketch that counted time and gave out pulses at the necessary intervals to the outputs of the microcontroller.

Then I connected the four transistor switches to Arduino that I applied the 1,0V voltage to and connected them to the POs.

After a few unsuccessful attempts, everything worked just fine!

Later, I wrote a sketch simulating a mini-sequencer, and with a small homemade control panel consisting of several LEDs, a dozen micro buttons and a little bit creativity, I managed to expand the POs many to many times!

Project cost: < $20;
Time for everything: 5-6 evenings.

P.S.: For MIDI synchronization, it is only necessary to signal Arduino via USB port and write a sketch using this signal to control transistor keys . (So I think)

I hope it will be useful to anyone!:slight_smile: