/PhysicaloidLibrary

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

Primary LanguageJava

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.