The Servo Board can be used to control up to 12 RC servos. Many devices are available that can be controlled as servos, such as RC motor speed controllers, and these can also be used with the board.
|LED||Meaning||Initial power-up state|
|Power||The board is powered over USB.||On|
|5.5V On||There is 5.5V power on the board. This usually indicates that the 12V connector rail is powered.||Off|
|Aux On||There is auxiliary power on the board.||On|
|STATUS|ERROR||Blue when the board has successfully booted
Solid pink if an error has occurred (often 12V power being lost)
There are 8 servo connections on the left-side of the board (numbers 0-7), and 4 on the right (numbers 8-11). See the labels on the board (also visible in the photo above) for how these numbers map to the outputs.
Servo cables are connected vertically, with 0V (the black or brown wire) at the bottom of the board.
For the servo board to operate correctly, you must connect it to the 12V power rail from the power board. A green LED will light next to the servo board 12V connector when it is correctly powered.
The case measures 68×68×21mm. Don’t forget that the cables will stick out.
Control of servos is often referred to as using pulse-width modulation (PWM) and while that is a useful way to convey the general idea it is unfortunately not a technically precise description of either how the control protocol operates nor how the Servo Board implements the control.
Instead RC servos typically to react to the duration of the pulse sent to them and essentially ignore the gaps between the pulses. However this is not universally the case and some servos do care about the time between pulses as well.
The Servo Board is able to precisely control the duration of the pulses sent to servos (based on the values you configure using the Python API), within the ranges in the table below.
Conversely the time between pulses sent to a given servo is allowed a much wider variation and in fact can vary even when that servo is not changing position. For example this can happen if another servo’s position changes from being a longer pulse than the first to a shorter pulse. The range of possible gaps quoted below represents the worst possible case that a servo may experience.
|Number of servo channels||12|
|Nominal input voltage||11.1V ± 15%|
|Maximum total output current 1||10A|
|Pulse range||1ms — 2ms|
|Min time between pulses||16.075ms (62.208Hz)|
|Max time between pulses||18.575ms (53.836Hz)|
You can access the schematics and source code of the firmware on the servo board in the following places. You do not need this information to use the board but it may be of interest to some people.
If the auxiliary input is connected, outputs 8-11 have an independent maximum current. ↩