ODROID-U2: Google Play

My Odroid booted, the Android version is 4.0.4. Unfortunately, the Odroid image cannot contain Google Apps, just like other mods for phones or tablets. So there is no Google Play to download more applications. This isn’t a big problem, the GApps can be manually installed.

Thanks to Cyanogenmod team, there is a package with GApps. However, it cannot be installed like a standard apk, because it will crash.

Preconditions
Odroid has to be rooted. The USB debugging option in settings has to be turned on, because the GApps will be installed via adb.

When I connected my device and executed adb devices, I saw question marks instead of devices address and ‘no permissions’ message:

$ adb devices
List of devices attached 
????????????	no permissions

This indicates that there are no rules for my device in udev rules. At first I need to known what USB device is this, in particular the vendor and model values. To determine these options I run lsusb with my device still connected:

$ lsusb
Bus 002 Device 010: ID 18d1:0002 Google Inc. 
(...)

My device’s vendor id is 18d1 and model id is 0002. Now, this information needs to be added to udev rules configuration files.

I put this line into /etc/udev/rules.d/50-usb-serial.rules and restart udev:

SUBSYSTEMS=="usb",ATTRS{idVendor}=="18d1",ATTRS{idProduct}=="0002",MODE:="0666"

$ sudo service udev restart
udev stop/waiting
udev start/running, process 18099

$adb devices
List of devices attached 
BABABEEFBABABEEF	device

After this, the device is properly recognized.

Now, the GApps apk from Cyanogenmod wiki will be needed, the one for ICS (CM 9). Download it and unpack. Only the ‘system’ folder will be needed.

Installing GApps
Usb attached and device recognized, now we can install the GApps.

The system catalog on the device needs to be writable, so a ‘remount’ needs to be performed:

$ adb remount
remount succeeded

TO install GApps on the Odroid we need to push it with adb tool:

$ adb push ~/odroid/gapps-ics-20120317-signed/system /system

When all file were uploaded to the device, a reboot is needed:

$ adb reboot

Google Play login and first game
When the system booted, go to launcher and choose ‘Google Store’. Login with Google account and it’s done, now apps can be installed.

I installed a game to check how it will look like. The game is ‘Cordy 2’, it’s a platform game. Also I checked if the game pad works with the game. The pad works, however I need to remap the buttons.

game_set

game_screen

ODROID-U2: New HDMI cable

Finally I bought a new HDMI-HDMImicro cable. The new one is of a greater quality, it isn’t a super expensive cable from the most top shelf I could find, but it isn’t the cheapest either.

The damaged cable demotivated me a little, I couldn’t get myself to find it quicker. Also I wanted to read something about the HDMI and HDMI cables. I found out that Ethernet can be encapsulated through an HDMI cable. Instead of looking on an internet auction, I wanted to find a store at my city, so when it would be also damaged, I could give it back. I found store near my work and to my surprise, the store was specialized only in HDMI cables.

hdmi_cables

Old cable on the left, new on the right. Then new one feels a little better in quality then the older one. Even the gold color on the connectors is more intense.

I connected the new cable and it does not matter at which angle it is connected, the image is always crystal clear.

screen1_odroid

screen2_odroid

ODROID-U2

Recently in excitement about OUYA game console, an Android based gaming console, I bought ODROID-U2. This little piece of hardware is driven by an Exynoss 4412 chip, which can be also found in Samsung Galaxy SIII. It’s specs are similar to Tegra 3 platform. I want to play a little on Android, I already have Galaxy SII phone, on which I can play games from Google Play. I wanted a game console, which I could connect to my TV and control with a game pad. I also decided, that if I want to buy such thing, then it should enable me to install other operating system, so I can develop something on it.

from_website_odroid_u2

The company, which made ODROID-U2, is placed in Korea, so I had to wait for the package two weeks. It was my first package from such distant country. I was a little worried, because this is a little computer and that at the customs office they could hold it and say ‘No, this shit is dangerous, it has a droid icon on the box’. Finally, after two weeks and some phone calls with FedEx, it arrived.

All the stuff, which I ordered came in a small box. I bought the ODROID-U2, a power supply, a wi-fi adapter and eMMC memory module with Android preinstalled. I also bought a cheap USB game pad and a HDMI to HDMI micro cable.

