Saturday, 10 December 2011

TEDxMMU 2011 Full-featured Embedded System Design with Smartphones

I am very honoured to be invited to present in TEDxMMU 2011, the independently organized TED event in Multimedia University. Presenting an interesting talk within 18 minutes is challenging and this is the only presentation that I ever did a rehearsal and I do fell good to complete it almost at the 18-minute mark. The details of the event are as follow:

Date:10 December 2011 (Saturday)
Time: 9.00am to 3.00pm
Venue: E-theater, Faculty of Creative Multimedia, Multimedia University, Cyberjaya

The synopsis of my talk:
"Smartphone has many features that can enhance the design of an embedded system such as Internet connection, voice recognition or camera captures. There are however a few problems that restrict such integration such as the high cost of a smartphone and limited direct data connection to a smartphone. With the introduction of Android Accessory, Android devices can be connected to a microcontroller via USB connection that provides identification and bulk transfer via input/output streams. Foreseeing more low cost Android devices and the ease of getting hardware components for developing Android Accessory, there will be an increase of integration of Android devices into an embedded system in various areas such as robotics, consumer products, medical products and educations."


The video of my presentation is supposed to be recorded and published later but it is not available due to technical problems. Some of the TEDxMMU 2011 videos are however available. However this is a great event for me.

Tuesday, 4 October 2011

Remote Controlled Blimp with Video Surveillance

