Using 4 omni wheels and 4 motors

I wanted to experiment with omni wheels. After reading several posts, it appeared that the most interesting approach was to orient the wheels in an X pattern. I have now built XWing4Omni, and have written a program to demonstrate several of the possible movement patterns.

Please refer to the great graphics shown in:
Omni and Mecanum Wheels

Here is what the bot looks like:
IMG_2223 IMG_2229

I have also attached a copy of the project:
XWing4OmniRev1.1.iqblocks (41.6 KB)

The program uses the up/down buttons to select 1 of 7 movement modes (8-10) are not used.
The left touch LED is used to select either forward(green) or backward(red) movement.
Use the check button to cause the bot to execute a short and slow movement.

This program demonstrates autonomous operation. In the future, I plan to create a rc controlled bot.
The right joystick forward/backward would control the bot f/b movement.
The right joystick left/right would control strafing to the left and right.

The left joystick left/right would cause the bot to spin left or right.

I am pretty impressed with the precision and repeatability of the movements. If I move forward, then backward, I pretty much end up in the same spot. Not bad!


Just curious, what movement modes are there? Is the difference speed or something like that?

1 Like

The movement modes include:

  1. move straight forward or backward
  2. strafe right or left
  3. upper right 45 or lower left 45
  4. rotate right or rotate left around the midpoint between the right two wheels
  5. spin right or left
  6. rotate right of left around the midpoint between the rear two wheels
  7. upper left 45 or lower right 45

And more/different modes are possible, since each wheel can spin forward, reverse, or stop.

And yes, I suspect the bot moves at different speeds, depending on the mode. For example, it is quite good at spinning around. Not so fast at moving straight or strafing. It is pretty good at moving at a 45. The more wheels that are spinning the same direction, the faster it moves. It is fairly complex, which makes it interesting.


This is one of my favorite drive bases, it’s fast, super maneuverable and fun to watch people’s expressions when it drives. It’s one of those “that can’t work, how does that work” kind of moments.

Your base is much more elegant than mine, I just set motors at the edges of the big squares (they were part of the bridge from a few years ago). I use the biggest corner connector on the front and the rear motor bracket to keep it in place. It’s about a 10 min build.

Thanks Ernest for another cool build.


Yes, this is an inherent property of x-drives. This page gives a good overview of why that is.


is dis for sa or just for fun
but nice X-drive personally in iq i would do H or kiwi

Time to rebuild my tower takeover bot after this design

this is iq

1 Like

I can adapt the design was what I was saying

Lots of holonomic drives exist for edr, this isn’t anything new.

^^^ tons of x-drives out there already. Doesn’t make much sense tho for tower takeover. X drives take up a lot of space, so making a cube tube x-drive is nearly impossible if you still want to fit two cubes in the large zone. X-drive trays are viable, but also pretty hard to fit. There’s also a loss in torque with this configuration.

4 Likes (89.0 MB)

Here is a video showing several of the ways the bot can move.

I was not able to directly upload the movie file. It is a .mov file from my iPhone. Shouldn’t I be able to directly upload a movie file? What am I doing wrong?


Oh wow that’s really cool
Was that an autonomous routine or a driver control?

The demo is run autonomously.