Bluetooth Clickers and Max

jennawhelan's icon

Does anyone have any experience using Bluetooth clickers as a trigger for something in Max? (Audio in this case)

[By clickers I mean handheld clickers like this - http://www.salling.com/clicker/mac/index.php]

The serial object detects the bluetooth port. I'm using my phone at the moment to test it out (downloading C74 App) and use it as an input/tigger. But the goal is to be able to use multiple clickers (approx 3) to trigger the audio...

Struggling to find someone who's done the same.

cskonopka's icon

I think I could be of some help. To clarify for myself, you want to 3 triggers on a remote/mobile device to trigger audio in Max?

If this is the exact case, its not that tough, a lot of it can be done using the serial object itself along with a bluetooth module. My main curiosity is if it is phone-based or if it is just an IR clicker. Both have different procedures but it is 100% possible. Glad to help in any way. :)

- ck

jennawhelan's icon

Hey ck, thanks for getting back to me!

We have solved it. We are going to use 3 triggers on a remote device, connecting it to Max via bluetooth on the serial port.

Thanks for your help.

Bill 2's icon

Hey JonnyB, I hope that since your problem's solved you don't mind me hijacking this thread, especially since CK comes across as being extremely well-informed and I could certainly do with his help.

I got a couple of cheap gizmos (which I thought were called clickers) that are AFAIK designed to be used with iOS/Android camera apps: http://www.ebay.com.au/itm/Bluetooth-Wireless-Remote-Control-Camera-Shutter-Release-Self-Timer-for-Iphone-/161532959436?pt=AU_Cameras_Photographic_Accessories&hash=item259c1d5acc but couldn't get 'em to do anything useful in Max.

They connect easily to the Mac (late 2012 quad 2.6GHz server). Sending a "print" message to a [seral] object gives me...

port a: Bluetooth-Incoming-Port
port b: Bluetooth-Modem
port Bluetooth-Incoming-Port Bluetooth-Modem

… so I change the object to [serial a] or [serial b]. The "getport" message gives me the correct port name, but polling the object with bangs from a [metro] only gives "read 0" on port a and nothing on port b no matter what I do. The iOS button turns up the Mac's audio output volume and the Android one does nothing. Reading the reference doc shows that there's a HEAP of stuff I don't know about serial ports. I was hoping to just get some numbers into Max that I could turn into something useful.

So, CK or anyone else, CAN these li'l things do anything in Max or should I just chuck 'em and get a Bluetooth numerical keypad or something?

Cheers, Bill

cskonopka's icon

Howdy! Let me check it out and see what can be done.

This clicker you acquired, I haven't used one myself so I'm gonna take a shot in the dark at times so feel free to correct me. On my side, when updating the serial buffer and printing the available ports, the two you specified (port a and port b) are there by default. This would probably be why you are receiving 0's and no changes. I would suggest trying to pair this device with your onboard bluetooth module. If it pairs it will be an available port for the [serial] object. I only bring it up since I had similar issues with 3rd party bluetooth modules from Amazon and random manufacturers.

Interesting, so you are saying that the device increases/decreases your volume on your computer without pairing? Huh, strange. The bluetooth pairing is what I would check first. It still could be really useful so don't throw it away just yet, its all about the process of going mad to get to the solution. Do you have a link to the documentation by chance?

Sometimes the whim is necessary, I just got a lineman's phone and can actually use it in max!

Bill 2's icon

G'day CK - great to hear from you so soon. :-)

They came without batteries and I only had 1 CR2032 lying around, so I've only been able to try out that one. (I got 2 just to see if the Mac or Max could tell them apart.) It pairs easily in Mac -> System Preferences -> Bluetooth and comes up as "AB Shutter 3 (Connected)". (Sorry that wasn't clear in my 1st post.) There's a little power switch on the side and whenever I turn it on it just blinks and starts working, i.e. enables me to turn up the volume and nothing else.

Should "print" to a [serial] object print out something other than the 2 default ports?

cskonopka's icon

Great! You got a name, thats huge. When you get a chance, could you post your code? This will help me diagnosis the scenario. Since you connected the "AB Shutter 3" to the computer now, when you press print it should show it as an available port. Whenever you connect bluetooth you only need to create the connection once so you can access it via max. After that point, you just would need to update the ports (i.e. press the print message) and then the newly identified port "AB Shutter 3" should be available. Then from there you are able to receive information. What is your polling speed? It just depends how the messages are formatted so some experimentation may be involved. If for whatever reason everything breaks, using another language to access the port (i.e. python) then route that data via OSC to Max could be a worthy option.

