a new era in Rovio Firmware Hacking and Enhancement

125 posts / 0 new
Last post
vinnie
vinnie's picture
a new era in Rovio Firmware Hacking and Enhancement

Great news for Rovio owners... we can finally start hacking code in firmware! This means users can now edit/add the microcontroller code and build custom firmware. This thread is being started to bring in new developers and ideas for Rovio firmware changes.

It started in this thread about eCOS - at the time Wowwee had finally publishing the firmware source code to Rovio. The project was made with ADS 1.2 and CodeWarrior.

The Wowwee Rovio firmware source code is available for download here.

Another member shared a link to a discontinued versions of the ARM Developer Suite v1.2 that was used to compile and link the code. The website is in Chinese.

Chris75 confirmed that the older tools would create a valid target image that could be downloaded into the Rovio flash memory. One version with no significant changes has been posted here by ErFanOnline. Use the Firmware Updater to update your Rovio via USB connection. 

This point has been a long time coming, but now there's a lot that can happen that hasn't before.

 

UPDATE: 11/2/2011

The full schematic for the Rovio appears to be shown here. There's even a first page that shows how the cables and connections run. Note that the 5.Sensor board has two I2C pins shown on it. That's the place that would be perfect for an additional I2C device to drop in. The new device could reside on the same I2C bus, and intercept and respond to commands sent via the CGI based API! 

In yet another post a member gave this link for ADS1.2 downloading.

 

UPDATE: 2/1/2012

The old link for schematics is not working, but it shows up on another webpage from the manufacturer here.

There have been a number of users releasing their own custom Rovio Firmware builds. Links are provided in the comment threads. 

vinnie
vinnie's picture

I just confirmed the firmware image from ErfanOnline works with the Firmware Updater software.

FreddyA
FreddyA's picture

Hello vinnie, might pull my rovio from under the bed (night light). Curious to know what kinds of cool things could be possible to acomplish in the near future and what path this will take. Have seen this http://www.ros.org/wiki/rovio which has vision, and I dream of a kinect mounted rovio autonomously navigating. I have the hardware just not the brains. Rovio is cool, and deserves some smart people like you with interest to hack it. Hope I have a working battery after so long sitting on the base glowing away...

Freddy

Gandalf
Gandalf's picture

I am thinking if Rovio can logon the music web server and play online music, while it wander around the house... Can it avoid obstocals?

RoboaRovio
RoboaRovio's picture

wow those guys on Ros.org are 'way out there' perhaps you could tap into that lot for us vinnie. I also agree with FreddyA in your hands Rovio could actually work properly for once rather than just being a late night toy to chase the cat with.
On reflection though it's just a mark 1 basic robot with cheap components but obviously the idea itself has a lot of potential. I have used it in my Phd research with an elderly house bound lady and her 3 middle aged off-spring who live hundreds of miles away and it was bloody useless & so were the offspring. However, everyone liked the idea of an operable webcam, including her carers - despite thinking that they were being spied on, which they were of course!!!
I do think a high tech, quality version of Rovio will come along eventually - maybe even one that can sit on your lap and be stroked whilst projecting images TV, or video onto the wall or ceiling - whilst your Skyping your son who lives half way round the world.... dream on

Anyway let us know when you've done it vinnie :)

vinnie
vinnie's picture

@Roboa Rovio: I'm planning to spend some time with this in a couple of weeks, but it will take a good bit of time. I'm new to the eCOS platform and the web client interface. 

@Gandalf: I agree that the brightness adjustment range needs fixing, and the AGC and framerate. I think these will require only small changes to Rovio firmware.

@FreddyA: Thanks for the link on ROS. I didn't realize it had gotten as far as it had with Rovio. It looks as promising as RoboRealm does - although I have not spent any time with either of these PC based "higher intelligence" products.

wolfmanjm
wolfmanjm's picture

