K'nex Programmable Automaton




A K'nex automaton with a programmable path. This alternating design was originally conceived by Heron of Alexandria.

I don't have enough string, so I could only run the short program shown in the video.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Build Frame and Motor Components


Step 2: Create the Program Spindles

Use a thin but strong string. Yarn, synthetics, or the string included with most sets will work. Two pieces of string of equivalent length are needed. The longer the string, the longer your automaton program will run. If the lengths of the string need minor adjustment, see image 6.

The program spindles are designed to be easily removable, so new programs can quickly be run by simply exchanging the spindles.

Step 3: Programming the Automaton

Looping the string under allows moves the vehicle forward on that side. Looping the string over moves the vehicle backward on that side. To allow the vehicle to move forward, both spindles would loop under; to turn right, the right spindle loops over and the left spindle loops under, and vice versa. Keep in mind that the code runs in reverse, with the top most string layers coding for the first actions of the automaton.

To simplify programming and to allow easy distribution of different scripts, I have set up a simple coding syntax. I suggest coding in notepad so the spacing is even.

This is how the script for each wheel starts, with a L and R for the respective left and right wheels. Y is a number, and x is a unit of measurement. The Yx shows the length of the string in a particular unit. So, 8meters, for example.

Each spindle has 8 rods, so moving forward (looping the string under) one complete spindle revolution would be the following. u is for looping under, and o is for looping over. A // signifies the end of code."


The script above shows a slight left turn. A 5u signifies that a grey connector be placed on the 5th rod from the origin, with the origin being 1, and a turn of direction occurring on the 5th rod. The other side has -- to help balance out the script to make it easier to code.

An "s" signifies a stop loop around a grey connector. An example would be
This means the that on the right spindle, the string is to be looped 360 degrees around the grey connector, signifying a stop. The stop should end in the same direction it started.

That's all there is to it. On the next step I have provided some sample measurements and scripts to combine into more complex scripts.

Step 4: Sample Scripts and Measurements

All measurements are on bare floor.
-8 loops around a grey connector is equivalent to 1 full rotation on a spindle.

Snakey Path
By: The Jamalam
L/8u/5o/8u/5o// etc
R/5o/8u/5o/8u// etc
Gives a sort of Snakey S shaped path

By: The Jamalam
Goes around in circles. lol fun to watch

Instructables and RoboGames Robot Contest

Second Prize in the
Instructables and RoboGames Robot Contest



    • Indoor Lighting Contest

      Indoor Lighting Contest
    • Make It Fly Challenge

      Make It Fly Challenge
    • Growing Beyond Earth Maker Contest

      Growing Beyond Earth Maker Contest

    89 Discussions

    That's an All Terrain Trekker motor, I'm lucky, got 2 in newstate. It's discontinued (WHY???), so the only way to get it is to eBay it.


    Reply 11 years ago on Introduction

    i can never figure out why they stopped making that motor. it was around the best one they made.


    8 years ago on Introduction

    can you use a other motor like this or something???


    Yeah, when I made this account, I was OBSESSED with Tails... Back on-topic with K'nex and string program... No I didn't make it yet, but I'll find some K'nex and some string and try to make it.

    Lance Mt.Tailslvr7_7

    Reply 10 years ago on Introduction

    Your basically wrapping the stings so that it unravel at different intervals.. From there gears, gun and wheels may be moved, activated, cocked and what have you. -Not quite Anom delivers, Chris


    Reply 11 years ago on Introduction

    Have you built it yet? All you do is loop the strings around the greys in different patterns and it will affect the movement. No loops means it goes straight.


    9 years ago on Introduction

    I'm a little confused on the programming. It just doesn't seem explained well enough.

    1 reply

    Reply 9 years ago on Introduction

    Okay, so do you change whether it's over or under by wrapping the string around the grey connector that was added, the change it from there? As in, L/5o/8u//
    After the 5o, you wrap the string around the connector at five, then go under 8, coming back to the connector at five?