TICO Open Source Tic-Tac-Toe Arduino Robot

Introduction: TICO Open Source Tic-Tac-Toe Arduino Robot

This time I will show you how to make an Arduino-powered Tic-Tac-Toe robot, which will provide you an excellent game experience.

Step 1: Description

The game is played on a small whiteboard that is covered with transparent packing tape that will make it very easy to erase the board between games. For better visual effect, communication with the robot is done through a small TFT color screen.


Visit my sponsor PCBgogo for all your PCB needs, 10% OFF NOW!


This is an Open Source project called "TICO – Tic-Tac-Toe Arduino Robot" and detailed documentation can be found on the author's website:

If you decide to make it yourself, share your questions and join the conversation on the Tico Facebook group: https://www.facebook.com/groups/890278848555627

The game starts when the robot clears the board first, then draws the frame and marks the first move. After that, the human player marks his move on the board, and also on the remote controller, or on the Arduino serial monitor depending on the settings in the code. When someone wins, the robot marks it on the board and on the screen with a message.

Step 2: PVC Plastic Parts

Unlike the original design, I made the mechanical part from a PVC board with a thickness of 3 mm which I processed with a scalpel. In fact, I made this part for one of my previous videos that described a project called "Plotlock", when I still did not have a 3D Printer. The initial design of Tico was inspired by this Plotclock project, and Parts of the Plot clock’s code is used in Tico’s code. Of course, it is much better and easier to make if you have a 3D Printer, and .stl files are given on the page.

Step 3: Electronics Parts

The electronic part of the device is very simple to build and consists of several components:

- Arduino Uno microcontroller

- Three cheap 9 grams servo motors

- 1.8 inch TFT color display

- Buzzer


- and Ifra Red receiver

Step 4: Schematic and Code

We will first show the case when we enter our moves through the Arduino serial monitor. To do this, we need to modify the next line of code:


The robot can also mark our moves. It is given through the section:

#define DRAW_HUMAN_MOVE true

If we want to enter our moves with Remote Controller we need to make the following code modification: #define SERIAL_MONITOR_MODE false

To find out the codes specifically for your remote controller, I made a small program that you can also download at the link provided. As you can see in the video the Robot can not boast of any great Intelligence, but this is an Open Project and I hope that in the future that part will be improved.

Be the First to Share


    • Reclaimed Materials Contest

      Reclaimed Materials Contest
    • Unusual Uses Contest

      Unusual Uses Contest
    • Micro:bit Contest

      Micro:bit Contest