This paper considers the design of software for embedded control of robotic marionettes using choreography to specify the marionette motion. Marionettes are actuated by strings, so the mechanical description of the marionettes either creates a multi-scale or degenerate system - making simulation of the constrained dynamics challenging. Moreover, the marionettes have 40-50 degrees of freedom with closed kinematic chains. Choreography requires motion primitives typically originating from human motion that one wants the marionette to imitate, resulting in a high dimensional nonlinear optimal control problem that needs to be solved for each primitive. Once one has motion primitives to use, they must be pieced together in a way that preserves stability, resulting in an optimal timing control problem. These three computational components lead to software requirements for the embedded system, including efficient computation of the 1) discrete time dynamics that preserve the constraints and other integrals of motion, 2) nonlinear optimal control policies (including optimal control of LTV systems), and 3) optimal timing of choreography. All of these need to take fast convergence into account. We show how to provide all these capabilities in a single framework. Moreover, in order to meet these requirements new results on projection operators on finite dimensional function spaces are needed - both of which are critical to ensuring acceptable convergence of the algorithms. We conclude with our current results and application of these ideas to other systems.