Scorpion Rover Mk I Autonomous Robot

by SimonOllieAndScarlett

Published on February 5, 2018

The Scorpion Rover Mk I is an autonomous driving robot that explores its environment while avoiding collisions and dead ends, seeks out bright light, and stabs defensively anything that gets too close to it. 

The robot is a simple state machine controlled by the following states:

Mode 0: drive forward until a front-facing obstacle is encountered

Mode 1: if obstacle detected, steer until clear ahead, or reverse then change direction if we get stuck

Mode 2: periodically, re-orient the rover to a bright light source by spinning around until a light source found (for best results, start the rover in a location with low ambient light, with a single raised light source such as a bright window or table lamp within 20ft away) [optional, if you attach the light sensor]

Mode 3: defensive stabbing action and reverse if an object gets too close to the front of the robot [optional, if you attach the servo arm]


Duration: 1 hour

How To Make It


Screw motors to board Attach the wheels to the motor, and attach the motors to the board with screws as shown in the photo. We had to use some screws we found in the garage.
40e795bb 3c62 472a b687 081836b71e2f


Attach coaster ball to rear of board Using glue dots, attach the coaster ball to the rear of the board.
0e819b55 71e7 4d9d 92f8 61c0b1afa212


Assemble the board, Arduino, and sensors Switch the motors to 'var' mode. Plug them into output 5 and 9 of the Arduino board, which should be set to analog mode (the default). Connect the two-way splitter wire to the power unit. Attach one wire from the splitter to the proximity sensor, the other to the light sensor. Connect the proximity sensor to input A1. Connect the light sensor to input A0. Attach the servo to output 1.
19c312d6 e735 4a17 968a db5ba7a1199e


Mount the the proximity sensor, light sensor, and servo arm Mount the proximity sensor to the front of the board using twisty-ties. Mount the light sensor inside a light tube, to make it more directional. The light tube can be made of toilet tube cut in half. Fix to the top of a small stand such that the light sensor is pointing slightly upwards, about 3-4 inches above the front of the board. Mount the servo in the far back corner of the board, as shown in the second photo below. The arm generates a lot of momentum when it thrusts forward, so we had to tie it down using four twisty-ties racheted tight using a pair of pliers.
5292de26 82d8 4e8c a1cb c2c4dc06bc65

7207aebe 3eef 467e b9ed bcd54899e7ef


Mount the battery Mount the battery on the undercarriage of the board using tight rubber bands. These also holds the Ardunio board in place (unless you can make it all magically snap onto the board as it is supposed to, which we were unable to do). Use twisty-ties as cable ties to tuck any unruly wires out of the way.
2476aafc 050b 457e b535 c0fd0d572773


Mount the dagger Attach the servo hub and arm to the servo at about a 20% angle from horizontal. Use twisty-ties to fix a blunt pencil at right-angles to the end of the arm.
0b6ce879 3757 45bf 9333 c2061c2912c5


Load the sketch, turn off, remove the USB cable, and turn on With the USB cord connected and the Arduino IDE open, paste in the code, press Upload, turn on the rover, and wait for the upload to complete. Then disconnect the USB, place the rover on the ground, and turn on. The rover should explore the environment, avoiding obstacles and dead ends, while seeking out the brightest light source and stabbing anything that strays too close.
0a4bc9b3 e0b5 4073 b7c9 0a2ed4411f2d

Related Projects

The Canoe Race

This invention is a cool way of looking at canoes it is way smaller way slower but way easier to use. We have created this inventi...

Alien Bugs Night

The night began with electronic beats in the background as Beijing Bitsters got busy with their hands to create fun and funky al...