At the moment you can use most PWM outputs at once - while you can't choose the timers yourself, Espruino tries to pick timers that don't overlap. Sometimes there are problems though and I'm afraid at the moment the best solution is really just to test.
While there are only 6 timers, each timer has 4 outputs which can run at the same frequency (but different duty cycles). For servo control you'll be running them all at the same frequency though so you should be fine, and you should be able to get 18 servos running from some combination of pins.
Having said all that, Espruino uses one of the timers as a 'utility' timer, so calls to 'digitalPulse' work really well on any pin (and are non-blocking). That's what I tend to use for Servo control and it's what I'd suggest you use for starters - especially as I guess the duty cycle will be changing for almost every pulse if you're trying to get nice smooth movement.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
At the moment you can use most PWM outputs at once - while you can't choose the timers yourself, Espruino tries to pick timers that don't overlap. Sometimes there are problems though and I'm afraid at the moment the best solution is really just to test.
While there are only 6 timers, each timer has 4 outputs which can run at the same frequency (but different duty cycles). For servo control you'll be running them all at the same frequency though so you should be fine, and you should be able to get 18 servos running from some combination of pins.
Having said all that, Espruino uses one of the timers as a 'utility' timer, so calls to 'digitalPulse' work really well on any pin (and are non-blocking). That's what I tend to use for Servo control and it's what I'd suggest you use for starters - especially as I guess the duty cycle will be changing for almost every pulse if you're trying to get nice smooth movement.