Another possible firmware fix, if it is in firmware, is to fix the shutoff voltage it uses to decide the battery needs recharging. Currently it decides that when the battery gets to 6v it will shutoff, this is too high as 6v is the nominal voltage of the 5 cell battery back, which can be 7v after a recharge but quickly drops to 6v. This is one of the causes of such short battery life. I find after the shutoff the battery is still at 6v which means it has plenty of juice left.

vinnie
vinnie's picture

I get an error from IPCam builder about failure to copy the IPCamIntall.exe file.

Anyone else get that?

chris75
chris75's picture

@Vinnie: I get this error too but it's after rovio firmware is built. So ignore this.
Looks similar to problem compiling client stuff, I guess wowwee cut some stuff from the source tree before posting.

@Wolfmanjm: From what I've found MCU board daes the shutoff and Rovio can't prevent it. I've not figured a way to avoid this.

Chris

Paranosh
Paranosh's picture

When i compile the camera test give a 57 errors and 246 warnings, it's normal?

edit: Solved..it.s a windows 64 bits problem, i used another computer with a 32 bits os and compiles correctly.

RoboaRovio
RoboaRovio's picture

I thought this link may help interested others - ARM -1.2
But please don't quote me!

Paranosh
Paranosh's picture

Vinnie this error can be, because the script (no winbond, hta & .js) don.t found this file when try to copy but the firm it.s compiled correctly.

(Integrate usb driver of VCOM_Driver to IPCamInstall.exe)

ps.-RoboaRovio thanks for the link :)

vinnie
vinnie's picture

@RoboaRovio: I was able to get the file from your link, and it had an ADS12 Windows Patch that was separate from the ARM ADS Installer. Is that required? It is a very recent file, and all the others are from 2001.

RoboaRovio
RoboaRovio's picture

I'm not sure vinny I haven't installed it but looking through the main directory I think maybe not. Whatever you do just proceed with caution and read everything thoroughly! It's a link and definitely not mine???

RoboaRovio
RoboaRovio's picture

 

RoboaRovio said: I'm not sure vinny I haven't installed it but looking through the main directory I think maybe not. Whatever you do just proceed with caution and read everything thoroughly! It's a link and definitely not mine???

 

Ok I've installed ARM 2.1 now and opened up some Rovio source files in CodeWarrior and all seems good, not that I would actually know of course but I thought if I provided the link then I should try it out.

I hope this helps - so when can we expect a new firmware which allows Rovio to jump up on your lap and purr? Laughing

Paranosh
Paranosh's picture

I succesfully added Rovio Brighter/Night to the rovios help web page :P :P :P :P :P :P :P

I must to investigate why is in http://192.168.4.51/help/index.html.html and no in http://192.168.4.51/help/index.html

hehheheheheeh....to be continued

i know why jejejje (fckng windows) if anybody want to check it i can upload the firmware image.
I no take any responsability about the firmware image.

RoboaRovio
RoboaRovio's picture

way to go Paranosh, a little early for trying out new firmware yet but crack on and keep us updated

Paranosh
Paranosh's picture

Anybody know where is the agc "script" i can.t find it :S

RoboaRovio
RoboaRovio's picture

try roviosrc20100408\Host\AMR\Include

vinnie
vinnie's picture

 

Paranosh said: I succesfully added Rovio Brighter/Night to the rovios help web page :P :P :P :P :P :P :P I must to investigate why is in http://192.168.4.51/help/index.html.html and no in http://192.168.4.51/help/index.html hehheheheheeh....to be continued i know why jejejje (fckng windows) if anybody want to check it i can upload the firmware image. I no take any responsability about the firmware image.

I'll try your image! Can you upload it here?

 

Paranosh
Paranosh's picture

Vinnie, today at nigth (if all works correctly) i will post the firm, i.m working on a simple html "miniweb" page to add roviobrighter and i.m thinking to add too anything like on/off the rovio blue ligths.

RoboaRovio thanks, but i need the html code, still is so soon to modify the rovio.s c code

