Introduction: AXIBOT

The AxiBot is a device of great precision, which is able to illustrate or write anything programmed by a user and it is possible to do it in multiple surfaces, it has three axes (X-axis for displacement and Z-axis for writing). Their applications are multiple, ranging from writing documents or letters to drawing engineering drawings, or even in themselves any work that requires precise and / or constant strokes. This project was inspired by the product "Axidraw", which includes features very similar to what we built.

Step 1: Get All the Materials for the Project

Before anything else, you need to make sure you have all the materials for the project.

- 2 Stepper Motors Nema17

- 2 Drivers A4988

- Acrylic Parts/Boards (CAD in attached document)

- Arduino + CNC Shield

- Servomotor 9g

- Power Supply AD31

- Cable

- Cable Cover

- Round bar (8 mm, 2 meters)

- Aluminum sill (2" wide, 1/4" thick and 1.2 meters long)

- Aluminum sill (2" wide, 1/2" thick and 0.5 meters long)

- Bearing Sc8uu (8)

- Drill Bit, End Mill, and Opressor

- Screws New Baleros

- Toothed belt gt2 (9 mm)

- Toothed pulley gt2 (9 mm)

- Axial bearing 623zz (3x10x4mm)

- Male - Female Jumpers

- Male - Male Jumpers

- Limit Switch + Cable

Step 2: Make Sure You Have All the Designs Ready

In order to continue further, you will have to either print and/or machine your workpieces.

We will identify all the models with its name on the CAD model (attached file). Also you can decide which material you want to make the workpiece but in here we will tell you, what material we used for each one of them.

AnchorPlate (Aluminum)

Base (Aluminum)

CarriagePlate_Lower (Acrylic)

CarriagePlate_Upper (Acrylic)

IdlerPulleySupport (Aluminum)

Pen_Holder (3D Pinted Material)

Pen_Plate (Acrylic)

Pen_Slide (Acrylic)

Pen_Slide_Bottom (Acrylic)

Servo_Support (Aluminum)

Spacer_Y_Axis (Aluminum)

Spacer_Y_Axis_Front (Aluminum)

Support_A (Aluminum)

Support.B (Aluminum)

Stepper_Support (Aluminum)

Step 3: X AXIS

Now it's time to actually build your own AXIBOT.

Let's start with the "X" Axis, you will see in the image all the exact locations which you will have to add the pieces/models/products. For the two "Base" models you can decide if only join them with the screws or you can add an additional specialized glue.

*Remember to add and tension the toothed belt

Step 4: Y Axis

The second part is to make the "Y" Axis, which we can see it's one of the more complex because you will need to make sure everything it's in the correct place. In the images we show you the steps to build this part.

Also make sure you have these materials:

Stepper Motor Nema17

AnchorPlate (Aluminum)

CarriagePlate_Lower (Acrylic)

CarriagePlate_Upper (Acrylic)


Bearings 623zz x 4

Bearings Sc8uu x 8

Screws & Nuts

Toothed pulley

Step 5: Z Axis

For the last axis and to finally finished with the mechanical part of the project. You will need the following materials:

Servomotor 9g


Pen_Holder (3D Pinted Material)

Pen_Plate (Acrylic)

Pen_Slide (Acrylic)

Pen_Slide_Bottom (Acrylic)

Servo_Support (Aluminum)

Spacer_Y_Axis (Aluminum)

Spacer_Y_Axis_Front (Aluminum)


Round bar

*Remember to add and tension the toothed belt

Step 6: Electronic and Electrical Components

Since the mechanical part of the project is ready, it's time to work with the electronic components.

You will need these materials:

- Arduino Uno + CNC Shield

- Power Charger AD31

- Limit Switch

- Wire

- Male-Female Jumpers

- Male-Male Jumpers

- Cable covers

Make sure you have a good organization of your wires because they could get stuck with the movements of the machine. And once you have already everything identiffied, you must do the right connections of every wire. In the images we added everything you need to know for this part of the project.

Step 7: Programming

Now you are in the final step to complete your own AXIDRAW!

The programming part of the project can be done in several ways (you can always choose another method), but we will leave the links and programs that we used. We use the GRBL Universal Code Programming and we downloaded "UniversalGCodeSender".

Page #1:

*You need to load the code (attached .txt file) to your Arduino Uno

Page #2: (You can also find the file attached on this step)

Once you already downloaded the program, you will need to transform an image to "g code" and then open the "UniversalGCodeSender" and follow the steps of the attached images.