I am a newbie but I am aware that this question has been asked before here:

Controlling a Servo with Potentiometer in Raspberry Pi

But my question is do we need an MCP 3800 (Analog to digital converter) for this exercise or can be it done without it ?

any help is appreciated


  • 1
    you could use a rotary encoder instead of a pot – jsotola Sep 18 '20 at 17:58
  • 1
    The real question is why would anyone want to use a pot to control a servo? If you really do it would be simpler and cheaper to use an Arduino – Milliways Sep 18 '20 at 22:39
  • Totally Agree.. In-fact this is an example from the Arduino Project book which I am trying to reproduce in Raspberry Pi... – Vikram Suriyanarayanan Sep 19 '20 at 5:33

This Question is somewhat misguided, and seems to assume there is some special relationship between the input and output devices.

The problem can be broken down into 2 parts:-

  1. How do you control the position of a servo.
  2. How can you input a value into that program.

The second can indeed be done with a potentiometer and ADC but, depending on your requirements, can use any input method.

The following spring to mind:-

  1. Typing on a keyboard
  2. A rotary encoder
  3. A tkinter Slider or Spinbox

Any of these are easily implementable in Python.

  • Thank you.. and pardon my ignorance.. I am a Mechanical Engineer trying to learn robotics/electronics.The scenario is much clearer now.. – Vikram Suriyanarayanan Sep 19 '20 at 5:32

The potentiometer is used to signal the desired position for the servo. The Analogue to Digital Converter (ADC) is used to determine the pot position by reading the voltage between the pot legs.

If you know of an alternative way of determining the pot position you can use that instead of the ADC.

You can use another ADC instead of the MCP3008.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.