This is a problem that can understood using arduivis (http://cskonopka.github.io/arduivis/maxmodels). Model #1 sets this up quickly and the patch is accessible under the presentation if you wanted to integrate it into a project. Also, I wrote an entire breakdown how it works object to object along with several other communication examples. Thanks for this inquiry, it brought up some stuff I need to fix in documentation which helps a ton. Learning about how each human view the same process is super beneficial. Let me know if you have any questions. Happy Festivus!

Bill 2's icon

Thanks CK! A few relatives are coming over for Christmas today and I'm not sure they'd like me ignoring them and playing with Max. Pity, eh? ;-)

I'll get back to you tonight or tomorrow. You have a great one, too. Don't eat too much!

Wetterberg's icon

I ate too much - can I still keep watching this topic? Having those little things around could be really neat - like, put one in a stomp box, for instance?

Bill 2's icon

LOL! As long as you don't eat so much you can't read these posts. :-)

Seriously, though, these little things are SO cheap! If CK can get 'em working in Max they could be incredibly useful for a lot of us. Cheap little wireless buttons. Woo hoo!

Put 'em in various spots around a stage or installation. Or strap a couple to your forearm to remote-control stuff from anywhere (while you're playing sax or bassoon or whatever… Or, in my case, flute.)

Oops, my guests are getting upset. Seeya!

cskonopka's icon

I definitely ate too much, now I can't sleep. Why do I want thirds!

Relating to modularity, its pretty easy to design something like a stomp-box or controller relative to a guitar wing. I recently created a project I'm calling the "serial box" which is a bluetooth controller with 4 pots that can be used with any language that has serial capability. Also working on one that is control voltage based, so wireless control voltage. So many things are possible. I was thinking tonight while traveling I should put up some tutorials about bluetooth stuff, its a lot easier than people think I feel. Its so fun dabbling in Black Magic.

Bill 2's icon

Over the years I've managed to learn that just nibbling treats when the mood strikes is far better than having one mega-humongous feast, tempting as it may be. Leaves the brain clearer for more Max!

"I was thinking tonight while traveling I should put up some tutorials about bluetooth stuff, its a lot easier than people think I feel. Its so fun dabbling in Black Magic."

That'd be perfect for the Cycling74 wiki, wouldn't it? PLEASE do it!

Hmmm, a self-designed body-mounted (forearm? chest? upper outer thigh?) bluetooth controller… (Wanders off to dreamland like Homer Simpson at the mention of food…)

BTW, the documentation I referred to earlier (that made me realise how little I know about serial ports) was Cycling74's [serial] object documentation.

Wetterberg's icon

Of course, but the beauty of these little clickers is that they're so cheap.

A two-button wireless foot controller can be built for, what, 10 euro?

Bill 2's icon

