How did I brick Pleo and returned it back to life.

You’ve probably heard about Pleo – the greenest and coolest dinosaur available on today’s market. My daughter got one for her birthday recently from her loving parents. She enjoyed it for a few days and then just got bored because it was the same moo, mrrr and urf and not much walking at all. Well, two more days of interest were raised with additional downloadable personalities, but that was it.
I tweaked the dino into something more interesting and made it wireless, so you can issue commands to it remotely (via bluetooth). Ok, one more day of fun. Then I wrote something a bit more usable then Dinomite and other tools available from Ugobe website. The development was going well until one day Pleo didn’t wake up …


Hopefully the symptoms of his paralysis were pretty encouraging. It was still accessible from both USB and com ports and when I was turning it off it was clicking slightly. So after checking all parameters I found two visible problems:

  1. It ran out of disk space. It appeared that either my program or Dinomite was saving images to Pleo’s internal flash and filled it completely. If you plan to play with Pleo’s “advanced” features never ever write anything to its internal memory. Create all files on flash card only!!! Otherwise you will kill your pet just like I did and probably even worse.
  2. Two servos were reporting wrong parameters like this:

    mu: sensor: 0 0 91 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 28 0 28 0 0 0 0 0 28 1 0 0 1 0 26 0 0 16 0 285 0 
    mu: joint: -2 0 -2 0 -2 -2 4 0 1 0 -1 0 0 -5 ERROR: low: MC_GetMotorStatus Failed: joint 14 pos -10000
    1 ERROR: low: MC_GetMotorStatus Failed: joint 15 pos -10000
    0 
    

The second problem seemed to be gone after cleaning up the disk space (see below) and “joint neutral” command. I’m not quite sure that was the actual problem, because servos 14 and 15 are marked as “NONE” anyway, so possibly this is the way everything should work.
The other problem was more tricky. I’d be happy to remove the extra files with photos and sounds, but didn’t find the command in Pleo’s help. Dino-mite appeared to have “Remove File” button but it was disabled. I enabled the button clicked it and after warning dino-mite tried to issue “rm ” command that failed. It looks like in 1.0.2 LifeOS supported removing files and in 1.1 Ugobe just removed it.
After thinking for awhile I found file named result.txt of size a bit less then 1K, so I just did “copy result.txt ” for every file I created. That didn’t erase the files but at least freed up some space.
After that operation I was able to play alternative personalities from flash card, but not the one supplied with LifeOS (Pleopm). I even put the default personality to SD and tried to play it but it failed with Adler32 checksum error.
Then I tried to reflash the firmware, but updater (both USB and SD) checked the current version of LifeOS and refused to upgrade it demanding the previous version of OS (1.0.2). I googled for the old firmware but it looked like it was carefully removed from all websites. So if you got into this situation you have to write to Ugobe customer support and as multiple people reported they will provide you with the updater so you can downgrade the OS to 1.0.2. I used some different approach, but that doesn’t matter – here you and me are with non-responsive pleo and 1.0.2. The rest is no-tricky: just reflash Pleo with 1.0.2 (it doesn’t check the current OS version), then reflash it with 1.1 again and you will get your fresh newborn Pleo, unfortunately with lost personality, but quite alive. Good luck!

11 thoughts on “How did I brick Pleo and returned it back to life.

  1. Hi, i read your problem,
    i had the same, but i have a big problem,
    i cannot find anywere the os downgrade.
    Can you tell me where to download it or
    send me a copy?

    thank you very much for your attention,
    i bricked it only after 1 day of life!!!

  2. Marco,

    I think you should contact Ugobe technical support. The problem is that they are the only guys who can distribute the firmware. I’ve heard they are nice guys, responding quickly and they helped at least one person with downgrading (read about that in forums).

    Andrey

  3. thank you for information,
    just to inform you, i ask to tech support, they send to me a patch in realtime, 20 minutes…
    after the patch, i reload 1.1 and all is working!!
    thank you very much for your attention and your clear response :)

  4. I have been trying to contact ugobe to get the downgrade file as my doughters Xmas present has the same error
    mu: sensor: 0 0 79 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 28 0 28 0 0 0 0 0 28 1 0 0 1 0 34 0 0 16 0 300 0
    mu: joint: -30 40 -27 35 -45 -90 -45 -90 -2 8 58 5 25 -37 ERROR: low: MC_GetMotorStatus Failed: joint 14 pos -10000
    1 ERROR: low: MC_GetMotorStatus Failed: joint 15 pos -10000
    0
    Could you contact me and possibly help me?

  5. Wayne and I had some off-website conversations regarding the problem. The problem was finally resolved by Ugobe technical support in almost no time. I’m getting sorry that I didn’t have to talk to them yet :) Well, hopefully I won’t have this need.

  6. I wondered whether you had noticed this:

    I have found that on the small circuit board that holds the USB connection there are some mount points/solder points labeled “RESETSW” and “SW2”. The long black button that now pokes out of Pleo is mounted right next to this area and is labeled “SW1”.

    I read “resetsw” as “reset software” and that there may have been a button at one time for doing this.

    Now I am super curious about what those mean: Did Pleo once have a hardware switch for resetting the software? If so, is that functionality still there – that they merely removed the switch, but left everything else as it was? This could be potentially helpful for those who have bricked Pleos.

  7. TMS,

    Unfortunately (or fortunately) I didn’t get that deep into Pleo’s internals. It is still my daughter’s favorite toy, so I can’t damage it much. The only thing I took out was that tiny cover on top of serial interface and that’s it.

    Anyway, so far all my problems with Pleo were easily solvable software way. And its OS has a command to reset the OS from command line. Unfortunately it doesn’t help in some situations, so full reflash is required.

    Andrey

  8. Please post a download to life OS 1.0 and 1.0.2
    Ugobe is no longer in business and I know they will not sue.
    There is no other way us Pleo owners can get it.
    Thank you!

    Very Best Regards,
    Joshua

  9. Joshua,

    PleoOS is property of Ugobe and I don’t think it would be right for me to distribute something belonging to someone else. However there is another person (Bob the Pleo) who is not so picky and he published all the software/firmware in his blog: http://bobthepleo.com/forums/index.php?board=2.0. Maybe he is just fighting for the survival of his kind? Anyway, you can get what you’re looking for from that website. LifeOS 1.1 is still available on Pleoworld.com (the website itself is still up from time to time).

    Regards,
    Andrey

  10. Hi, bit of a longshot, but do you know how Wayne fixed his pleo? Mine has the error:
    ERROR: low: MC_GetMotorStatus Failed: joint 15 pos -10000,

    too, but on all joints, and the reset command doesn’t seem to help.
    Thanks,
    Gareth

Leave a Reply