—This paper describes a series of gaits which we developed for a free crawling snake robot. Snake robots, a class of hyper-redundant mechanisms, can use their many degrees of freedom to achieve a variety of locomotion capabilities. Like their biological counterparts, snake robots locomote using cyclic motions called gaits. These cyclic motions directly control the snake robot’s internal degrees of freedom which causes a net motion (e.g. sining moves the robot forward, strafing moves the robot laterally, and spinning rotates the robot about its center). The gaits described in this paper fall into two categories: differentiable and piecewise differentiable. The differentiable gaits, as their name suggests, can be described by a differentiable function whereas the piecewise cannot. This paper describes the functions we prescribed for gait generation and our experiences in making these robots operate in real experiments.