Building a Robot


There are several options for creating a robot for RoboRuckus. The simplest and easiest is to use one of the commercial robot kits the RoboRuckus team has tested and programmed. A table of the tested robots, as well as the platform and programming language they use, is listed below with links to their instructions on how to set them up.

Your other option is to either program a robot kit yourself, or build your own custom robot! Instructions on that are included at the bottom of this page.

Pre-Tested Robots

NameTypePlatformProgramming LanguageLink to Documentation
Ring:bit Car V2Commercial KitMbits (ESP32)Arduino (C++)GitHub
:MOVE mini MK2 BuggyCommercial KitMbits (ESP32)Arduino (C++)GitHub

Custom Robot

Custom robots are awesome! You can build any robot you want with any design you want so long as it fits the requirements below and can communicate with the API also described below.

Robot Requirements

Any robot design can work, and it can use any form of locomotion, but it must satisfy the following requirements:

  1. Fit completely inside the game board square. Typically, this means the robot can be no larger than 5 inches in either length or width, though you can make a board any size if you want. Height typically has no constraint.
  2. Move forwards or backwards in board square intervals. For example: move 2 squares forward, move 1 square backward, etc…
  3. Turn in place in 90-degrees increments.
  4. Move sideways in board square intervals. This can accomplished either by a sliding action, or simulated by having the robot turn in the direction of the slide, move the required number of board squares, then return to the previous facing.
  5. Optional: Have some sort of display or feedback for the robot to show information to the players and react to game events.

API Description

Robots playing the RoboRuckus game must be able to communicate via the API as described below. The robot will need to call routes on the game server as well as set up predefined routes to accept instructions from the server and send back the appropriate responses when needed.