ANN: 32-channel servo controller project

Hi all!

I've reached a point with my 32-channel servo controller project where I can actually go to public with it. It is a small ATMega48 based circuit and can control up to 32 standard R/C servos with around 7 bits of usable precision per servo. If you are interested, please take a look at the project page:

formatting link
Note that the project is not finished: I will have to implement the TWI (aka I2C) interface once I have some free time.

As always: all feedback is appreciated.

Thanks, Andras Tantos

Reply to
Andras Tantos
Loading thread data ...


Interesting project.

Please correct me if I am wrong. Are you driving the servos with a pulse that varies from 0 to 3.3V? Does this work when the servos are being run off of 7.2 volts or higher? I'm just curious, since I have always struggled to make sure that my servo pulses are pretty close to the voltage that the servo is being run off of.

Any insight would be appreciated.


Andras Tantos wrote:

Reply to
Wayne C. Gramlich

Thanks for the comment.

Well, I don't think it would work with those servos, however it depends on their input stages. Since many servos have an analog (I would guess bipolar) servo controller IC, they might have their input threshold set independent of the power supply. But others might have different experiences. I know that it works with servos running from 5V. You can also run the ciruit from a 5V supply, though at that point I would recommend a separate power source from the one for the servos.

Regards, Andras Tantos

Reply to
Andras Tantos

Dear Andras Tantos,

Reply to


Thanks for the reply.

a) For the resolution, it might be possible to increase it with a couple of bits for 16 channels, for the other 16 it has to be 8-bit total (unless I do something really crazy with the PWMs in the AVR). The 7-bit resolution comes from the fact that the lower 100 or so values represent a pulse train that is not valid for a servo. My experiments with a Hitec servo shows that values 61...220 gave valid instructions to the servo. That is almost one degree of resolution.

b) I'm afraid the baud-rate cannot be increased, unless I change the xtal. With the current clock-rate its not possible to generate that boudrate with enough precision. I'll see if there's a quatz that can satisfy that need.

Ordering: I've put all the design documentation online and you're more than welcome to build your own. If you stil want to order one, I can put some together and put it on E-bay with a buy-it-now feature or something. Just let me know if you're interested. I guess I would have to calculate the price first...

You might also want to wait until I can finish the I2C communication code unless you have an AVR programmer so that you can upgrade the FW once that feature is done. OTOH you might not be interested in the I2C functionality at all.

I thought of this device as a computer/microcontroller perihperal and I didn't intend support any interfaces other than the serial port and the I2C bus. While it would be probably possible to support the JR RC format as well I don't know how much value would it have, especially since that format only supports 8 channels if I understood it well. What would the application be?

Regards, Andras Tantos

Reply to
Andras Tantos

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.