Intro to Marty Behaviour

These articles are for Marty the Robot version 1

If you've received your Marty after 2020 it's likely you have a version 2!

Congratulations on getting a Marty!

You’ve now got a robot friend for life!

But, there are several things you should know about caring for your Marty, to ensure a long and happy relationship.

Waking Marty up

Marty’s on switch is on the back, and you can tell if he’s switched on because a white light will appear, as shown below.

If the light doesn’t appear, it might be because the battery is flat or not connected…


Charging Marty up

Marty is charged by a 9V barrel-jack input at the back. You should have received a special charging cable in your Marty kit that’ll let you charge Marty from a standard USB port. When Marty is charging you’ll see a blue glow appear, that’ll disappear when the battery is fully charged and when the charger isn’t powered.

Marty can be used while charging - but don’t leave it plugged in and turned on constantly, and bear in mind that with the USB charger you might not be able to charge fast enough to keep up with heavy use - in that case it’s best to just turn the robot off and leave it to charge for a couple of hours.


The battery charger will turn off automatically after a while (for safety). So, if you leave Marty plugged in and turned on for a long time, then eventually (after about 8 hours) the charging circuit will turn off. At that point Marty will just start to run down the battery until it runs out of power. You’ll need to unplug and plug back in the charger to recharge.

Low Battery warning

When Marty’s battery starts to get low, Marty will start beeping at you. You’ll initially hear it briefly when moving around, and that shows that the robot getting a little bit tired and will need to be charged soon.

When the battery gets flatter the low battery alarm will start going off constantly. After it’s been going off for a minute Marty will turn off all the motors. The Robot will still respond over WiFi, and the power light will still be on, but it’ll refuse to move around until you’ve charged up the battery.

Word of Warning

Note that, depending on what interface you’re using to talk to Marty (ROS, Python, Scratch,…) the default state of the motors (enabled, disabled) will vary. Same goes for the other protections and safeties.

Enabling and Disabling Motors

When Marty is turned on, each of the motors can be enabled or disabled individually. If a motor is enabled, that motor will accept commands, move, and hold positions. If it’s disabled, the motor can be freely moved by hand. Each of the programming interfaces will let you enable and disable the motors.

Fall Protection

Marty doesn’t mind falling over, but he does like to try and make sure he doesn’t get any broken joints. Using the built in accelerometer as a tilt sensor, Marty can detect if he’s falling over. When fall detection activates, Marty will stop doing whatever movements he’s doing and turn off all his motors.

You can reactivate the motors to get him to move again.

This feature might also activate if you pick up Marty enthusiastically!

Motor Overload Protection

Marty’s motors are only little, and there’s only so much force they can take. So, to protect them from damage we measure how much force is on them, and if they get too stressed out they’ll turn off. That can be either a motor gets too much force on it, or if there’s a sustained load that would overheat the motor.

The motor overload can be a bit annoying, but it’s really useful for protecting Marty from damage. It can be turned off if you really know what you’re doing, but we don’t recommend it - breaking a motor isn’t very fun!


There is no motor current detection on the eyebrows, so please don’t push them by hand unless the motor is disabled!

Buzz Prevention (Getting Comfy)

When Marty has finished moving, we measure how much force is on his motors. If there’s a little bit of force, Marty will adjust the joint to try and get rid of it. This stops the servo motors “buzzing” if they end up slightly away from their commanded position.

This will mean that Marty might move around a little bit of its own accord when a program finishes - the Robot should end up somewherewhere stress on the motors is reduced. This leads to longer battery life and happier motors. Yay!

Lifelike Behaviours (Getting Bored)

Once Marty has been activated, but hasn’t been told to do anything for a little while, it’ll eventually probably get bored and do a little movement.

This might be swinging arms, tapping a foot, or looking angry.

At the end of each lifelike behaviour, Marty will move the eyebrows to show the battery voltage. The lower the battery, the angrier they’ll get!

Lifelike behaviours will happen even if motors are disabled, but the motors will be disabled again once they’re finished. They can be turned off using the client libraries (Scratch, Python, ROS, JS…), or if Marty is lying down.

How to train your Marty

Hop across to the get started guide for info on how to program your Marty!

Task Runner