YOU CAN 3D PRINT A ROBOT SNAKE THAT SLITHERS LIKE THE REAL THING

A 3D-printed snake with 16 segments that slithers across the floor using real serpentine motion, driven by cheap micro servos.

by mvipin

FULL CAD BOM FIRMWARE DOCS

RoboticsWorkshop

difficulty
●●●○○
time
a weekend
license
MIT
repo
repo ACTIVE4 stars

WHAT YOU’LL NEED

  • 3D printer + filamentprintable parts — files are in the repo
  • Electronic partsfull list with part numbers in the repo BOM
  • Dev board / microcontrollerruns the project firmware
  • Soldering kit + basic toolsone-time buy, serves every future build

Partner

Reach your Pi from anywhereRemote desktop to the machine running this build — no port forwarding, works right from the browser.Try Getscreen.me
1

COMPAREE VERDICT

SlitherBot is a genuinely impressive biomimetic robot that does what the video shows: it slithers. The serpentine motion comes from phase-shifted servo movements coordinated by an Arduino, and the effect is convincing. The build is not trivial — you are printing 16 identical segments, installing a servo in each one, threading power and signal wires through the entire length, then tuning the motion parameters until it moves smoothly. The single biggest pain point is that 16 servos means 16 potential points of failure: one servo with a slightly different center point or a weak joint will make the snake move unevenly, and you will spend Saturday afternoon on calibration. The TPU skin is optional but makes a huge visual difference; without it you are looking at a chain of plastic boxes. If you have never worked with servo arrays before, expect the wiring and the PCA9685 setup to take longer than the print. The payoff is a robot that genuinely impresses anyone who sees it move. This is not a beginner project, but it is a weekend build for someone comfortable with Arduino and patient with mechanical tuning.

NOT IN THE REPO

  • Complete STL files for all 16 body segments plus head and tail, designed for FDM printing.
  • Full Arduino code provided for serpentine motion control with configurable wave parameters.
  • Bill of materials lists 16× MG90S micro servos, Arduino Nano, PCA9685 servo driver board, and TPU filament for the flexible skin.
  • README includes assembly instructions, wiring diagrams, and calibration guidance.
  • Licensed under MIT — commercial use allowed.
  • No prebuilt circuit board; you wire the servo driver to the Arduino yourself using jumper wires.

Can I build this?

Print16 body segments, 1 head, 1 tail, all FDM printable; TPU skin if you want the organic look
Buy16× MG90S micro servos, Arduino Nano, PCA9685 16-channel servo driver, 5V power supply (2-3A minimum), jumper wires
ToolsFDM 3D printer, soldering iron for power distribution (optional but recommended), small screwdriver, wire strippers
SkillsIntermediate: Arduino programming, basic electronics, FDM printing with supports, patience with repetitive assembly and servo calibration
Timea weekend — print time is 12-16 hours, assembly and wiring another 4-6 hours, calibration 2-3 hours
Cost$$ — 16 servos at roughly $2-3 each dominate the cost; total parts around $50-70 depending on your servo source
SafetyNone beyond ordinary electronics care. Low-voltage DC only, no hazardous materials.

Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.

A desktop 3D printer that prints in full colorPartner · Kickstarter
A desktop 3D printer that prints in full color

HeyGears G1: 10M+ colors and transparent parts in one print, plus UV printing on flat objects. Figures, parts and labels — no painting.

See how it prints

Gallery

upload://cmrvtaegg0gi2ri1zhz35sk5y/upload-3e6b1956.jpg

Start here

Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.

  1. 1.Print one body segment first and test-fit a servo(Make sure your printer tolerances work before printing all 16.)
  2. 2.Order servos and the PCA9685 driver board (MG90S servos are cheap but quality varies by supplier; consider ordering a couple of spares.)
  3. 3.Read the assembly guide and wiring diagram (Wire routing is the trickiest part; understand the path before you start threading cables.)
  4. 4.Flash the Arduino code and test with one servo(Verify the PCA9685 library and I2C communication work before full assembly.)

KNOWN ISSUES

  • Buying servos without checking center calibration first — a batch where half the servos have different zero points will cost you hours of frustration. Test them individually before installation.
  • Not leaving enough slack in the wiring between segments — the snake needs to flex, and taut wires will either break or restrict motion.
  • Skipping the single-segment test print — if the servo does not fit snugly or the joint is too loose, you will only discover this after printing all 16.
  • Underpowering the servo array — 16 servos under load can pull 2-3A; a wimpy USB power supply will brown out and cause erratic motion.
  • Trying to tune motion parameters without understanding the phase offset logic — the wave propagates through servo positions in sequence, and random tweaking makes it worse, not better.
  • Printing the TPU skin before the mechanics work — get the snake moving smoothly with bare segments first, then add the skin as a final cosmetic step.

Can I use different servos?

Yes, but stick to micro servos in the 9g class. Larger servos will not fit the printed segments, and weaker ones may struggle with the snake's weight.

Do I need the TPU skin?

No — the snake works fine without it. The skin is purely cosmetic, but it does make the finished robot look far more organic.

How fast does it move?

Slow — this is serpentine locomotion, not a racing robot. Expect a crawl speed of a few centimeters per second. The motion is mesmerizing, not fast.

Can I control it remotely?

The base code does not include wireless control, but adding a Bluetooth module or WiFi board to the Arduino is straightforward for anyone comfortable with Arduino libraries.

Community builds

No community builds yet — be the first, we feature the best ones.

Discussion1

FROM THE COMPAREE TEAM

Sixteen servos in a chain, each one a potential calibration headache — but the result is a robot that moves like a living thing. Would you tackle this build, or does the servo count put you off?

CompareeTEAM1mo agoedited

Practical notes from our verification: the repository contains everything advertised — STLs, code, wiring diagrams, and a detailed BOM. We did not find an official build video; the clips in our reel were sourced from repository documentation. The single biggest practical surprise is that servo calibration is not optional — you will spend meaningful time adjusting center points to get smooth motion, and one poorly centered servo in the middle of the chain will make the whole snake move unevenly. The TPU skin is a separate print and adds significant visual appeal, but the mechanics work fine without it. This is a genuinely impressive build when it is working, but it is not a plug-and-play kit — expect to iterate on both the mechanical assembly and the code tuning.

mvipin

Created by mvipin as an exploration of biomimetic robotics and articulated mechanism design. The project demonstrates how distributed servo control can replicate natural motion patterns using simple, inexpensive hardware.

GitHub

Star the project on GitHub

DISCLAIMER

  • Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
  • Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
  • Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.