imurvai

[WIP] Control SBrick with Android Game Controller

Recommended Posts

Hi,

My latest project is not a Lego creation but an Android app that lets you control the SBrick with any Android-compatible game controller.

Here is a short demo video on it:

Please note that it's not available yet since it's still in WIP.

Current features:

- Works on Android 4.3+ devices supporting bluetooth low energy profile.

- Basically works with any type of Android-compatible game controllers (I'm using a cheap one from DX).

Leftovers until I release the first test version:

- Profile editor is not yet finished.

- Stability issues.

- Minor UI updates.

Any comments or suggestions are welcome :)

Edited by imurvai

Share this post


Link to post
Share on other sites

Looks cool! :classic:

I have a MOGA Pro controller (1st edition), will it have native support for the MOGA controller or do I have to use the HID option on the controller?

Share this post


Link to post
Share on other sites

Looks cool! :classic:

I have a MOGA Pro controller (1st edition), will it have native support for the MOGA controller or do I have to use the HID option on the controller?

To be honest I'm not sure :) But I would bet on the native support. We will see, I'm sure it will work anyhow :)

Share this post


Link to post
Share on other sites

Awesome!

I'm really looking forward to test this.

I've got a PS3 Controller and a Samsung S III, both can be connected by using a cheap USB-Cable.

However, does your App only allow controllers connected by BT?

Share this post


Link to post
Share on other sites

That's very nice! Looking forward to see final implementation. Can you share which controller did you actually bought on DX?

Share this post


Link to post
Share on other sites

Awesome!

I'm really looking forward to test this.

I've got a PS3 Controller and a Samsung S III, both can be connected by using a cheap USB-Cable.

However, does your App only allow controllers connected by BT?

No, it can be anything. The app is using the standard Android gamepad API, so if your controller-driver supports it then it'll be fine.

That's very nice! Looking forward to see final implementation. Can you share which controller did you actually bought on DX?

I'm using this one:

http://www.dx.com/p/n1-3017-fashion-multifunction-bluetooth-wireless-game-controller-black-409152#.VrJcUzYrKV4

( I hope it doesn't count as an advertisement)

Share this post


Link to post
Share on other sites

Wow! It looks great!

Is it possible to control two SBricks? Is it possible to reassign buttons and sticks directly in the application?

Share this post


Link to post
Share on other sites

Cool idea. I think a controller gives much better tactile control than a touch screen. Can it work with older versions of Android and BT?

Share this post


Link to post
Share on other sites

Wow! It looks great!

Is it possible to control two SBricks? Is it possible to reassign buttons and sticks directly in the application?

Theoretically it is possible to handle multiple SBricks but I have to borrow another one to test it. And yes, it'll be possible to reassign the buttons and joys. This is what I'm working on currently.

Cool idea. I think a controller gives much better tactile control than a touch screen. Can it work with older versions of Android and BT?

I depends on how old your Android device is. SBrick is using BT low energy profile and the support for it was introduced in Android 4.3. So the app is working on 4.3+ devices. And obviously the device itself should have a BT module supporting low energy.

Share this post


Link to post
Share on other sites

Nice! I can see there's still a little latency in the steering, but at least it's a "tangible" controller. I supposed the controller already has return-to-center, I can't wait to use this :)

Share this post


Link to post
Share on other sites

Nice! I can see there's still a little latency in the steering, but at least it's a "tangible" controller. I supposed the controller already has return-to-center, I can't wait to use this :)

I think that latency comes from the servo motor itself. Even if you use a lego IR remote, there is some lag.

Share this post


Link to post
Share on other sites

Hi!

i just create an account in here, because of our app. Really GREAT!!

I tested with my Moga Pro Controller (pairing the controller using MOGA PRO HID in the BT opitons). here are my summary:

- The app disconnect-connect-disconnect.....so engines star to move, stop, move.... i know is an alpha, so i suppose this will get better in time.

- I can't assign 2 slots in the sbrick (for example C and D) to the same Button or trigger (with invert option for each slot, C and D)

Thanks!!!

Amazing app

Cheers!

Denis

Share this post


Link to post
Share on other sites

Hi DHR,

For the connect-disconnect issue: could you check the firmware version of you SBrick? I'm using 4.8 (latest at the moment).

In this app you can't assign multiple channels for a single controller action, but the opposite, you can assign the same channel on more than one controller action. This is because to be able to control CW and CCW the same channel with the triggers for example.

BR,

István

Share this post


Link to post
Share on other sites

Someone in the SBrick forums posted this and I cannot tell you how happy it makes me. When I first saw the SBrick THIS was what I had in mind for the control scheme. You sir are just awesome.

Hopefully I will be able to test this after work today (it is going to be a loooong day because I just came in and I am already thinking of the time that I get off work because of this :p)

I am so excited. I will post back with the results of my tests as soon as possible! THANK YOU!

Share this post


Link to post
Share on other sites

Hi HDR,

I think I just found out the root cause of your connect-disconnect loop. Unfortunatelly everyone will experience the same until I publish a fix for that. Hopefully I can do that in one-two days.

Share this post


Link to post
Share on other sites

Hi imurvai!

The firmware version is the 4.8

Great that you found the root cause......i can wait 2 days :) ** i've waiting 1 year for the sbrick android app to work correctly..LOL **

btw, my user in social sbrick community is "Denis H". i post this link in the android support thread. Another user post the youtube video.

For the multi-channel to one single button action, will be great if you add.....all my cars have 2 motors for acceleration, so i need to asign 2 channels for the same action to control both motors at the same time. Two of them i have to invert one of the 2 motors.

THANKS!!!

Edited by DHR

Share this post


Link to post
Share on other sites

Very nice work.

Is there going to be an IOS or Windows version to??

I use a windows phone now and probably a IPhone next year.

Share this post


Link to post
Share on other sites

I think that latency comes from the servo motor itself. Even if you use a lego IR remote, there is some lag.

Indeed, but hardly noticeable compared to the latency I experience with the SBrick app when using any profile.

However, when using the port tester latency was minimal. That was in summer though, I haven't tried it again.

Share this post


Link to post
Share on other sites

Hi All,

New version is out, hopefully I fixed the continuous disconnect-connect loops. At least it is working with my SBrick.

The location of the apk is the same: https://dl.dropboxusercontent.com/u/4786711/sbrickcontroller.apk

Sorry for the previous bad release, I accidentally modified a setting in my SBrick that I wasn't aware of.

For the IOS and Windows phone versions:

If I have enough time I'll start the IOS version, since I have all the equipments needed (I only don't have that provisioning profile or what that is needed to test on device).

For the Windows version I can't promise anything :(

Share this post


Link to post
Share on other sites

Hi All,

New version is out, hopefully I fixed the continuous disconnect-connect loops. At least it is working with my SBrick.

The location of the apk is the same: https://dl.dropboxus...kcontroller.apk

Sorry for the previous bad release, I accidentally modified a setting in my SBrick that I wasn't aware of.

For the IOS and Windows phone versions:

If I have enough time I'll start the IOS version, since I have all the equipments needed (I only don't have that provisioning profile or what that is needed to test on device).

For the Windows version I can't promise anything :(

Howdy imurvai,

I downloaded through the qr code above, should I do this again? Or is the current download(from above) OK?

I'm using Samsung 6S, or should I modify something? I'm not the brightest bulb in the pack I might need help changing something?

Any help appreciated as the sbrick software doesn't work as well as yours seems too, thanks

Share this post


Link to post
Share on other sites

Howdy imurvai,

I downloaded through the qr code above, should I do this again? Or is the current download(from above) OK?

I'm using Samsung 6S, or should I modify something? I'm not the brightest bulb in the pack I might need help changing something?

Any help appreciated as the sbrick software doesn't work as well as yours seems too, thanks

Hi ritztoys,

How far did you get with the app? First you need to scan for the SBRick(s) you have, then add a controller profile and in the profile editor assign controller actions to SBrick channels. More or less that's it for the setup.

You said that neither the SBrick official app nor mine don't work. What is the symptom? Can it connect to the SBrick? And also did you connect your controller properly to the 6S?

And yes, the qr-code should work.

Edited by imurvai

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.