5. Android Grbl Controller with Raspberry Pi

One of the site’s guests, Florin, proposed recompiling Grbl Controller for Android using the Necessitas IDE/Qt cross-compiler. See comments bottom of page here.

I have managed to pair my Samsung Galaxy Tab 10.1 running ICS with an old IoGear Bluetooth dongle on the Raspberry Pi. Additionally, I downloaded the apk file created by Necessitas onto the Galaxy Tab.

I can load a file and display it in the visualizer (This is version 3.3.2 of Grbl Controller), but I can’t get the bluetooth path to show up in the COM port list. That will take some research. Early indications are that this may be impossible, because the QextSerialPort library requires libudev which is not part of the NDK that ships with Necessitas. Why? Because Android is really Linux under the hood, so we need to build for Linux. To do this, we need to replace all ifdef Q_OS_LINUX with Q_OS_ANDROID or Q_OS_LINUX. The other problem this causes is compiler failures on libudev if compiling under anything but Linux (which I haven’t tried). Next step: try building under Linux which has libudev installed.If that doesn’t work, dump bluetooth, and provide UI option to connect to Raspberry Pi via 802.11 Ethernet. It then may be possible then to bind the socket to the serial port using socat.

As you can see, it fires up, but the screen formatting needs help (and of course, serial doesn’t work).

Soon: Steps to get to this point.


The GrblController.log file is placed here (file system not sdcard):


I need to figure out a way to email the file or something from Grbl Controller because that location is a protected area. The only solution so far is to root your device or fake it out using two apps: Android Terminal Emulator and Hacker’s Keyboard.

If you zoom in, you can see the error opening the COM port…


3 thoughts on “5. Android Grbl Controller with Raspberry Pi

  1. Hi,
    Nice screen capture. From android 4.1 soft button for screen capture is disapear.
    Now we have option to use for bluetooth – qtbluetooth from Qt mobility is implemented from necessitas alpha 4
    or try libudev for android .
    I found this:

  2. Hi,
    If you wish the source code please send me an email.
    Because I make more modification and add a file libudevext.h.
    In screen capture I use android 2.3.3 but for real device (galaxy tab 2 with android 4,1.1) not exist ttyS*. Is necessary some dressing to the code, at the *.ui I make :) for my device and I think is not problem for your device.
    I not have now an bluetooth module for arduino.

Leave a Reply to Florin Cancel reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>