OK, dragging myself away from the Roland Integra 7 I bought myself for Christmas =:-) and temporarily ignoring the fact that I have to sell another synth to pay for it :-( here are the details so far:

The gizmo connects to the Mac via Bluetooth and comes up in the Mac's System Preferences > Bluetooth as:

AB Shutter 3
Connected

...with a little graphic of what appears to be a keyboard. When I turn the gizmo on, a different keyboard graphic appears on the screen with the word "Connected". When I turn it off the same thing appears with the words "Connection Lost". These "Connected" and "Connection Lost" messages aren't in the System Preferences; they just appear on the screen in white in a little grey box that's not part of any application. (OS 10.9.4, in case it matters.)

In Max when I send "print" to [serial] 3 messages appear in the Max Window:

(Object) serial (Message) port a: Bluetooth-Incoming-Port
(Object) serial (Message) port b: Bluetooth-Modem
(Object) print (Message) port Bluetooth-Incoming-Port Bluetooth-Modem

That's right - "AB Shutter 3" isn't mentioned. :-(

When I click the iOS button on the gizmo it increases the Mac's output volume. Pressing and holding makes the volume scroll up. Doing the same with the Android button starts (a) new line(s) in TextEdit.

Polling [serial] once with a bang or at any speed with a [metro] sends "read 0" out the right outlet of [serial]. Nothing ever comes out the left outlet. (Both outlets are connected to [print] objects, of course.)

So it kinda seems to be functioning as a keyboard with 2 keys:
• iOS button = whichever function key (+ modifier key(s)) turns the volume up
• Android button = "return" key

In Max [key] and [keyup] send "13" out their left-most outlet when I press and release the Android button, but the iOS button does nothing. (Even if the iOS button did make something come out of [key] and [keyup] it would only be useful for one of these gizmos because Max wouldn't be able to distinguish between more than one of them, would it?)

- - - - - - - - - -

CK, I (and Wetterberg, I would imagine) now eagerly await your recovery from Christmas overindulgence. I'm mentally sending you "Get Well Soon!" messages. ;-)

Wetterberg's icon

Okay, I think I have a much clearer picture of the whole thing now.

Since it functions as a normal keyboard, but uses "system" keys that "key" doesn't have access to, you can get access to them with the HI object!

I just tested, and it definitely sees volume button entries.

Bill 2's icon

"you can get access to them with the HI object!"

Just tried it. Well, I hope I tried it properly - I'm really new to this stuff.

"menu" to [hi] with a [umenu] connected to its right outlet fills [umenu] with keyboard, etc. and does indeed include "AB Shutter 3". So far, so good.

"poll 10" to [hi AB Shutter 3], press the buttons on the gizmo and… nothing. Not a sausage. Bugger all. The Max Window says (Object) hi (Message) hi: focussing on AB Shutter 3, but that's it.

Where to now, oh wise(r than me by far) ones?

cskonopka's icon

Howdy! I'm somehow alive and revived. I shall do the best of my ability to answer with the residual fog.

To start, where can I purchase one of these? You've made me insanely curious now and I want to figure this out. Meaning, you have started the addiction wheel.

This is strange that you can connect this device but then can't observe it using the print message with the [serial] object. Reading more carefully, I noticed that you are connecting the [message] object to the right outlet of the [serial] object. The right outlet specifically displays the status of the [serial] object. All of the data coming from the connected device would be coming out of the left outlet. The data coming out of the [serial] may need to be parsed so you just need to monitor the messages first via a [print] object.

This is fascinating that this device will link and control the volume yet it can't be accessed. And even stranger it creates a new line in text edit. The iOS and the Android features you mention, does this apply to other programs or they are universal functions? The output of the [key] and [keyup] object, do you mean it is "13" ASCII or a Platform specific key code. If its the keycode, then "13" means a "w" but still it doesn't necessarily help but a good tidbit. I'm still really confused as to why it can control the computer and not be accessed in Max. I really want to crack one of these open.

Great call on the [hi] object. This is worth trying to see what can be connected. It may be relative to the [serial] object in terms of response. When you connect the AB Shutter 3 with the [hi] object, instead of connecting it to a [print] object, connect a button and also a message. Connect it to the right inlet of the [message] object. I only see it see if there is any flow coming from the object. I attached a patch its worth trying along with your example. The one I am sending is from an arduivis patch thats all set up, so all you need to do is update the ports and look at the menu. Worth trying. I'm assuming you restarted to after you hooked up the device. If not, worth trying to do that too. Now I'm being long-in-the-tooth but at this point, why not throw everything at the wall and see if it sticks? This patch may help clarify the process since its already designed for parsing relative messages for ASCII. All you would need to do is add some [message] objects to see what is coming out.

You are doing great deducting the problem. Sometimes its a pain but its a great mental exercise. Definitely let me know where to get one of these, I want to purchase one and try it out. This will be solved! Muahahahahahahahahahahahahaah

arduivis_Max7_model1_output.maxpat
Max Patch
cskonopka's icon

This is really helpful, I am gonna make some bluetooth tutorials when I get back to my apartment. Currently stranded at a family members house because my car was leaking carbon monoxide and I had no idea? Now I know why my ideas have been so outlandish lately. Some videos I made a week or so ago may help with clarifying the process since I go step by step but still need to make a deeper analysis.

Wetterberg's icon

just to be sure in the troubleshooting realm, have you tried pressing the volume button on the mac itself and gotten a reading in HI? Because it doesn't help if I got the settings right here, of course.

Bill 2's icon

Good morning CK! I'm very glad you've recovered. :-) Pity about your car, though. :-(

Now, to answer your points in no particular order...

There are plenty of these little beasties on eBay, which is where I got mine. Just do a search for "bluetooth camera shutter". The link I provided in my 1st post (the 4th post in this thread) shows you what they look like. Actually, I'll attach a jpg so you can be sure. They're about 33 x 52 mm. I don't know whether they're only available with free postage (i.e. 3 or 4 weeks) or whether you can get them faster.

Max Patch
Copy patch and select New From Clipboard in Max.

The current state of the Max patch I'm using for these tests is:

(I had to save it as a TextEdit rtf file on the music computer and move it over to the internet computer, so I hope it still works.)

As you can see, I'm monitoring both outlets of [serial]. I keep changing the argument in [serial] (a, b, full port names instead of abbreviations…), the interval in [metro], etc. Still nothing.

Apart from Max I'd only tried it in TextEdit. But now I can tell you that it's the same in Pages and Notebook (an outliner program), i.e. iOS button = nothing (other than volume up), Android button = "return". The Android button, which is the only one that shows up in [key] and [keyup], has an ASCII code of 13, a platform-specific keyboard code of 36, modifier keys = 0, and a platform-independent keyboard code of -4. I doubt that this helps, but when the cursor is flashing in the "message" object attached to the left outlet of [hi AB Shutter 3] using the right inlet of "message", [key] and [keyup] no longer receive anything.

And yes, I've restarted a few times. I can't see the Arduivis patch you said you've attached; is that my doing or some of your "residual fog"?

Phew, have I covered everything?

bluetooth_thing.jpg
jpg
Bill 2's icon

@Wetterberg:

My music computer's a Mac mini (late 2012 quad 2.6GHz server) which I got straight after Apple announced their wimpy new minis a few months ago. Had to dig out an ancient Apple extended keyboard that IIRC came with a G4. [hi] finds it and all the normal key presses show up. But the volume keys don't.

On the Macbook I'm typing on, mute, volume down and volume up are function keys F10, F11 and F12. But on the old G4 keyboard they're dedicated buttons at the top of the numeric keypad.

These bluetooth shutters are *really* cheap, but if you had to pay someone to get them working in Max they'd be #$&@ing expensive! =:-O

Bill 2's icon

CK, I've only got 350MB of internet bandwidth that has to last another 8 days, so I can't really watch your YouTube video till Jan 4.

Looking forward to your bluetooth tutorials! (And hoping I can understand them. I'm a musician, not a programmer.)

cskonopka's icon

Thanks for all the info! I'm still a touch foggy since its a relative's birthday today (winter is too crazy for me) so I will respond in long-form soon.

Lets be in touch, that is totally cool. I totally understand, I'm a musician as well and then turned into a programmer via groups of people/specific professors. This problem-solving process helps a ton, a personal goal of mine is to explain concepts like this as clear as possible so its easier for everyone. Its hard sometimes but its totally worth it. I dealt with various learning disabilities growing up so processes of clarification like this help solidify the relay.

Wetterberg's icon

thanks for doublechecking for me, Bill. Another musician-gone-programmer here. I don't even know how a bass works anymore, I'd be screwed if I didn't have my machines.

Bill 2's icon

See, I said you're both wiser than me! ;-)

No worries, Wetterberg. I'm happy to try anything that might get these things working for us.

CK, I'm subscribed to this topic, so when you make any bluetooth shutter-related discoveries or upload a tutorial please just let us know here. I'm very happy that you're so interested and generous, and I look forward to hearing from you. But there's plenty to do in the meantime - I'm working on a solo keyboard performance that features lots of MIDI processing, and I'll be including some flute with pitch-to-MIDI (if I can get it working well enough) hence the desire to remote-control Max whilst wandering away from the keyboards with a flute and headset mike.

cskonopka's icon

@wetterberg Same here! Oddly enough bass as well. I keep trying to go back but my mind is warped from too many advanced jazz courses + computer music. I was abducted by wires one day.

@billcanty Anytime! I kinda just fell into using Arduinos/Max and after I talked to a friend of mine, I realized it is a black art right now. And there are tons of random problems/subtleties that are worth discussion. Even just the connection with different boards/a lot of sensors requires specific timing routines. Its crazy. That performance piece sounds awesome! If you ever need help making some bluetooth devices let me know. I have two in the works right now called the serialBox. It can be used with any language that uses a serial protocol and it can also be masked as MIDI and OSC. Let me know if I can help in any way. :)

Bill 2's icon

Well, even with only one of the 2 buttons being detected, and even without finding out whether 2 or more of them could be distinguished by the Mac or Max, I can get 9 different numbers out of the thing from anywhere in the room no matter which way it's pointing, using 2 button presses that include all combinations of short, medium or long.

That's better than a kick in the bum, eh? And for less than $3 (+ battery).

cskonopka's icon

Thats so crazy. I just ordered one from Amazon, I have to figure this out. You now have me addicted. This could be a great tool. Have you tried an old rotary phone?

Bill 2's icon

LOL! I knew I chose the wrong career. Should've been a drug pusher.

And I'd love to try an old rotary phone! Didn't know they had bluetooth. ;-)

What I have tried, though, is attaching it with a rubber band to a slap bracelet. In case they're too lo-tech for you to know what they are: http://en.wikipedia.org/wiki/Slap_bracelet And that got me searching in another direction: smart watches and fitness bands, cos that's pretty much what the bluetooth shutter attached to a slap bracelet looks like. Unfortunately, they seem to try to have as few buttons as possible and do everything automagically. Although, the Pebble watch has 4 buttons. If I could wave a magic wand and have exactly I wanted I'd have a slap bracelet with 3 or 4 buttons on it that transmit bluetooth messages to Max that are detected as key presses or something. Might have to join the wearables forum at Androidcentral and ask. Or start a new thread here.

cskonopka's icon

A drug pusher is not a bad idea. I wonder if there is a way to push bare bones Arduino kits this way. Pick up a quap of boards on the corner. No biggie.

I did this recently with a lineman's phone exactly like the picture attached. The black to ground, red to an analog pin and boom, ready to go. Each number produced a specific number of voltage drops which could then be collected and used for projects. Then you could make a bluetooth setup and have a schweet wireless rotary phone for a project.

Slap bracelets! I haven't seen those in years. That is a great idea. Well this is definitely possible, it just depends on the flexibility of the idea with compromise. Plus there may be a learning curve with some things but anything is possible. Something like this could be created by 3D printing a flexible filament wristband or half gauntlet, then embed the electronics via a custom Arduino board with bluetooth. Kinda like Imogen Heap's glove system but that is RF via XBee yet this could have changed. I haven't been that up to date with the development. I'd be down to help, it sounds like a super cool project.

There is a watch by Texas Instruments called the Chronos (http://www.ti.com/tool/ez430-chronos) that has been linked to Max (http://processors.wiki.ti.com/index.php/EZ430-Chronos) but I'm not sure if it has been maintained.

linemansphone.jpg
jpg
Bill 2's icon

"Then you could make a bluetooth setup and have a schweet wireless rotary phone for a project."

Very good!! Hmmm, hand one out to the audience so they could control some aspect of my performance? (Sounds used? Colour scheme of visuals? etc.) ;-)

You've got me thinking, CK! My show is taking a l-o-n-g time to prepare and at first it will be pretty much normal-keyboards-based. But as I develop it I hope to have more interesting additions, so I reckon your bluetooth expertise could be very helpful! :-)

So you keep an eye on what Imogen Heap's up to too? She does some interesting things, doesn't she? Unlike her, I haven't got a team of experts helping. My stuff will be less pop-ish, more classical/arty and bash-them-keyboards!-ish.

But I definitely want to add more "magic" electronics. Pitch-to-MIDI, for example, although it's been around for decades, is still something most people haven't seen and, combined with Max, etc., will hopefully be quite magical.

BTW, I've sent you a PM on FaceBook. This discussion's getting a bit off-topic!

The TI Chronos looks interesting but seems to require much more digging in than I'd like to do. If, for example, the 4 buttons on the Pebble transmit bluetooth key press messages and I can't find anything cheaper I might give in and get one. Or a bluetooth numeric keypad… except my GF reckons they look a bit daggy and Dr Who-ish.

Bill 2's icon
cskonopka's icon
Wetterberg's icon

hey this is great - in a way it's also like, the opposite of the clickers, right?

I think the beauty of getting the clickers working is that you can get up and running on two bucks fifty, shipping included.

Rodrigo's icon

So recently started looking into doing something similar.

Silly question, but has anyone tried using one of the "wireless presenter" type things?
I presume these just act as keyboards sending left/right/up/down/space keyboard messages?

So it would skip the whole serial object/parsing part as long as your mapping relied on [key].

There's oodles of these online for quite cheap, most of them having a dongle, but I presume some might have native bluetooth.

Bill 2's icon

Rodrigo, I was searching seemingly everywhere for a while, and I did consider wireless presenters. Never tried one out, though, because they've often got odd shapes and I wasn't sure if they'd work. I ended up with something better (but more expensive): a mini game controller. Details in this post: https://cycling74.com/forums/great-little-bluetooth-controller-for-max-sharing/ And yes, it works with [key] and [keyoff].

Rodrigo's icon

@Bill

That looks pretty perfect!
Will have a look on ebay for one as it looks like their shop doesn't work (since March?)

Do all the inputs come in via [key] or are some of them tied to the OS? (volume up/down)
Do you need to install a special app or anything?

Bill 2's icon

In the mode I've left it in all messages come in via [key] and [keyoff]. (I don't actually know what the other modes do.) That's 10 different ASCI messages. An 11th button turns it on/off and changes mode. No, it needs no special app to do any of that. (Yeehah!!!) There is an app to control it, but I don't know what it does that can't already be done.

Their shop, forum and seemingly their whole web site has been extremely quiet for a LONG time. I hope they haven't gone broke or something, just after I'd finally found such a great device.

Rodrigo's icon

That's really good to know. Couldn't find any online to buy, so if you know any sources online, lemme know.

I agree, it seems like a perfect mini controller. Shame if they disappeared.

Bill 2's icon

(And I'm wondering if I should get a spare.)

Rodrigo's icon

I saw that after posting that (I didn't check american amazon (I'm in the UK)). I'll order one from there.

Bill 2's icon

As Janis Joplin said, get it while you can! :-)

