OUR NETWORK: TechLore Explore3DTV MyOpenRouter MediaSmart home TiVoCommunity See all... About UsAdvertiseContact Us

Learn about scoring Forum's Raw Score: 1.61771E7
November 2, 2008 01:24 PM

Categories: Rovio Development

Rating (0 votes)
  • 1
  • 2
  • 3
  • 4
  • 5
Rate This!

Member Avatar


Joined: 10/18/2006

DISCLAIMER: not based on official specs (there aren't any). Culled from other posts on this forum and external info including http://www.deviceguru.com/mobile-robot-packs-wireless-web-cam/ 
This is an evolving document. Take it FWIW.

Main Processor — Marvell "PXA270M"
Clock frequency TBD (there is  a 24MHz crystal)
Main Memory — 8MB RAM; 2MB flash

There are at least two serial ports (UARTs)
/dev/ser0 is used as the "NS" serial port to communicate with the North Star sub-system.
/dev/ser1 appears to handle the "mcu" commands for motor control. They are sent to the motor control in the main body.

The robot's USB port can be used in two different ways. If you plug in the USB before turning on the robot, the 2MB flash drive will appear as an unformatted disk volume (NOT RECOMMENDED). If you plug in the USB after the robot is on, the USB provides a serial port connection which is required for the Rovio Setup process.

The ARM processor runs the web server, webcam, media streaming and general robot control.
It runs the open-source "eCos" operating system.
The media streaming server is based on a variant of the "spook" media streaming server ( http://www.litech.org/spook/ ). It uses the "RTSP" protocol ( http://en.wikipedia.org/wiki/Rtsp ) to stream video and audio from the Rovio webcam and microphone, to your PC. Sending audio from the PC back to the Rovio (to play on the robot's speaker) is done using a proprietary method (see GetAudio.cgi).
The WiFi features are based on the "libertas" library. It connects to special WiFi features inside the Marvell ARM processor.
These features are very hackable in the main program. The RAM memory can be directly accessed using special URLs.

At the current time, WowWee has not released any open source material, so low level hacking requires a fair amount of reverse engineering.
Higher level programming is possible using special URLs from a PC program (either a standalone program, or special JavaScript inside a webpage). WowWee has released specs for most of the possible URLs:
http://www.robocommunity.com/download/14278/WowWee-Rovio-API-Specifications-v1.2/ (also available at the WowWee support site)
Inside the Rovio is a NorthStar (TrueTrack (tm)) detector to locate the robot in a room relative to a beacon. It is a separate module with its own Digital Signal Processor brain. It connects to the main CPU using a serial port.
Read more about NorthStar here: http://www.evolution.com/products/northstar/

The webcam camera is an OV7670 (although the firmware can handle other models). http://www.ovt.com/products/part_detail.asp?id=53

The audio codec and speaker driver is a WM8976 http://pdf1.alldatasheet.com/datasheet-pdf/view/98934/WOLFSON/WM8976.html
A 8051uC (WinBond W99100DG) appears to provide some periheral control. Details are sketchy.

Discussion:    Add a Comment | Comments 1-15 of 37 | Latest Comment | 1 2 3 Next »

November 2, 2008 1:43 PM

Your last point is interesting- can you tell what other models are usable? I've been thinking of how hard it'd be to swap out the lens for a larger diameter one, to let more light onto the sensor. A crude measurement was some 0.045-0.05" diam. for the existing Rovio lens. I have another from a Logitech webcam with a 0.125" diameter lens, with much more travel in the focusing dimension.

November 2, 2008 2:23 PM

> ... can you tell what other (camera) models are usable?
FWIW: There is code in the camera init for the following numbers/models.
2640, 7670 (that's the one in mine, OV7670), 9650, 7725, PO6030K
Google around for manufacturers (eg: PO6030K matches a "pixelplus" part). No guarantee they would work (it might be remnant code from some other product).
Others may be possible with an open source release. Might be tricky to hook up any replacement due to hardware issues.

November 2, 2008 4:20 PM

RobosapienPet said: >... Might be tricky to hook up any replacement due to hardware issues
RsP, have you opened yours already? If you do, could you post images of the camera board? I had mine open but forgot to take pix; I'm curious if there's any useful markings on the board itself (as to camera model).

November 2, 2008 5:36 PM

> could you post images of the camera board?
Not mine, but please refer to the excellent photos by 'tome'

November 3, 2008 10:13 AM

Unfortunately Tome didn't post pix of the camera board itself... mine bears the printing 'KOI-CM Board_001_V12'. Didn't find much of interest by googling that.

November 10, 2008 6:38 AM updated: November 10, 2008 6:39 AM

RobosapienPet said: Those four unsoldered holes look suspicious.

Just a thought, Rovio's firmware is under the belief it has two network connections, wlan0 and eth1

Edit : Doh! wrong thread.

RoboGuide - Your guide to hacking all things WowWee

November 11, 2008 2:10 PM

Can we use this for development?

For Technology News, Some tools and Information goto http://cmilian.spaces.live.com

November 12, 2008 11:22 AM

> Can we use (Microsoft Robotics Studio) for development?
Split into a separate thread:

January 6, 2009 8:42 AM

Hi there

Is it possible to read the data from the north star trough the computer program?
Or do we need to make some connections on the base station to get the data?

January 26, 2009 8:23 AM

Check the API - Get Report() - pg. 9 that's the command that gives it all up, unless your looking for nslib and sensor version - that's a seperate command.
The URL is ->
If you logon to your rovio and navigate to this URL you'll see the NS data.

January 26, 2009 8:25 AM

Oops in the URL the IP is the one you configured, mine is

May 25, 2009 4:37 PM

If it is an ARM9 processor, is it possible to wipe out eCos and install Windows CE 6.0? You would lose the Evolution/WowWee software and it wouldn't be able to find the charging station etc., but MSRS runs on Windows CE and you could start doing some really interesting things with this bot.

October 1, 2009 11:08 AM

I'm wondering how you know the rovio uses the eCos OS?
As far as GPL violations, I share your frustration.
I believe that you need to inform the actual copyright holders of the violation so they can pursue it. I would do it, but I haven't any proof of the violation, as all I've got is the binary.

Do you have a good disassember available for the PXA270M?

Thanks for your reports it's been helpful.

All things considered, a byte is 8 times smarter then a bit. If that were true, then a byte should only store numbers up to 8. Could it be that a byte is greater then the sum of it's parts?

October 6, 2009 9:55 AM

Not sure there is GPL violation they could get license from RedHat.
Looks like they use lots of GPL stuff anyway.

Best dissassembler is probably IDEA Pro from datarescue.
Free one can be found in gnu tools available in eCos distro, though it is a bare metal disassembler.

Anyway you'll need to extract code from Firmware image, it is a few zips buried in some archived format I don't know about.
I extracted some looking at PKZIP markers but wasn't able to go very far.


October 6, 2009 11:01 AM

RedHat cannot arbitrary license GPL software that is not theirs. I also didn't see any mention of RedHat in the copyrights.

The bin doesn't appear to be compressed to me.

All things considered, a byte is 8 times smarter then a bit. If that were true, then a byte should only store numbers up to 8. Could it be that a byte is greater then the sum of it's parts?

Discussion:    Add a Comment | Back to Top | Comments 1-15 of 37 | Latest Comment | 1 2 3 Next »

Add Your Reply

(will not be displayed)

Email me when comments are added to this thread


Please log in or register to participate in this community!

Log In


Not a member? Sign up!

Did you forget your password?

You can also log in using OpenID.

close this window
close this window