imurvai

[WIP] Control SBrick and BuWizz with Android and iOS Game Controller

Recommended Posts

BrickController2 is an Android and iOS application that allows you to control your Lego models using a compatible gamepad.
It supports SBrick, BuWizz 1-2, Powered-Up, Boost and PF infrared (on Android devices having infrared emitter).

BrickController 2 on the Google Play Store: BrickController2 android
BrickController 2 is also available on the Apple App Store. BrickController2 iOS

Video tutorial created by @kbalage (many thanks for this):

 

Older versions:

BrickController Android application. It lets you to control Lego creations via Lego infra-red, SBrick and BuWizz V1 and V2 using any Android compatible game controller:

Current version: BrickController 0.6

User guide: BrickController User Guide

Minimum system requirement: Android 4.4 and bluetooth low energy support on the phone (or tablet)

 

Video on the older SBrickController application:

 

Edited by imurvai
Updated PlayStore and AppStore urls and added video tutorial.

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 Guys,

The first public alpha test version is done. You can download it from here: https://dl.dropboxusercontent.com/u/4786711/sbrickcontroller.apk

Or you can use the following qr code directly from your Android device:

sbrickcontroller_qrcode.jpg

Please let me know if you face bugs or any kind of issues. And also ideas and suggestions on how to improve the app is still welcome :)

Happy playing!

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.