Skip to content

Android Library for communicating with physical-computing boards (e.g.Arduino, mbed)

Notifications You must be signed in to change notification settings

Manicben/PhysicaloidLibrary

 
 

Repository files navigation

Release Javadoc

Physicaloid Library

Android Library for communicating with physical-computing boards (e.g.Arduino, mbed)

Features

  • NEW! Available to import directly into your project via Jitpack!
  • NEW! Now supports more microcontrollers over USB, such as the ATmega32U4 and RP2040.
  • No closed source slow and buggy D2XX drivers are required.
  • Android Java library project
  • USB-Serial communication
  • WiFi-Serial communication to ESP8266
  • upload a firmware to an Arduino
  • support on Android 3.1 or higher (need USB Host API feature)
  • does not require ROOT
  • supports USB-Serial protocols : CDC-ACM, FTDI, Silicon Labs CP210x and WinChipHead CH34X
  • supports uploading firmware protocols : STK500, STK500V2, Binary blob ESP8266 OTA
  • open-source(Apache License 2.0)

Android x Arduino

Users do not need to download an Arduino sketch from a web site. Download sketch

You (developer) can include Arduino firmwares in your Android app and upload to Google Play. Upload to Google Play

Code example

Upload a firmware from Android to Arduino

Physicaloid mPhysicaloid = new Physicaloid(this);
mPhysicaloid.upload(Boards.ARDUINO_UNO, "/sdcard/arduino/Blink.hex");

Write serial data to Arduino

Physicaloid mPhysicaloid = new Physicaloid(this);
if(mPhysicaloid.open()) {
        byte[] buf = "moemoe".getBytes();
        mPhysicaloid.write(buf, buf.length);
        mPhysicaloid.close()
}

Read serial data from Arduino

Physicaloid mPhysicaloid = new Physicaloid(this);
TextView TextView1 = (TextView) findViewById(R.id.TextView1);// Android TextView

if(mPhysicaloid.open()) {
        byte[] buf = new byte[256];

        mPhysicaloid.read(buf, buf.length);
        String str = new String(buf);
        TextView1.append(str);

        mPhysicaloid.close();
}

How to use

    repositories {
         google()
         mavenCentral()
         maven { url "https://jitpack.io" }
    }
    
    dependencies {
        implementation 'com.manicben:PhysicaloidLibrary:1.0.0'
    }

Special Thanks

This code has built in knowledge of avrdude. Thanks to all avrdude coders.

License

Physicaloid Library is released under the Apache License, Version 2.0.

About

Android Library for communicating with physical-computing boards (e.g.Arduino, mbed)

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%