REACHY's head doesn't move, how can I repair it?

I used this function to move head.

reachy.head.neck.goto(thetas=(0, 0, 0), duration=1, wait=True)

I want to swing to the front face. I tried many thetas. But it doesn’t work.

I used hand to move REACHY’s head. I found this parts can’t move.

parts image

how can I repair it?

The following is the current situation.

current situation video


I can see on the video that there is one of the three motors of Orbita’s mechanism which is broken, this is why you can’t move move it and the two others can move.

To know where the problem comes from and why it is broken, I need to know if you have already dismantled something or made any modification on the robot before this problem.
For example, if you have tried to remove the head and put it back, you may have made a mistake when you connected Orbita back to the head
If not, it can be a manufacturing defect.

Anyway, the motor seems to be broken and you can’t replace it easily. Please send us an e-mail to see how we can replace it and upgrade your robot to the new version.

Best regards,


I Am Marijn Vantieghem and i am currently working with a group on reachy(2019 version).
We are trying to make a framework for robots but are struggling with the movement of the head. If we try to use lookat function it doesnt go where it should end. We think that one of the disks doesnt want to move but if we use the goto function then it does go to a loccation where all the disks are used. But these values are really difficult to use in calculation so want to try to use lookat because it uses XYZ.

Sorry for the late answer.
The coordinates system used with the look_at can be quite tricky to use. Can you try the commands from this section of the documentation and check if you can reproduce the movements showed in the video in it? Even though the documentation is for Reachy 2021, the look_at function is the same in Reachy 2019.

The problem is that the hardware zero doesnt work if we want to use the look_at coords it sometimes works and other times it doesnt. And when we reboot the Rpi then the coords change so we cant really use the look at function or the goto fucntion with thetas coords.

Hello Marijn,

It seems you have an issue with the zeros of the neck.
Do you have a file named “orbita_head_hardware_zero.npy” in your folder reachy-2019/software/reachy ?

If not, the initial position of Orbita’s disks are wrong. To solve the problem, you have a few steps:

  • put the head by hand so that it looks forward like in the picture below (it should look a bit to the bottom since the torso is naturally inclined 10°).

    This is the initial position of Reachy’s head.

  • Then, run the python script named “” in this folder while you keep the head in this position.
    It will save the 3 disks zero positions in the .npy file I talked about before.

Tell me if you still have issues after that, or if there is something that you don’t understand.