The project "Remote Controlled Blimp with Video Surveillance" is a joint project between several Multimedia University academicians as an Interactive Installation for the DA+C Festival 2011 (Digital Art and Cultural Festival) mainly from 15 to 17 July 2011 at Suffolk House, George Town, Penang, Malaysia. The project is named "FRANC" as a tribute to Captain Francis Light (notice that the name Francis Light can be separated into "Franc is Light", hence the name of "Franc" which refers to the Helium-filled blimp which of course is lighter than the air, therefore "is light". The main focus of the project is to continuously provides the birds' eye video feed of the interior of Suffolk House.

From FRANC

The indoor blimp is mainly based on Blimpduino project from DIY Drones. The wireless control is however not done using regular radio-controller gears but via BlinkGear BlinkRC, so that the control signals can be sent directly from a PC via UDP data packet. The EyeCam 2.4GHz wireless video transmitter provides the aerial video which is captured by a USB TV Capture device and eventually streamed in VLC player on the main PC.

FRANC V1 with BlinkRC and EyeCam 

During initial testing, there are problems discovered with the first design. The EyeCam wireless video requires line-of-sight and is very susceptible to interference (various 2.4GHz signals from WiFi, Bluetooth etc.). The BlinkRC also sometimes fails to connect but eventually we discover that there is a loose connection on the BlinkRC PCB board and is finally fixed. However FRANC version 2 is still being developed as a backup.

FRANC V2 with Android and IOIO

The version 2 is mainly based on Android, which covers both the control and the video surveillance: 
  • An Android application has been developed to receive the exact same UDP data packets as in Version 1 to drive the blimp. The PWM signals to drive the motors are sent out from an IOIO board which connects to the Android phone via USB using the ADB protocol.
  • An existing Android application "IP Webcam" is used to stream the video capture. 
From FRANC

The major problem with this design is the larger weight of an Android device (HTC Legend) with USB cable which requires more blimp envelopes.

From FRANC

Further improvement is focus mainly on reducing the weight of the payload:

  • Using the lightest Android phone possible (Sony Ericsson Xperia X10 Mini which weights only 88g)
  • Redesign the circuit board by integrating the Blimpduino circuit and the IOIO circuit.
  • Reduce the length of the USB cable
Further advancement is to add interactivity to the blimp for autonomous movement as the remote control is kind of difficult due to the combination of winds, momentum and human reaction. For example the WeBlimp  project shown in the video below:

Monday, 3 October 2011

Integration of Android and NFC into Home Entertainment System

"Integration of Android and NFC into Home Entertainment System" is one of the Multimedia University Faculty of Engineering Final Year Project proposal for session 2011/12. The project is inspired by Google IO 2011 Day 1 keynote about the Android@Home as shown below:


The main feature of the system will be described as the scenario below:
  • Once a selected music album cover attached with NFC (Near Field Communication) tag is brought near to an embedded NFC reader in a home speaker system or an Android phone with NFC capability (Nexus S), the home entertainment system will start playing the song, and the Android phone will display the information of the album. 
The project will be divided into two parts:
  1. The development of the embedded NFC reader in a home speaker system using either a USB NFC reader such as ACR122U NFC Contactless Smart Card Reader connected to a Windows Presentation Foundation application on a PC or an embedded NFC module such as SM130 13.56 MHz RFID Mifare Module connected to a network enabled Arduino or mbed embedded system. The NFC reader will continuously waiting to read an NFC tag brought near to it and immediately send the data read to a home entertainment system to trigger the playing of an album. 
  2. The development of the Android application on an Android device that waiting to read from an NFC tag to trigger the playing of an album similar to part 1 and to display the information retrieved from the home entertainment system about the album.
 
Use of SM130 13.56MHz Mifare Module in my previous project

MMU Cyber in The Freescale Cup Malaysia Race

The Freescale Cup Malaysia Race is a competition of a team of University students to build a model car that will race for speed around an unknown track with various obstacles. The students have to program a Freescale microcontroller to interface with sensors such as Infrared receiver or camera to intelligently following a black line on the track.

The information of the competition:
Venue: Kuala Lumpur Convention Center (in conjunction with PECIPTA 2011)
Date: 14 - 15 September 2011

From Freescale Cup 2011
Multimedia University, Faculty of Engineering has sent a team of two engineering undergraduate students with a team name of "MMU Cyber" to participate and here is the result:

Qualifying round

No problem in the qualifying round albeit a bit slow.

Night Drifter Challenge

"MMU Cyber" did not complete the Night Drifter Challenger and please check the video for the reason.

Day Dragger Challenge

"MMU Cyber" did not complete the Day Dragger Challenger and please check the video for the reason.

Finally at the end, "MMU Cyber" finally finishes the Day Dragger Challenger track but that's was after the competition has ended. This was just to prove themselves and prepare for the next Freescale Cup!


The official summary video


There are additional awards such as "Best Design" and every car has to be displayed and judged but "MMU Cyber" really has no time to prepare for this.
From Freescale Cup 2011

Even though "MMU Cyber" did not get a good result but this is a good start and I do love the "MMU Cyber" car, don't you?
From Freescale Cup 2011

Saturday, 1 October 2011

Development of an Exercise Machine as Android Open Accessory

"Development of an Exercise Machine as Android Open Accessory" is one of the Multimedia University Faculty of Engineering Final Year Project proposal for session 2011/12. The project is inspired by Google IO 2011 Day 1 keynote about the Android Open Accessory as shown below:


The objective of the project is to develop an Exercise Machine which connects to an Android device via Android Open Accessory Protocol to provide exercise related information on the display of Android device.


Getting the temperature sensor reading on my Nexus One via Android Open Accessory protocol which will be similar how data from the exercise machine is being displayed on an Android device

The project will be divided into two parts:
  1. The development of the exercise machine which may be a treadmill or a exercise bike with an Arduino-based controller to provide the sensors measurement such as speed, duration etc. 
  2. The development of the Android application on an Android device that displays the information retrieved from the Arduino-based exercise bike controller via the Android Open Accessory USB connection. 
Optional features:
  1. Implementation of difficulty or speed control on the exercise machine that receives commands from the Android device.   
  2. An Android 2D/3D games that based on the input from the exercise machine. 
Some of the useful resources:

Wednesday, 20 April 2011

Head Tracking Glasses-free 3D on Android

Introducing "Head Tracking 3D" on Android devices, currently only tested on Notion Ink Adam due to the single front facing camera (which can also be rotated to face the rear) and the fast processing speed of Dual Core Cortex A9 processor.






"Head Tracking 3D" is developed in response to the "Head Tracking for iPad: Glasses-Free 3D Display".


"Head Tracking 3D" is mostly based on my previous Android App "3D Depth Cues Demo for Android", which is introduced during a conference MOSC 2010. More descriptions can be obtained here. The App already has all the 3D rendering using OpenGL and the camera preview ready as shown below.


The "3D Depth Cues Demo" itself is inspired by Johnny Lee's Wiimote project "Head Tracking for Desktop VR Displays using the Wiimote" shown below.


The credit also goes to JavaCV, a Google Code project on Java Interface to OpenCV, which brings a much faster face detection to Android using Haar-like features (cvHaarDetectObjects), compared to the Android built-in face detector . The main modification that I have done to the JavaCV demo App is to use the minimum camera preview size as shown below.


The App "Head Tracking 3D" can be obtained from Android market (OK, it does not make sense to have an app mainly for Notion Ink Adam to be in the Android Market despite the fact that NI Adam is not suppose to have the Android Market, I will post it to Notion Ink Hacks).

Sunday, 6 March 2011

Enable Apps Side-loading in Dell Streak Froyo AT&T ROM

I have recently updated my Dell Streak via the official OTA update to Froyo, bad experience though. Of couse, the AT&T ROM will hide the option for side-loading an application.   
The previous method to overcome this is to dial "*#*#307#*#*" which will then install the Dell Streak Engineering applications including "EMList". The EMList application has the option to enable the option "Unknown sources".   
But the 2.2 update has made the installation of EMList not as easy as before. The installation via "*#*#307#*#*" seems to require a "PASSPORT" in SD card. 
However, thanks to various Dell Streak forum (I am not sure who is the original source), the installation of EMList still can be done, but now requires ADW.Launcher.  Once ADW.Launcher is installed and started, go to the home screen and add a "Custom shortcut". The reason to use ADW.Launcher is for the "Custom shortcut" option, which is not available in the default launcher.   
Add an Activity and look for EMList and choose the EMListInstaller.
Click on the newly created EMList icon and it will briefly show a blank screen indicating the installation of EMList application. 

Now look for the EMList application in the launcher and launch it. 
Scroll until the end and select "App Security".
Enable the "Update Unknown Resource Property".
Now go to settings and the "Unknown sources" will be available under "Application".