Wednesday, December 19, 2012

ARDrone for Android Test code.

AR Drone provides API for Linux, iPhone and Android.

But if you want to control the AR Drone using simple UDP protocol on your Android. I have prepared a simple test code for you all. It is only tested with AR Drone 2.0 on Android 2.3 or above.

Please check out the code here:

Tuesday, November 27, 2012

IEEE Robots iPad App

IEEE just released an iPad app with detail description about robots around the world, including information and 360 degree photos. It is a must-have for robot lover:)


Tuesday, November 6, 2012

Android Robot - Auto pilot project

Android smartphone is a very powerful device, with GPS, digital compass, gyro, and accelerometer inside, which can be a great platform for making robot. Moreover, the dual core processor inside can perform intensive calculations as well.

In order to let my Galaxy Nexus to control the motors, I used the cheap wifi router: TP-LINK WR703N as a wifi to serial bridge to my motor boards. I can simply send tcp packet to control the motors.

My ultimate goal is making an autopilot robot using GPS, but the result is very bad as the best positioning accuracy is only around 10 meters. I think GPS reading should only use as reference, I may need to consider other sensor readings to calculate the best estimated position of the robot during navigation. 

Anyway, here is the screenshot of my app:

Here is the video showing the robot using digital compass on the phone to adjust the orientation:

For GPS and digital compass programming, I would recommend you to read this project:

The source codes show you how to read the compass and gps data, also calculate distance and bearing of two locations.

Finally here is the video showing the robot in auto pilot mode, use GPS and digital compass to navigate.

Thursday, July 26, 2012

Brain Wave Sensors with Android OS

 For disabled people, may be has difficulties to control a smart phone, now using Neurosky's MindWave Mobile (Brain wave sensors) as an input device to any Android device. Though the app presents very limited information, it is still a good demostration.

Friday, July 20, 2012

US Air Force Flapping Wing M.A.V

A very cool video talking about M.A.V (Micro Air Vehicle) using in battle field!

Tuesday, July 10, 2012

Color Identifier for Android - WhatColor

Found an interesting app on Android, it aims to help people with blindness or color blindness. It captures the images from the Android Phone and tell the user (via Text to Speech) what is the main contributing color on the screen. It should be  a good way for them to explore the world.

Please check out the demo:

Play store :

Wednesday, April 18, 2012

ROSJava - ROS pure java implementation.

ROS is a very famous open source project, Google and Willow Garage worked out a pure java implementation and it works on Android of course! So you can turn your smartphone to robot or just simply communicate with a ROS enabled robot. Check out the rosjava project:

Saturday, April 14, 2012

Geminoid F - Female Robot.

Geminoid F - the female robot looks like a real human made by Osaka University's Hiroshi Ishiguro, she can perform many different facial expressions and interact with people. She looks so real, you can see her blinking and singing like a human.

Also, Check out her singing here:

Thursday, April 12, 2012

Robot sits on your shoudler

it is so cool, you can go to shopping with another one at home using this robot. He can see what you are checking in the mall and also interact people with skype!

Monday, March 26, 2012

OpenQbo - Open Source Robot Linux distribution.

Qbo - the robot is definitely under my watch list recently, a robot can talk and learn is going to be released in the year 2012. The company is also releasing the OpenQbo, the Linux distribution that uses on the robot.

Basically, you can download the beta version here: and then boot from CD, you will enter the OpenQbo.

There are at least two things, you may try :

The Speech Recognition System:

The Text to Speech System:

Hope I can learn more how to use this OpenQbo and perform somethings cool later.

Tuesday, March 20, 2012

Top 12 Robotics Trend for 2012.

IEEE Spectrum published an article about the latest robotics trend for 2012. Be sure to check it out here:

List of the robotic trends:












Thursday, March 15, 2012

My 3D Led Cube Assembled.

Recently, I buy a 3D Led cube from mainland China, it contains 8x8x8 Blue Leds. It powers up by normal USB +5V source. Also, It comes with a pre-programmed MCU, you get few features build-in (looping some cool 3d patterns, lamp and audio visualizer) .

The audio visualizer is very cool and handy, you can just plug in an audio jack and play music. There is API for you to control the leds via i2c, but I don't have time to try.

 Let's see some photos:

Audio Visualizer Demo:

Tuesday, February 21, 2012

Motion Tracking on a wireless router (OpenWRT)

Setup: TP LINK WR703N (installed OpenWRT), a USB camera (UVC compatible)