Bill 2's icon
Rodrigo's icon

Good catch!
These could be the perfect little (non motion) controllers!

Bill 2's icon

Yup - very handy! It's a-bleedin'-mazing how quickly the tech world can change, isn't it?

One thing I really like about them is that unlike a lot of the relatively obscure stuff I've found over the years these things will probably become easier to find rather than more difficult. They're designed for smart phones, etc. which, of course, are incredibly popular.

So there's no longer a need to buy a spare just in case the dog eats my current one. :-)

And I've already spent a bit of time making quite a few switches in Max so it's easy to make them do a LOT more than 10 things.

Rodrigo's icon

Exactly.

Out of curiosity can you post your patch that interfaces with it?

Bill 2's icon

Definitely, but it might take a little while to disentangle it from the big patch it's in, especially while I'm supposed to be meeting a deadline.

(Don't you hate deadlines?! I'd rather watch a fly crawl up a wall than get on with the job, which is why I've been reading the forum so much lately.)

Bill 2's icon
Max Patch
Copy patch and select New From Clipboard in Max.

This shows the sort of thing I'm planning to do with it:

Rodrigo's icon

Thanks for posting that.

I didn't know about [offer], so it's nice to learn about it as I often use coll in the same exact way.

Bill 2's icon

You're welcome. I don't think ANYone knows everything about Max, not even Cycling74! ;-)

brendan mccloskey's icon

OT
"(Don’t you hate deadlines?! I’d rather watch a fly crawl up a wall than get on with the job, which is why I’ve been reading the forum so much lately.)"

Wow, so it's not just me then? An eminent colleague of mine, originally from Stanford, often complains of the same malaise.

Must be a creative mind thing

Brendan

Bill 2's icon

@Brendan:

No, it's certainly not just you, or several of my friends!

My guess is that it can be difficult to make creativity work on demand. It's fun to follow one's muse but can be a PITA to have to insist that one's muse show up RIGHT NOW!!!

Rodrigo's icon

Actually gotten quite excited about the prospect of this. Going to make a wireless footswitch thing with 4 buttons for when I want something quick/dirty, but I'm thinking of making something similar but using a wired/USB connection (to not have to deal with pairing and battery charging).

Have you (or anyone) come across a compact USB keyboard or numberpad thing that isn't crazy expensive? The normal numberpads are kind of big (as far as guitar-pedal sized enclosures go), and the minikeyboards that are remote control sized are pretty effing expensive.

A mouse would be an ok solution, but I'd like to stick to [key] mapping as it doesn't interface with normal mouse usage.

Bill 2's icon

"Have you (or anyone) come across a compact USB keyboard or numberpad thing that isn’t crazy expensive?"

