This Robot Mimics an Earthworm to Move Along the Ground

By taking advantage of peristalsis, James Bruton's robot can transport itself just like a worm around the house.

Previous robots

In the world of robotics, countless versions of locomotion exist that enable machines to move from one place to another in various ways. Some of these methods include legs, spinning rotors, and wheels, but ones that slowly inch along the ground to a target are rare, which is why YouTuber and maker James Bruton wanted to build one of his own. In a few of his previous projects, his robots have used bipedal and quadrupedal kinematics to walk, but this time around, his robot would take advantage of peristalsis that lets the robot wave to move.

What is peristalsis?

If you have ever carefully observed a worm wriggling across the ground after a rainstorm, you will have probably noticed how its muscles coordinate in a specific pattern to both propel itself forward and turn. This radially symmetrical contraction and relaxation of a muscular ring in order to propagate a wave down its length is called peristalsis, and it is also common in many other animals too, especially within the digestive tract to move food and waste. Therefore, by mimicking the order in which a worm creates waves to advance, Bruton's robot could perform that action as well.


Creating the wave motion required several actuators that were able to somehow expand and contract within a segment. To accomplish this task, B went with a set of four linear actuators which work in a manner similar to servo motors, but rather than rotating around an axis, they extend and contract on a single axis, hence the "linear" name. Each one was connected to an Arduino Uno board that provides them with a pulsed signal that corresponded to the extent of the actuator's movement. Finally, power was provided to each component via a single LiPo battery pack.

Designing a chassis

Compared to some of his previous robot designs, Bruton's worm-like robot was quite simple to create. Each segment is a complete unit that consists of one linear actuator and two "feet" that allow a scissor mechanism to attach at the rotational axis. Therefore, an expansion of the linear actuator causes the entire segment to stretch, whereas a contraction of the actuator causes the segment to constrict. By chaining multiple segments together, in this case four, each one can be activated in an ordered sequence to slowly-but-surely propel the robot forward.

Fabrication, experiments, and a redesign

Once all of the necessary pieces were 3D printed and attached to each other with machine screws, Bruton created a short program (which can be found here on GitHub) that fully extends one linear actuator, contracts it, and then moves onto the next. This process repeats indefinitely until power is removed. This design was not very fast, owing to its small range of motion, so Bruton swapped out the linear actuators for large servo motors instead that mount to the rear of a scissor mechanism. This way, a single segment can stretch and lift off the ground before landing and pulling the rest of the robot along, making it far more efficient.

To see how Bruton built this robot in greater detail, you can check out his YouTube video here, or view this GitHub repository for the code and CAD files.

Arduino “having11” Guy
20 year-old IoT and embedded systems enthusiast. Also produce content for and love working on projects and sharing knowledge.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles