{"id":16681788,"url":"https://github.com/casidiablo/armuino","last_synced_at":"2026-06-23T12:01:41.460Z","repository":{"id":140747343,"uuid":"2545222","full_name":"casidiablo/armuino","owner":"casidiablo","description":"Control Arm From Android using Arduino ","archived":false,"fork":false,"pushed_at":"2011-11-11T04:52:51.000Z","size":398,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-06T05:51:14.047Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/casidiablo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-10-10T00:28:34.000Z","updated_at":"2020-08-28T23:33:41.000Z","dependencies_parsed_at":"2023-03-13T10:40:43.462Z","dependency_job_id":null,"html_url":"https://github.com/casidiablo/armuino","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casidiablo%2Farmuino","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casidiablo%2Farmuino/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casidiablo%2Farmuino/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casidiablo%2Farmuino/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/casidiablo","download_url":"https://codeload.github.com/casidiablo/armuino/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243384579,"owners_count":20282398,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T14:05:17.893Z","updated_at":"2025-11-08T07:04:35.200Z","avatar_url":"https://github.com/casidiablo.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"ADK example project\n===================\n\nThis is a simple Android application that demonstrate how to use Accessory Development Kit. It basically controls a Scara robot which is built with tree servos.\n\nArduino board must run this sketch:\n\n    #include \u003cServo.h\u003e\n    #include \u003cUsb.h\u003e\n    #include \u003cAndroidAccessory.h\u003e\n    \n    #define  FOREARM     11\n    #define  ARM         12\n    #define  HAND        13\n    #define  MOVE_MSG    0x2\n    \n    AndroidAccessory acc(\"egoclean\",\n    \t\t     \"arm\",\n    \t\t     \"egoclean arm\",\n    \t\t     \"1.0\",\n    \t\t     \"http://www.android.com\",\n    \t\t     \"0000000012345678\");\n    Servo foreArm;\n    Servo arm;\n    Servo hand;\n    \n    void setup() {\n      Serial.begin(115200);\n      Serial.print(\"App started\");\n      \n      foreArm.attach(FOREARM);\n      foreArm.write(90);\n      arm.attach(ARM);\n      arm.write(90);\n      hand.attach(HAND);\n      hand.write(0);\n      \n      Serial.println(\"Servos attached\");\n      \n      acc.powerOn();\n    }\n    \n    void loop() {\n      byte msg[3];\n      if (acc.isConnected()) {\n        int len = acc.read(msg, sizeof(msg), 1);\n        if (len \u003e 0) {\n          if (msg[0] == MOVE_MSG) {\n            int howMuch = msg[2];\n            if (msg[1] == FOREARM){\n              foreArm.write(howMuch);\n            } else if (msg[1] == ARM){\n              arm.write(howMuch);\n            } else if (msg[1] == HAND){\n              hand.write(howMuch);\n            }\n          }\n        }\n        msg[0] = -1;\n      } else {\n        foreArm.write(90);\n        arm.write(90);\n        hand.write(0);\n      }\n      delay(10);\n    }\n\nHow to run Arduino sketch\n=========================\n\nIn order to be able to run sketch above, you must:\n\n- Have an Arduino Mega for Android or an Arduino UNO with a USB shield\n- Follow [these steps][1] in order to install ADK libraries for Arduino\n- Also, your Android device should support accessory mode. Usually, any Android 3.2 device is able to do so; Android 2.3.4 devices can do this via [add-on library][2].\n\nAbout this\n==========\n\nThis is just my homework. It is also under the WTFPL public license, so you can do whatever you want with this. If you want to get in touch with me, please drop me an email: cristian@elhacker.net\n\n  [1]: http://developer.android.com/guide/topics/usb/adk.html\n  [2]: http://developer.android.com/guide/topics/usb/accessory.html#manifest\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcasidiablo%2Farmuino","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcasidiablo%2Farmuino","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcasidiablo%2Farmuino/lists"}