Rosario
Rosario's picture

Wow, such a great news over here! Thanks a lot for sharing I appreciate it! You actually made my day today!

 

 

 

_______________

play mp4 http://freemp4player.org/

zinkoxyde
zinkoxyde's picture

Vinnie, good catch.
I tried, in vain to get ADS from ARM. I sort of gave up because I wasn't really interested in binary hacking (not when stuff like the arduino is around).
I might pick this back up.

Paranosh
Paranosh's picture

I must wait for the next weekend, i will release the firm then..actualy it.s so ugly because i.m a very bad html coder (sorry), if anybody has experience with html coding please pm.

Paranosh
Paranosh's picture

well if anybody wants to check it under his/her responsability

http://www.megaupload.com/?d=MCX1RWO7 .-outdated.-

to access at the "new" function are clicking in the wowwee logo (up rigth)

RoboaRovio
RoboaRovio's picture

 

Rosario said: Wow, such a great news over here! Thanks a lot for sharing I appreciate it! You actually made my day today! _______________ play mp4 http://freemp4player.org/

Rosario you definitely should get into it - Codewarrior allows you to edit the source files in C and C#, not that I would know how to. It would be good if we could all help to make Rovio better for everybody else who has one, thats what forums are for, hopefully?

 

vinnie
vinnie's picture

Paranosh said: well if anybody wants to check it under his/her responsability http://www.megaupload.com/?d=MCX1RWO7 to access at the "new" function are clicking in the wowwee logo (up rigth)

This is a big firmware image! What did you add that takes up 500k of space?

RoboaRovio
RoboaRovio's picture

Paranosh said: well if anybody wants to check it under his/her responsability http://www.megaupload.com/?d=MCX1RWO7 to access at the "new" function are clicking in the wowwee logo (up rigth)

Paranosh well done I have downloaded your first firmware upgrade but can I just check before I go for it

1. I can just downlod the last firmware from Rovio Downloads and install if any thing goes wrong ?

2. Do I just go into Rovio's default interface >settings>system and browse to 122.bin and click update

Big thanks

RoboaRovio
RoboaRovio's picture

Paranosh said: well if anybody wants to check it under his/her responsability http://www.megaupload.com/?d=MCX1RWO7 to access at the "new" function are clicking in the wowwee logo (up rigth)

Paranosh your updates are very cool & of course easily accessible. It would also be very nice if you could add turning the blue lights out as one of the hacks, I followed a great little light mod by milw click here which will now allow me to turn off Rovio's new modified blue headlights. I love the new page/link too so keep up the outstanding work & definitely keep us informed...

vinny are you capable of writing/editing source code in C via CodeWarrior?... and could we write our own procedures and also our own firmware upgrade... now that really would be cool - particularly exchanging lines of code??? not that I would have anything to exchangeWink

vinnie
vinnie's picture

@Paranosh! Bravo! This is great! I can see you new web pages, and now appreciate the bigger image - nice tripod robot picture! I expected some simple HTML pages, but you've got CSS and Javascript on them. Sweet!

I like your linking the "Hack" pages to the Wowwee logo in the upper right. I was able to configure and use the "Gandalf Rovio Brighter" page with no problem. Even the help link worked on it.

You forgot the "About" page. Wink

vinnie
vinnie's picture

@RoboaRovio: I was going to tell you that I'd used the USB cable to update Rovio, and tonight I tried the webpage link - and was impressed that it worked. I like over the air updates - you don't even need to be in the same room as Rovio!

Access to the source code does give us the ability to change how Rovio's basic functions work. I think that's what Chris75 was working on. I'm not a super coder, but I do think that I could try some simple changes.

Extending and enhancing the Rovio link to a PC is one goal, and enhancing the on-board sensors and "effects" via the I2C bus would be another. 

I do think Rovio lacks for "user buttons" on the top. I really think he should be able to go-home via a quick press of a button.

Pages