Happy Prototyping powered by Android

Similar projects worth following
With LabDroid you can directly reuse the hardware and software components of your Android device for your own goals.

A simple visual programming environment will help you to tackle goals like:
* learn coding (supported with real feedback/data)
* gather measurement data
* develop new algorithm
* boost your project (arduino, mindstorm, rpi, ...)

LabDroid provides an easy to use graphical interface which gives you direct access to all* hardware and software features of your Android device. By using your Android device instead of embedded components you can achieve several benefits:

▸ save money (don't buy components your phone has)
▸ spare time (just implement, no setup requred)
▸ be green (reuse instead of buy)

Let us just think about what you have to do, if you would like to add an IMU to your project. 

For an embedded solution you need to find a matching chip, order it, wait for the delivery, read the manual and configure many registers correctly. With LabDroid you can directly start to use the inbuild IMU of your phone. Just press install, launch your browser and start your implementation through an easy to use GUI.

Don't be shy and join the free beta today!

Currently supported features:
    ▸ Accelerometer
    ▸ GPS
    ▸ Gyroscope
    ▸ Light sensor
    ▸ Magnetometer
    ▸ NFC
    ▸ Proximity sensor
    ▸ Vibrator
    ▸ Script
    ▸ Text-To-Speech
    ▸ Bluetooth Client
    ▸ Http Client
    ▸ WebSocket Server

  • 1 × Android Device (8.0+)

  • Open Source?!

    hrkltz01/31/2021 at 11:00 0 comments

    At one point LabDroid will use many functionalities your android devices offers. This will lead to more serious questions about datasecurity.

    To avoid insecurities I will publish the backend as Open Source. My current plan includes to finish this step in Summer 2021.

    Stay tuned!

  • Update blocked

    hrkltz01/30/2021 at 15:56 0 comments

    My last update was blocked by Google because of some issues I understand and some who are fucking stupid. :(

    Prominent disclosure not found
    Your app must display a prominent disclosure through a pop-up alert before your app’s location runtime permission. [..]

    Include at least the following sentence, adapted to include all the relevant features requesting access to location in the background in the app that are readily visible to the user: “This app collects location data to enable ["feature"], ["feature"], & ["feature"] even when the app is closed or not in use.”

    Somehow I'm now forced to explain one of the biggest tech company in the world the use case of an IDE. 

  • 20210123.0

    hrkltz01/24/2021 at 09:45 0 comments

    Finally I could implement the last missing part of my concept for LabDroid: Variables!

    Now it's possible to store information and reuse them on another run of the same project.

    For example: If you would make a RC controlled car which is equipped with an Android phone running LabDroid, you could store/accumulate usage data like driven distance or used energie.

    How to use

    1. Step: Add the variables you need. You can choose between number or string as a dataytype. The String datatype can also be used to store JSON serialized objects.

    2. Step: Connect them to your script.

    3. Step: Use them in your script. :)

    4. Step: And here is the result! 

    Note: The variables will be saved if the project is finished. During runtime they stay in the memory to provide the best possible performance. 

    Beside of another feature I will add this year, I want to focus more on making the application stable, improve UX and add more components. 

    WIsh you a nice sunday! 

  • 20210109.0

    hrkltz01/09/2021 at 11:53 0 comments

    I just published the first update this year.

    It improves the input port of script nodes. It's now possible to get stream based ($receive()) and static ($poll) data.

    For example you can $poll() the string which describes the battery technology of your phone.

  • 20200926.0

    hrkltz09/26/2020 at 10:16 0 comments

    Just published a new version today. This update includes the imorved front-end editor.

    To be honest this is the worst tested update yet. I just needed some good feelings from pressing the release button. The last weeks at work have been quite exhausting for me.

    I will now focus more on stability and hopefully update in a 1-2 week rhythm.

  • I'm still on it ...

    hrkltz08/28/2020 at 16:23 0 comments

    Recently I didn't have time to work on LabDroid but it looks quite promising that it will change soon! In the next few weeks I should be able to finally release the big front-end update that allows you to create more complex graphical user interfaces for your projects.

    In the meanwhile I updated the website, hope you like it.

  • Update

    hrkltz07/01/2020 at 20:49 0 comments

    Okay I will put the source on GitHub:

    If I have time I will do a YouTube Video to introduce new users to LabDroid. I think the dice will be a good project for this. :))

  • A dice with LabDroid

    hrkltz06/30/2020 at 21:17 0 comments

    Today I did a simple dice with LabDroid:

    function getRandom(max) {
      return 1+Math.floor(Math.random() * Math.floor(max))
    let force = 0.0
    let rolled = ""
    while(true) {
        const accel = $in(0)
        force += Math.abs(accel.x) + Math.abs(accel.y)
        if (force > 100.0) // Keep the dice on the floor
            force = 90.0
        else if (force > 30.0) {
            force *= 0.6
            rolled += getRandom(6) + " "
        else if (force > 10) // The dice wiggles out
            force *= 0.6 
        else {
            if (rolled.length > 0) {
                $log(rolled + "*" + getRandom(6) + "*")
                rolled = ""
                $sleep(1000) // Give the dice some time to cool down
            force = 0.0
    And the output:

    Still thinking about how I could share some example projects. Hackaday, Instructable, YouTube or Github?! :/

    Any other recommendations? :D

  • 20200628.1

    hrkltz06/28/2020 at 21:33 0 comments

    New version is on the way.

    This time I focused on the UX : more shortcuts & feedback (toasts)

    ps. just found a small mistake: To delete a Node you also need to press CTRL + D (not DEL)

  • Thx for 100 followers :))

    hrkltz06/21/2020 at 08:58 0 comments

    Here is a quick and dirty teaser for my next goal: Building a RC car with LabDroid.

    First step: Using the phone as a controller (GUI & rotation sensor)

    LabDroid -> BT -> Arduino

    Second step: Place the phone on the car and use the sensors to track the movements.

    Tablet -> WIFI -> LabDroid -> USB -> Arduino

View all 25 project logs

Enjoy this project?



ve3mic wrote 05/05/2020 at 01:54 point

Thank you for your efforts and for the quick reply.  I will be using a Samsung Galaxy S9+

  Are you sure? yes | no

ve3mic wrote 05/03/2020 at 22:29 point

Tried to locate the LabDroid app on the Google Play Store.  No luck :(

  Are you sure? yes | no

hrkltz wrote 05/04/2020 at 18:04 point

Hey for some reason some countries was deactivated. Now it's enabled for the whole world.Beside of that LabDroid requires an Android 8.0+ device. Can I ask you which one you use?

And thank you for your interest. :))

ps. still working on the new version :X

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates