Each servo has three wires. The + wire supplies current; the data wire sends positional data to the servo, and allows you to detect its position. The ground wire goes to ground. Driving 5 servos simultaneously will likely require more current than the Arduino can provide. So, yes, you will need to power them (+ and ground) separately. You need to connect the Arduino's ground to the servo power supply ground.
You will still be able to read/write to the servos even though they are powered externally.
I need to read the servo's potentiometer through analogread
Normally you don't get a connection to the servo's pot as the servo's electronics is using it to control the motor position. Unless you disconnect it from this then you won't be able to read it. Then the position won't be controlled by the servo.
Pauls: The datawire will not allow you to read a servos position, you can read it with the servo libary, but that is just the last write you get really..
Grumpy_mike: I have soldered a wire to the potentiometer in the servo.. reading this is trivial and works okay (The resolution is good enough for my usage)
When i read the potentiometer i simply detach the servo with the servo libary, this works fine! (Theres no need to read it while the servo is attached anyways as you wouldnt be able to move it..)
The project im doing is a robotic arm, programmable by moving it.
I have soldered a wire to the potentiometer in the servo.
Yes but this will not work with all servos. They need to be 5V, so you will not get excessive voltage into the Arduino. Also they need to have a design that uses DC on the servo pot.