Main Site Documentation

Continuous rotation servos


I have thought about replacing the robotic wheels in the FEZ mini robot kit with two continuous rotation servos. In doing so, I am hoping that I will be able to more strictly control wheel speed. However, I have noticed that I can not control them as I had hoped with the Servo.cs driver. I think that I have located part of the problem in that GHI uses 180 degree servos and these are not limited to 180 degrees of motion.

Being that this servo and the standard servo that you sell here are identical in specs, I am hoping that there may only be a minimal amount of change that I would have to write to get these servos to do as I want. However, I am not fluent in Basic Stampese. Can this be done, or do I have to reinvent the wheel to get these to work?


The fact that the driver is written for a 180 deg servo shouldnt matter. The way continuous rotation servos work is that they normally have no rotation at a neutral position (90) and have full speed in one direction at position (0), and full speed in the other direction at position (180). Anything in between will regulate the speed and direction.


a normal servo has a pot meter inside. Setting a position (e.g. 1500) will move the servo until the pot sends a specific value back. Then the servo stops.

Continuous rotation servos do not have such a pot meter.
Continuous rotation servos have a center point (I do not know if it’s 90?).

So, sending a value higher then the center point will rotate left and lower will rotate right. (or vise versa).

Some people just remove a small plastic part to make it rotating.
Here is a guide:

And here is a guide for potentiometer


Robert, that information is very helpful, I have found a way to stop the servo, and change the direction. I did not need to convert the motor thankfully, and they have the pot exposed. It seems that 75 degrees will stop it, I will see how hard it is to get it to stop at 90.

I am trying to refit the servos for the Mini Robot Kit, the speeds seem to be about the same, and the ability to fine tune the speed is essential if you want a robot to go autonomous. I will also see about rewriting the Robot.cs to recover the ports being used for the normal motors.

I also have been thinking about using the Domino instead, as I have the servo controller, but that project will utilize 180 degree servos exclusively.

I must thank you guys and GHI for opening up a new world for me.


Do you have a FEZ addiction yet :wink: If not, you will be addicted soon :slight_smile:


As soon as I saw that I did not have to learn a new language to blink a light I was hooked. You want to addict me like I was a crack addict, give me an alternative to the Parallax Propeller. I want to have something that can do graphics.

But I would qualify as hooked, I have bought:
FEZ Domino Starter Kit, FEZ Mini Starter Kit, FEZ Mini Robot Kit, Accelerometer Extension, 8 additional LEDs, 3 additional buttons, Wii Controller Interface, Serial Servo Motor Controller, DC Motor Driver, Distance Detector, 5 Servo Motors, Bluetooth Interface, LCD & Keypad Shield and I will be getting a few more parts yet. I am even trying to adapt other parts to work with the Domino/Mini. Even have started substituting parts so that I can extend the robotics kit.

I have even managed to get my friend to buy your FEZ Mini Robot Kit, and a pair of XBee Expansions, after he saw how cool the FEZ Domino Starter Kit was. We were both hooked on being able to use C# to program these. We both are going to be future customers. But I want something to render graphics.


Back on subject, nothing is as pretty as a bunch of motors turning in absolute unison.


propeller was designed to do graphics and similar tasks and it does very well at doing so. FEZ was made to do complete professional products but also be fun to use. How do you create a file using propeller? It is 2 lines of cod eon FEZ :slight_smile:

Now combine propeller and FEZ and you have the perfect gaming system. See this
Maybe you are the one to take this project to the next level :wink:


Agreed… propeller and fez seem to be very complementary… they each excel where the other is weak:


  • graphics
  • real-time
  • bit banging


  • complex algorithms
  • interfacing to other systems
  • rapid development
  • easy debugging


No problem Gene, if you need more help just ask. :wink:

Speaking of the fez gameo. I was thinking of this last week. Is this project on ice? I would still like to see it. It would be awesome to develop some games on FEZ. 8)

However, as soon as chipworkx arrives, that might do the trick too. :smiley:


Sorry to resurrect an old thread, but the title fit:

I got a Parallax continuous rotation servo and used it with the servo sample code on this site (and Fezzer).

My preconceived perception was that I could just set it to go to x degree and it would rotate and then stop.

But, unless I am doing something wrong - very likely, the PWM settings only seem to control the direction and speed. So if I am “zero” degrees and want to turn it 180, I have to set the PWM, do a Sleep(), and then stop the servo via PWM setting.

I don’t stop it manually, it just keeps on going in the same direction with the same rotational speed.

I realize that the servo is not a stepper, but I can control it the way I hoped?



In between angles you set, a number in the middle will make it stop


So a deeper explanation for you.

Continuous servos you set speed and direction by setting the PWM signal from center. to make it only go 180 degrees you have to look up the speed of your servo scaled by the speed setting you use from the pwm signal from center and time it to 180 degrees.

If you want something that can only go 360 degrees and nothing more you are looking for a sail servo. They come in 1-4 full rotation. Most common is 2-3 rotations. Which goto a predetermined placed based on the pwm signal and nothing more.


Thanks for the replies.

When I bought it, I wanted to get the Standard servo, but they didn’t have it.


All I want to do is simply have an IR sensor pan -45 to 45, 45 to -45, with 0 being straight ahead.

When at -45 or 45, I’m going to take a reading from the IR.

Sounds like I’ve got to do what bstag mentioned…


I might caulk it up to a wrong purchase and get what you need - a std servo.
10 bucks and your running.