whole_set

After quick unboxing, I connected everything and got horrified. The output on my TV was like from an old TV, which had a very weak signal. I was kind of disappointed. At first I thought, that the ODROID board or HDMI micro is damaged. I was looking at it with a magnifying glass for over an hour. I tried to connect it one more time and this time I moved the HDMI cable, I wanted to check if the image gets better when the connector is pressed, maybe it got loose or was not properly soldered. Moving the cable produced the right result – the image was now crystal clear. Then I realized, then the ODROID hardware is fine, but the cable could be damaged. It is very cheap one, cheapest I could get. I didn’t had any other HDMI micro supporting device, so I has to find another device. It was weekend, so I had to wait until Monday.

The screenshots are done with S2, so I could capture what I saw on the monitor. Doing a screenshot on the device would produce a good image, without the noise.

damaged_image_from_hdmi

I checked the faulty cable with Sony XPeria Arc S mobile phone and to my relief, the video connection was interrupted when I moved this cable. To be sure that the cable was indeed damaged I checked with a Motorola phone, the results were the same.

So now I have to buy a new HDMI cable. This time I will buy a branded and spend a little more on it.

Nevertheless, when connected at right angle, the image was correct, so first impression is great.

correct_image_from_hdmi

New phone – Samsung Galaxy S II

I changed my phone. I bought a Samsung Galaxy S II. This phone isn’t the newest on the market, but still it is a powerful device. I wanted to have a device, which could handle the latest Android system. I received it with Android ICS (version 4.0.4) preinstalled, but I read on the Internet that in November it will be an official update to Jelly Bean.

S2 is much better than my previous phone, Samsung Galaxy Ace. Ace is a level or two lower than S2. Now I feel how technology went ahead. Not only the hardware is great, but also Android 4 is very different than Android version 2, which I have installed on Ace. The look and feel is much better.

As a smartphone it is inevitable that the battery life will be not so good. All the hardware needs power. I turned off all connectivity except GSM, set brightness to lowest possible value. Still I sometimes turned on Wi-fi and played games and the phone went 3 days and 2 hours on the first full charge.

Additionally, experienced by my previous phones, I bought an etui made out of rubber and a foil for the screen. The screen is made out of Gorilla Glass, which is advertised as no-scratchable. Knowing me I probably would scratch anyway. So an extra foil won’t hurt.

STM32F4-Discovery

Yesterday I finally received my STM32F4 ARM Discovery Board.

Right now I am a little bit busy, so I can’t play with it. I only peered to the datasheet and checked if it works. To my surprise it has a lot more features, than I thought. Among others there are interfaces for CAN Network, Camera interface, LCD interface and Secure Digital I/O, for memory cards.

There is a demo software installed on the board, which uses the three axis accelerometer and blinks LEDs after power is connected. When the board is connected with a second USB cable to the PC it acts as a standard mouse.

This is awesome. The cost of this board isn’t high, I paid for it less than 100,- PLN. There are open source tools, a lot of documentation and the community surrounding it is very large.

LCD Display from HP PhotoSmart 635

My old digital camera died, it stopped to turn on, even when the batteries were charged. I am waiting for my ARM Discovery Board. It would be nice to have a display. I disassembled the camera and extracted the LCD display.

The manufacturer of this display is Casio. I couldn’t find anything about input pins. The full symbol of this display is ‘Casio 1065sh B1048M fl’. The only thing that I could notice is that it has two separate wires for power and 32 data lines, two of which aren’t connected to the display.

Waiting for ARM Discovery Board STM32F4

I decided to learn embedded programming for the ARM and my weapon of choice is ARM Discovery Board STM32F4. Ordered one from an internet auction and awaiting.

This board is very simple, yet very powerful. Open source tool-chain support is an advantage. Many people write programs for this board and on the Internet there is a lot of information.

I have also a Renesas Promotional Kit, which I got at Embedded World 2012 exhibition. It is also a small development board, but the tools are most proprietary and limit in use by time or compilation size. Also finding information when something went wrong is difficult, because the number of people using this board is small and I was the first to encounter a particular problem.