No, sorry mate. I got the iMpulse thing specifically for wireless use and never looked into wired keyboards or numberpads. All I can recommend is DON'T get an Apple one! ;-)

Rodrigo's icon

I ordered a generic usb number pad and will try to cut it down to see how much of the guts can be removed before it stops working.

If anything I might just stick with the mini bluetooth gamepad and deal with pairing things if I want to use it on another device. Might also see about putting a bigger battery in too, if I'm housing it in a footswitch.

Rick's icon

Hey Rodrigo, this might give you some ideas if you haven't seen the post. https://cycling74.com/tutorials/making-connections-building-a-usb-footswitch

Rodrigo's icon

Oh yeah! Had seen that ages ago. Very promising on what the guts of the thing looks like too, so I think that will be perfect.

Rodrigo's icon

Ok, just received my 8bitdo Zero and it's working really well. Had to figure out to get it into the right (keyboard) mode and all that.
http://8bitdo.com/zero/

It does appear to go to sleep after about 4minutes, which then requires it being woken up before messages register, so not great for more minimal use. Might open it up to see if there's any way to short it to keep it 'on'. Or how to do you handle this aspect of it?

Max Patch
Copy patch and select New From Clipboard in Max.

Here's the patch I put together to visualize and parse the information:

Bill 2's icon

