This paper proposes a new string controller for puppet which is optimized in terms of the number of motors and its size. To optimize the number of motors needed for generating the essential motions of puppet, the motion of bending a leg is implemented by one string and the walking motion by two legs is implemented by one motor. To minimize the space needed for the controller when generating the essential motions of puppet, cylindrical and articulated joints are used in the controller. The proposed controller is actually implemented to perform various puppet shows and it has been proved that the size of the controller is small enough for two puppets to stand close to shake hands and it is fast enough to simulate fast dance motions.