A microstimulator implant controller for restoring functional movement in one or more muscles of a patient's body, the controller comprising: a. a processor configured to receive input parameters, to initialize one or more implants that are installed within a patient's body with initialization data based on the input parameters, and to control various processes in the one or more implants by transmitting dynamic data, wherein the initialization data include a unique identification data for each of the one or more implants and data required to enable the one or more implants to perform one or more actions, wherein the initialization data further include data defining a sequence of actions to be performed by the one or more implants in a frame; and wherein the actions include stimulation of one or more muscles within the patient's body; b. a transmitter configured to transmit the initialization data to the one or more implants by forward telemetry transmission; wherein the transmitter is further configured to transmit a frame synchronization signal to the one or more implants in order to trigger a start of a new frame; wherein the transmitter is further configured to transmit one or more internal synchronization signals to the one or more implants after the frame synchronization signal is transmitted in order to trigger one or more actions to be performed by the one or more implants according to the initialization data defining a sequence of actions in the frame; and c. a receiver configured to receive back the transmitted initialization data from the one or more implants by reverse telemetry transmission, wherein the receiving back the transmitted initialization data is an indication to the processor that the initialization data has been received accordingly by the one or more implants; wherein the receiver is further configured to receive M-waves measured by the one or more implants in response to the muscle stimulation; and d. wherein the receiver is further configured to receive electromyogram data detected by the one or more implants. a. a processor configured to receive input parameters, to initialize one or more implants that are installed within a patient's body with initialization data based on the input parameters, and to control various processes in the one or more implants by transmitting dynamic data, wherein the initialization data include a unique identification data for each of the one or more implants and data required to enable the one or more implants to perform one or more actions, wherein the initialization data further include data defining a sequence of actions to be performed by the one or more implants in a frame; and wherein the actions include stimulation of one or more muscles within the patient's body; b. a transmitter configured to transmit the initialization data to the one or more implants by forward telemetry transmission; wherein the transmitter is further configured to transmit a frame synchronization signal to the one or more implants in order to trigger a start of a new frame; wherein the transmitter is further configured to transmit one or more internal synchronization signals to the one or more implants after the frame synchronization signal is transmitted in order to trigger one or more actions to be performed by the one or more implants according to the initialization data defining a sequence of actions in the frame; and c. a receiver configured to receive back the transmitted initialization data from the one or more implants by reverse telemetry transmission, wherein the receiving back the transmitted initialization data is an indication to the processor that the initialization data has been received accordingly by the one or more implants; wherein the receiver is further configured to receive M-waves measured by the one or more implants in response to the muscle stimulation; and d. wherein the receiver is further configured to receive electromyogram data detected by the one or more implants.