The iMpulse Controller doesn't go to sleep, which is great. It's one of those things you can easily forget to look for in the features list. Sleeping in order to save battery is probably considered to be a good thing; funny how it's a DISadvantage for us, eh?

I wonder whether there's any bluetooth message that can be sent every couple of minutes in order to keep it awake? (Chris Konopka, where are you?)

Rodrigo's icon

That's really nice. I guess it just has an on/off switch?
Roughly how long does the battery last?

Definitely not ideal having it turn off, and as you said, it's totally a non-feature!

That's a good idea, I hadn't thought of that, in terms of sending it, or pinging it some messages.

I'll look at buying an iMpulse controller too, but I've just ordered one of these:http://www.ebay.co.uk/itm/391331898777?_trksid=p2060353.m1438.l2649&ssPageName=STRK%3AMEBIDX%3AIT

Which looks quite small and has an on/off switch. It's no good for the purposes of this mini gamepad/clickers since it's waaaay to many buttons to be able to "feel" what you want to press, but I plan on gutting it and turning it into a footswitch.

Bill 2's icon

Yeah, the iMpulse Controller has a "user" switch that does a few things, including turning it on/off. Details in the 5-page pdf manual that starts at http://impulsecontroller.com/tour/ if you're interested.

I've never used it heavily, but I think it lasts about 10 days. It makes a particular beeping sound when it's going flat. Unfortunately, the battery doesn't seem to be changeable unless you cut it open.

That looks like a great little bluetooth keyboard! And cheap! Devices like this seem to be easier to get now, which is great. I agree, though, that it's got way too many keys for feeling what you're doing. Mine will be strapped to the top of a forearm while playing flute or 25-note wireless MIDI keyboard, so I definitely need to be able to feel the buttons easily.

Bill 2's icon

@Rodrigo

UPDATE: Oops! The iMpulse Controller does turn itself off… eventually. Not yet sure how long it takes.

While working on a patcher that gives different results for different gate times I noticed that if I didn't press the thing for maybe 4 minutes the first approx. 100ms button press would register as about 500ms. So it goes into some sort of go-slow (battery saving?) mode but a single button press completely wakes it up.

Curious, I left it for nearly 2 hours, something I'd never done before. Sure enough, when I came back it was off. Whenever I've used it it's never been inactive for more than maybe 10 minutes.

Sorry to mislead you!

For my own benefit I'll have to explore further to see how long it takes to go-slow or turn itself off.

Rodrigo's icon

Snap!

So the first button press (that wakes it) still goes through?
With the one I have when it goes to sleep, one button press wakes it up, but that button press never gets sent. It only wakes the device.

Depending on how this mini bluetooth keyboard works (with a dedicated on/off) I might gut and rehouse some of that just to have a simple button/remote/device. Not as elegant as the impulse/8bitdo, but it should (hopefully) stay on all the time.

