The LX-16A servos are fairly cheap (12-17) and include lots of brackets for making robotic joints. They use a 115200 baud bidirectional bus which allows the controller to read the position of each servo. ServoLX.cpp
Prototype snake robot built with eight of the servos. On USB power they are not very strong, but it works to test it. Code:
Snake locomotion is hard. Simple undulatory motion turned into rolling some how.