Getting a MK802 talking to your Arduino
The MK802 is a cheap Android powered media player. It is awesome because it is essentially a cheap computer on a stick. It comes with 1.5 Gz A10 processor. It has two USB ports, one HDMI port and connector for power. The other great thing about these devices is they are usually rooted at the factory. That means you can play around with them right out of the box. The biggest drawback of these devices is there is little documentation about them and what is running under the hood so you don’t always know what you are going to get. Case in point I ordered two of these from two different places. The first one I played with I nearly pulled out my hair because it seemed to be rooted but I could not modify the /system directory. I tried everything but had no luck. It was bad enough that I was going to throw in the towel. I decided to have one last crack on the other device… low and behold it worked just as advertised and I was able to get everything up and running in about 10 minutes. Truly buyer beware. I will list the device ID’s of both devices so you know what to look for.
Working rooted device model name (as reported by Google Play): Unknown SoftwinerEvb
Improper rooted device model name: Unknown BC218
I think the trick is to look for devices called MK802.
The steps for setting this up are essentially the same as my last post with the exception that the device is already in developer mode so you can skip that.
To get started you will need the following:
- MK801 Android media device (This should already be in developer mode)
- OTC adaptor (should come with the device)
- AC adaptor for the MK801
- Processing (It must be 2.0.3 or higher) https://processing.org/download/
- The Android SDK. You can find it here.
- Download the processing-android-serial library and install it . https://github.com/inventit/processing-android-serial
After you have done all that the only thing that remains is to create the hosts file. This will allow your device to act as a host for the UNO.
To enable USB host API support you should create a file named android.hardware.usb.host.xml and insert the following:
<permissions> <feature name="android.hardware.usb.host"/> </permissions>
Use adb push to put it in the following directory:
in that folder pull the file named:
handheld_core_hardware.xml or tablet_core_hardware.xml
<feature name=”android.hardware.usb.host” />
into <permissions> section
push it back up.
Reboot and you should be able to mount the uno as a host device. Use the instructions in the previous post to get it communicating with the uno.