Bill 2's icon

> So the first button press (that wakes it) still goes through

Yep. It just takes a little bit longer. Haven't timed how long it takes for the key-on or key-off to get through, but the gate time is usually about 500ms instead of the expected 100ms.

It did seem to stay in this "slow" mode for quite a while, though. I set an alarm for 10 minutes and it was still on (but slow at first, of course). And it was still on after either 30 or 60 mins. (Sorry, can't remember which - you know what a time warp Max causes!) I just want it to stay on long enough to get through an approx. 75 min performance during which I'll use it probably 3 or 4 times.

The 2-hr gap turned it completely off, so I had to use the User button to turn it back on before any ASCI message would register.

> Not as elegant as the impulse/8bitdo, but it should (hopefully) stay on all the time.

Maybe you could use the elegant physical switches from the iMpulse or 8bitdo to drive the bluetooth part of the mini bluetooth keyboard (assuming they stay on)?

Rodrigo's icon

Still though, that sounds better than what I currently have, so it's worth looking in to.

But will test with the bluetooth keyboard and report back (it's coming from China, so it's still not arrived yet)

ADwellingOx's icon

How did things go with the impulse/8bitdo controllers? Are these still the best options for a small bluetooth controller?

Rodrigo's icon

I got the 8bitdo and it's ok. It does go to sleep after a while, which is why I sort of abandoned it, as that was the whole point for me, in having a small thing I can reach over and interface with when needed.

I have been eyeballing those ROLI loop/live blocks, but I've not seen or heard reports of practical latency etc...

Here's a patch I made to parse the info from the 8bitdo:

Max Patch
Copy patch and select New From Clipboard in Max.

ADwellingOx's icon

Ok cool, yeh I just got one of the 8bitdo controllers so I'll give it a go. Thanks for the patch!

Th8a's icon

Hey all. I managed to use to hi object to wire up an 8bitdo controller which triggers midi messages to start and stop the transport of my DAW. I did this to overcome the annoyance of some plugin windows blocking the ability to use my keystrokes in the DAW, as it takes the active focus away from the DAW, meaning I have to juggle windows around just to start and stop playback of track. That gets really annoying when trying to tweak knobs etc. and hear the results in the arrangement.... So I set up the 8bitdo to trigger it via midi, which works great, except for the stupid freakin sleep function that a few of you have mentioned! If i don't use the controller for a couple mins, it shuts itself off and then takes a while to turn on and reconnect, sometimes glitching things out in the process, completely defeating the whole point of the idea! Has anyone found some way to keep the thing awake? I get why they implement such a function, but I don't get why they wouldn't give you a way to disable it! Im pulling my hair out over here, so any ideas would be greatly appreciated...

Th8a's icon

So, the problem has been solved... only I am not quite sure how. I am using ubuntu 19.04 with the KDE desktop, running Max via wine... and while I love linux, I must admit that sometimes, the management of advanced setups for bluetooth can be a bit of a mess. I assumed that the sleep function of the 8bitdo was a hardware/firmware thing, but now, it's pairing perfectly and even staying on until I manually turn it off. How did I accomplish this? I don't even know... I tried so many things and nothing seemed to work. After installing and uninstalling and reinstalling a bunch of bluetooth related stuff, then deleting the pairing settings for the 8bitdo and then pairing it and messing with settings via blueman and KDE bluetooth stack gui, it works as I had hoped. I really couldn't even tell you what I did specifically that fixed it... I just threw a bunch of shit at the wall and finally something stuck. If I had to guess what did it, I would say that it has something to do with the state of the battery during the time of initial pairing. From what I understand, linux (and probably mac and windows as well,) will save a profile and description of a device when it is initially paired. When it recognizes a familiar device, it just pulls the profile on that device rather than renegotiate the pairing. The time that I paired the 8bitdo that worked, I had the 8bitdo charging with a portable usb battery pack. It probably read the battery profile of the device while charging, and assumed that battery saving/management is not necessary, and made that default setting for that device. Had it been low on battery, it would have seen that and recalled that as a device characteristic, even if the battery was charging on the next connect. Thats the best I got, Im afraid... It does, however, confirm that the 8bitdo is capable of staying on without sleep, for those who have struggled with this. It looks like the issue is in fact OS related and NOT an embedded feature of the controller.