MonoBrick Remote For Android

The MonoBrick Remote for Android let’s you can control a LEGO Mindstorms brick using a bluetooth connection. You can control the direction and speed of a vehicle by placing your finger on a circle. Select from more that 20 different sensors and have your phone read sensor values aloud. Great when you are bussy driving your vehicle. Furthermore you can play sound files, start “on brick” programs and delete files. Last but not least the remote allows you to send raw input to a mailbox. This allows you to have a program running on the brick that can react to where the finger is placed on the circle and the position of the slider.

The remote can be downloaded from Google Play. With the MonoBrick Remote for Android you can:

  • Control a the speed and direction of a vehicle by placing your finger on a circle
  • Control an additional 3ed motor using a slider
  • Send raw vehicle input data to a mailbox
  • Select between 20 sensors on all sensor ports
  • Make the phone say “read” the sensor value aloud
  • Start “on brick” programs
  • Play sound files
  • Delete files

Pairing your phone with the LEGO Brick

The first time you run the MonoBrick Remote you will be guided through the process of pairing you phone with your LEGO Brick. This is shown on the screenshots below.

Once the phone and LEGO Brick has been paired you can connect to the brick by pressing the Bluetooth icon.

Sending vehicle/motor data to a mailbox

With the MonoBrick remote for Android it is possible to send the raw data that the app calculates based on user input from the vehicle tab. The values that are send are angle, speed and slider position. A string containing each value is send either when the finger is moved across the circle or the slider position is moved. The values are send as a text string separated by a comma. For example:

141.45;52;-10

Here the angle is 141.45 degrees, the speed is 52 and the slider position is -10. To send input data to a mailbox go to settings and follow the procedure as shown below:

Below is a NXC sample program that converts phone input data to three floats.

int run;
task handle_queue(){
    string request = "";
    float dataValues[3];
    int length;
    int endIdx = 0;
    while(run){
        ReceiveMessage(0, true, request);
        length = StrLen(request);
        if(length>0){
            endIdx = length;
            for(int i = 0; i< 3; i++){
                endIdx = Pos(";", request);
                if(endIdx == -1){
                    endIdx = length;
                }
                dataValues[i] = atof(SubStr(request,0,endIdx));
                request = SubStr(request,endIdx+1,length - endIdx+1);
                length = length - endIdx+1;
            }

            /*For test - removed to speed up the process
            ClearScreen();
            NumOut(0, LCD_LINE1, dataValues[0]);
            NumOut(0, LCD_LINE2, dataValues[1]);
            NumOut(0, LCD_LINE3, dataValues[2]);*/
            request = "";
        }
    }
}
task main() {
    run = 1;
    start handle_queue;
    until(ButtonPressed(BTNCENTER, true));
    run = 0;
}

Support

Questions related to the MonoBrick Remote for Android can be found in the MonoBrick communication library forum.

6 comments on “MonoBrick Remote For Android
  1. Author Image Ryan says:

    Will any part of this be released open source? Such as selecting a NXT to connect to?

  2. Author Image Noe says:

    I tried connecting and all it says after open connection is “initialize sensor 1 as none” what do I do?

  3. Author Image winner says:

    This soft can’t download from Google Play. Please Check.Thank you very much

  4. Author Image Irvin Stafford says:

    Has the App/Controller code been updated for EV3?

    Thanks

Download

Make a donation