FAQ (Frequently Asked Questions)

Q: Why?

A: Analogue servos are too limited in their scope. They require a constant PWM pulse train to operate, and have no real world feedback from what they are doing. Replacing the guts of an analogue servo to provide more features was the next logical move. OpenServo allows for more features to be added including position, current and voltage feedback. An I2C interface was chosen as the best way to go as it allows for a simple and established communication protocol that is supported by a wide variety of micorocontrollers.

Q: Does the OpenServo support standard R/C servo pulse control?

A: Yes, this feature has been recently implemented. You can now input a standard TTL-level R/C pulse signal to the MOSI port of the OpenServo to control its position with 10-bit resolution. Please see this page to learn more.

Q: Why did you change to the V2.x OpenServo? The size of the chip is offputting..

A: This was done for a few reasons. The V1 platform uses the Atmel ATTiny45, which due to it's limited memory, was filled very quickly. The Tiny45 MCU was also limited in IO's being an 8 pin device. The Atmega8/168 was chosen for it's near code compatibility with the V1.x range of sources, needing only minor modification. The larger devices also give the OpenServo community much more space to experiment with features for the platform. Development of the 1.x hardware branch may continue when a larger memory device is available, and there is sufficient community demand. Any new developments are automatically backported to the 1.1 branch of the software, and most features will continue to function.

Q: What are the connector pinouts?

A: The pinouts have been documented on the OpenServoPinout page

Q: Where can I buy an OpenServo?

A: There is an effort by community member robotjay to sell both PCB's and completed boards. This is currently a work in progress, and should not be taken as official sale of the OpenServo platform. You will need to communicate your intended purchase in this forum thread for availability and status.

Q: Why did development of the OpenServo 1.x branch stop?

A: See question above. There are a few reasons that development of this branch was stopped, despite it's attractive form factor. The main barrier to continued development of this branch was the memory availability in the ATTiny45 device. This limit would have been surpassed very quickly without significant optimisation specific to this chip. There are newer ATTiny devices in Atmels pipeline, and we await the ATTiny85. This device promises more memory, and the potential is then available to test the 2.x code compatibility with this device.

Q: The OpenServo pages keep referring to a Dimax I2C/TWI interface to talk to the OpenServo, can I use any other?

A: Short answer, yes. The OpenServo platform is a generic I2C/TWI device, and behaves on the bus as such. You don't need any special hardware to use the OpenServo, although flashing the device becomes more difficult as the flasher available is platform specific. If you wish to flash your device, you can write your own code, or use a contributed API for the purpose.

Q: Why does the OpenServo need at least 6V to run?

A: Short answer:- The OpenServo platform was designed to run from a NiCad R/C battery pack which generally outputs 6v-7.2v. The OpenServo platform consists of two section; the controller circuitry and the H-Bridge. The controller stage has it's own regulator to allow a constant and stable operating voltage for accuracy. The regulator used requires at least 6v to maintain this stable operation. You can modify the OpenServo to run from an external regulated +5V power supply which will be detailed at a future time. The OpenServo has also been tested running at 3.3v operation with a regulator swapout. You can then run the OpenServo from a 5v supply source.

You can see this thread for information regarding this subject

Q: My OpenServo keeps resetting itself randomly

A: Check for shorts on the board. If this does not solve your issue, you may need to solder a 0.1uF ceramic capacitor directly across the motor terminals. This helps to filter out some of the induced noise that causes the onboard AVR to reset.

Q: The servo keeps bouncing when it's finished a movement.

A: It sounds like you need to tune your PID values for a better servo response. Check out the servo documentation page for details on what PID is and how to tune it.

Q: How can I contribute?

A: Join the community! Hop over to the Forum.