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

mit-cml/PhysicaloidLibrary

 
 

Repository files navigation

Physicaloid Library

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

Features

  • NEW! 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

  1. File -> import and select a PhysicaloidLibrary directory.
  2. Right click your project -> Properties -> Android -> click Library's "Add" button -> select PhysicaloidLibrary

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

Releases

No releases published

Packages

No packages published

Languages

  • HTML 73.1%
  • Java 26.2%
  • CSS 0.7%