The WR703N comes with a USB host, so let's connect a USB camera to it. Usually a modern usb camera should work without problem, let's telnet to the router (e.g. telnet

opkg update
opkg install kmode-video-core kmod-video-uvc 

Once the kmod-video-uvc is installed, you can now attach the USB camera to the router, and then you will find a device file appears: /dev/video0

That's mean the camera should ready to go.

so let's install the motion package:
opkg install motion

The WR703N doesn't have enough flash memory, so I copy the motion configuration file to /tmp (RAM), and then you have to edit the motion.conf:

change stream_localhost on to off
change locate_motion_mode off  to on

run it:
motion -c /tmp/motion.conf

View it:

Open a browser with the URL:

Demo Video:

Monday, February 20, 2012

My experience with OpenWRT on TP-LINK WR703N

Just got a TP-LINK WR703N, which is a low cost 3G-wifi router. It comes with a USB host, one LAN port, one WIFI interface, and a mini usb connector for power supply.

It would be a nice choice for hobbyist to hack and do somethings cool with it. For example, may be a WIFI enabled sensor is awesome!

Let's get started!

*** Do at your own risk! May damage your router ****

[Flash OpenWRT]

As it is a new device, I use the firmware upgrade web interface inside (, admin/admin) to flash openwrt firmware:

Download the latest firmware from the openwrt website:

Once it is flashed successfully, it will reboot and then you can try to telnet to it.
root@OpenWrt:/# cat /proc/cpuinfo

system type : Atheros AR9330 rev 1
machine : TP-LINK TL-WR703N v1 processor : 0
cpu model : MIPS 24Kc V7.4
BogoMIPS : 265.42
wait instruction : yes
microsecond timers : yes
tlb_entries : 16
extra interrupt vector : yes
hardware watchpoint : yes,
count: 4, address/irw mask: [0x0000, 0x0ff8, 0x0ff8, 0x0ff8]
ASEs implemented : mips16
shadow register sets : 1
kscratch registers :
0 core : 0 VCED exceptions : not available VCEI exceptions : not available

[Web Administrative Interface]

Once enabled telnet, you can try connect the LAN port to a router with internet access and it would be able to access the internet.

At this point, assuming you can access the internet in the openwrt telnet console. We are going to install the web GUI for easy configuration:

To retrieve the current list of available packages in the repository do
opkg update
then for a full LuCI installation without HTTPS support enter
opkg install luci
Enable (so that it will be started at every boot) and start uHTTPd:
/etc/init.d/uhttpd enable
/etc/init.d/uhttpd start
You should now be able to connect with a web browser to you router :

(More info on

[USB mass storage]
Assuming you still have the internet access, let's fetch in the usb mass storage essentials:

opkg update
opkg install kmod-usb-storage block-mount

Also, you have to install the file system and codepage related modules.
for fat32 (Windows compatible), I installed the following:

opkg install kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 

For other file systems, please check the following document:

Now, you can mount the usb disk!
mkdir /mnt/usb
mount /dev/sda1 /mnt/usb

[USB to Serial : Silicon Labs CP210x]

The usb driver for cp210x is not available in the pre-complied packages, I have compiled using openwrt build system (based on Kernel 3.2.5), you can download here:

put the *.ko in /tmp
and then
insmod /tmp/usbserial.ko
insmod /tmp/cp210x.ko

Once you attached the usb2serial adapter, the /dev/ttyUSB0 will be ready to use. Now, you can communicate with the MCU.

Official TLWR703N openwrt page:

Sunday, February 5, 2012

iModela 3D Milling Machine targets for hobbyist.

iModela is a 3D Milling Machine made by Roland. It is small in size, using CNC milling mechanism to provide 3 axis milling facilities. You can make 2D and 3D objects in your home with this small machine. It costs US$899.

Let'see how it prints 3D object: via

LifeLike android mannequin in Tokyo Store.

This female mannequin is the production of Dr Hiroshi Ishiguro of Osaka University. It looks very real to me, hopefully you will see more of these robots in Tokyo store. May be sometimes they will give you a smile when you passing by.

Monday, January 2, 2012

DIY IR remote on my Android Phone.

I have followed the instructions here: and here:

The basic idea is using the Left/Right channel on the audio jack to power up two IR LEDs, so when you play a special audio (wave) file on your phone, it will generate the appropiate IR signals to the devices such as TV or your Camera.

It is a very easy hack, may be a good project for the new year start.

What u needs are only 2 x IR LED and a Audio 3.5mm Plug! Of coz, your phone, I am using Nexus S.

I don't have a TV, so I generate a wave media file to trigger my Canon DSLR, please check out the video:

The signal is not very strong, so sometimes it is not working properly. It may be because of the choice of the IR LED or just the phone won't provide enough power to the LED. It may not be very pratical, but it is fun anyway. Hope u will enjoy.  Please do it @ your own risk, it may/may not damage your phone.

Tutorial on How to generate the wave form:

Canon Trigger Waveform:

My Sample wave form download here: