Geekbot Demo 2 - Simple Line Follower


This demonstration shows how to run the Geekbot Line Follower, which follows a set path... forever (or until the battery runs out, you know, whichever comes first). This is the first step into a series of automated geekbot operation! We will be laying down a simple circular path on the floor with some electrical tape and sending the geekbot for a spin! In this section, we will cover just the very basics of getting your geekbot to follow lines. We're covering this material to make the next steps, where we will be adding intersections and mapping, much easier to understand.

  1. Project Parts List
  2. Assemble your Geekbot
  3. Download the Sketch
  4. Setting Up
Nike Series

Note that the Geekbot in the video has been shelled with 3D printed parts. You can shell your geekbot too! Just go to our page on Thingiverse to download the 3D files!

Project Parts List:

RobotGeek Geekbot Kit

Everything you'll need to get started with this demo is included in the RobotGeek Geekbot Kit! We'll be using the Sparkfun Line Follower Array on the standard Geekbot Base.

Assemble your Geekbot

Geekbot V3 Assembly Guide

Follow and complete the Geekbot V3 Assembly Guide, making sure to follow the directions for mounting the Line Follower Array. If you haven't already done so, go through the Geekduino Getting Started Guide and the Geekbot Getting Started Guide.

Download the Sketch

Geekbot Sketches

A .zip file with all of the Geekbot Sketches can be found here.

If you haven't already done so, download and install the RobotGeek Libraries and Tools here.

Unzip the file and you will have a folder called geekbot-master We recommend that you find the RobotGeek Sketches folder in your Arduino user folder and put the geekbot-master in there. The rest of this guide will assume you've placed your sketches in the following folder.

  Arduino -> RobotGeek Sketches -> geekbot-master

This will be the same 'Arduino' folder you put your libraries and robotgeek tools in, and NOT the folder where the Arduino application is.


File -> Sketchbook -> RobotGeek Sketches -> geekbot-master -> Geekbot_V3 -> geekbotV3LineFollower
and upload the code to your Geekduino.

Setting Up

You'll need to place a black line on light flooring, or a white line on dark flooring for the geekbot to follow. We use Electrical Tape to lay down the lines because it adheres well, has bold color that the sensor reads well, and doesn't leave any residue on the floor! A good test pattern is a circle.


If you have a light line on dark flooring, you'll have to set invert bits in the code. Check out lines 162-165:

  //Default: dark on light
  //Other option: light line on dark
For a dark line on light floor, leave mySensorBar.clearInvertBits(); uncommented. For a light line on dark floor, //comment out mySensorBar.clearInvertBits(); and uncomment mySensorBar.setInvertBits();

Once you have the sensor bar configured, all you have to do is turn on the geekbot, set it on the line, and watch it go! You can adjust the trim on the fly with the Rotation Knob. If your geekbot is having trouble finding the line, you can adjust the sensitivity of the Line Following Array by turning the blue knob on it.


PC Control These demos and projects allow the robot to be controlled via a computer.

ArbotiX Commander Control - These demos and projects control the Robot using the ArbotiX Commander, the handheld Arduino based remote control.

Direct Control - These demos and projects control the Robot directly from sensors connected directly to the Robot's control board.

Pose Control - These demos and projects allow you to create and playback a sequence of poses.

Serial Control - These demos and projects control the robot using a serial packet protocol.

Standalone - These demos and projects are deisgned to let your robot function without a computer or additional microcontroller.

Wireless Control - These demos and projects allow you to control the robot wirelessly - usually by replacing the Serial Connection with XBee modules.

Reference - These articles have technical details regarding the control and operation of the robot.


More info here

Feedback Form