Cardboard Spider (DIY Quadruped)




Introduction: Cardboard Spider (DIY Quadruped)

About: Arduino is a newly discovered hobby of mine. I love making stuff.

Hello again and welcome to my new project.

In this instructable I’ve tried to make a simple Quadruped made from materials accessible to everybody. I know to get a good looking final product you need a 3d printer and maybe a CNC, but not everybody has one of this fancy devices, so I tried to demonstrate that with simple material you can still build some nice stuff.

So as mentioned before we will try to build a Quadruped. The frame of the Quadruped will be made simply from corrugated carton this includes the frame, the femur and tibia of each of the four legs.

Step 1: Why Quadruped and How It Works?

I have to say that robots are fun and interesting. I’ve never build a legged robot before so I thought that I should give it a try.

I decided to build a quadruped first off all because I didn’t had enough servos for a hexapod. I’ve imagined if you can build a quadruped then to build a hexapod will be just a step forward. Since this is my first project of this type I didn’t knew exactly what to expect so I thought 4 legs will be easier then 6 but as I found out later this is not always true.

Quadruped having only 4 legs in order to not fell down once one of the legs is lifted the centre of gravity of the robot has to be shifted in the interior of the triangle created between the tips of the other three legs.

A very nice description of all this process you can find here:

Each leg of the quadruped has 3 joints to control the tip of the leg in space. So the joints will be:

- Coxa servo – between the frame and femur

- Femur servo – controlling the femur of the leg

- Tibia servo – between the femur and tibia controlling the tibia

To know the angle of each servo for the necessary location of the tip of the leg we will use something called inverse kinematics. You can find a lot of documentation on internet about this, and how to calculate the angles of the servos for the different location of the tip of the leg. But in my case I just took the Arduino Code created by RegisHsu (you can find his detailed quadruped instructable if you give it a search) and I’ve changed the dimensions of the robot and the robot legs to fit my robot and also changed the program to use a remote control to control the robot and that’s it.

Step 2: Why Using Corrugated Carton for the Frame and Legs?

First of all it is widely spread, you can find it anywhere and if you like to buy is very cheap. Corrugated cardboard is a stiff, strong, and light-weight material made up of three layers of brown kraft paper and most of the packing boxes are made from it. So it is very easy to find some.

In my case I used a shoes box which I’ve cut and make the frame out of it. The carton that was provided by my box was a 2 mm thick so it is very thin. So for each part of the frame I’ve had to cut three identical parts and glue them together with double tape scotch. So actually we will have to make 3 frames to have at the end a 6 mm thick carton.

Step 3: Part Required:

Electronical parts required for the Quadruped:

- Arduino Nano Microcontroller;

- Deek Robot Nano V03 Shield – not essential, but it will make the connection of all servos to the Nano Board much easier.

- 12 pcs Tower Pro Micro Servo 9g SG90 – 4 legs with 3 joints each;

- LED – for light ( I used an old burned out colour sensor)

- 1 x NRF24L01 transceiver

Electronical parts required for the remote controller

- Arduino Uno Microcontroller;

- 1 x NRF24L01 transceiver;

- Joystick;

- LED;

- Various resistors;

- Push button;

- Some jumper wires;

For the frame:

- Corrugated Carton sheet

- Cutter

- Screw Drivers

- Double tape scotch

- Triangles

- Ruler

- Pencil

So let’s start building.

Step 4: Setting the Servos on 90 Degrees

Before starting building the frame I’ve had to center all the servos to 90 degrees so that it will be easier to position them later on when the frame is ready. So I’ve attached first the Arduino Nano intended for the Quadruped to the Nano shield, and after all the servos to the shield. Then all you need to do is upload the code and all the servos will be centered to 90 degrees positions.

The code can be found in the last step of the instructable.

Step 5: Building the Frame

As mentioned before the frame is build out of the corrugated carton provided from a shoes box. The template of the frame you can find in the attached pictures together with dimensions of the frame.

First I cut the sides of carton box to make the frame. I’ve obtained three good pieces for which I took in consideration the orientation of the corrugated layer so that 2 pieces will have vertical cell corrugated layer and one horizontal.

Once the carton was ready, I draw the frame template on the carton sheet which has the vertical corrugated medium. To obtain a stronger more stiff structure I’ve cut three pieces in order to glue them together for extra strength against bending. The upper and lower carton sheets have vertical corrugated layer while the sandwiched carton sheet will be horizontal corrugated layer.

Before I glued the three frame pieces together I prepared the servo motors arm and I draw the position of each coxa servo motor for future correct positioning.

Now that I know where the coxa servos have to be positioned I glued the three pieces together.

Now the frame is done.

Step 6: Attaching the Coxa Servos to the Frame

To attach the servos first I pounced a hole in the marked position so that the securing screw for the servo arm will pass, and secure the servo to the frame.

Using the screws provided from the servo motors I’ve attached the coxa servo motors arms to the frame. The coxa is formed from two servos glued together with double tape and reinforced with rubber band just in case. One servo will be orientated downward with the shaft in vertical position and will be attached to the frame, and the other one will be orientated with the shaft in horizontal position and will be attached to the inner side of the femur.

Finally to secure the coxa servo to the frame the securing screw is screwed in.

Step 7: Building the Femur

Same carton cutting procedure was used. Each femur will be created from three carton sheets glued together. The horizontal corrugated layer will be sandwiched between the vertical corrugated layer carton sheets.

Step 8: Building the Tibia

For the tibia same I cut three templates for each tibia, but this time the orientation of the corrugated layer was vertical to give a better longitudinal strength to the tibia.

Once each three templates were cut I glued them together making also the hole for the tibia servo to fit in.

I attached the servo in the tibia, and the arm of the servo was secured to the servo with the securing screw through the hole made in the femur in such way to connect the femur with the tibia.

Step 9: Putting All Together

Now that all the frame and legs parts are created I connected them all together so that the assembly started looking like a quadruped.

Step 10: Installing the Electronics and Setting the Connections

First the Arduino Nano together with the Deek Robot Shield have to fit on the frame. For this I took the shield and I pounced the frame with 4 holes to secure the Deek Robot Shield to the frame using 4 bolts and nuts.

Now “the brain is attached to the body” :D. Next I connected all the servos to the Deek Nano Shield.

The connection of the servos is very easy since the shield has specially build three pins (Signal, VCC, GND) for each Arduino Nano digital and analog pin, allowing a perfect and easy connection of the micro servos. Normally we need a motor driver to drive servos with Arduino because it’s not capable to cope with the amps required by the motors, but in my case this is not valid because the 9g micro servos are small enough for Arduino Nano to handle them.

The legs servos will be connected as follows:

Leg 1: (Forward left leg)

Coxa – Arduino Nano Digital Pin 4

Femur – Arduino Nano Digital Pin 2

Tibia – Arduino Nano Digital Pin 3

Leg 2: (Back left leg)

Coxa – Arduino Nano Analog Pin A3

Femur – Arduino Nano Analog Pin A5

Tibia – Arduino Nano Analog Pin A4

Leg 3: (Forward right leg)

Coxa – Arduino Nano Analog Pin 10

Femur – Arduino Nano Analog Pin 8

Tibia – Arduino Nano Analog Pin 9

Leg 4: (Back right leg)

Coxa – Arduino Nano Digital Pin A1

Femur – Arduino Nano Digital Pin A0

Tibia – Arduino Nano Digital Pin A2

Connection of the LED for light effect

I thought that it will be nice to put some light on the quadruped so I have and old colour sensor which doesn’t work anymore (I managed to burn it out :D) but the LED’s are still working so since they are four LED on a small board and they are very bright I decided to use the colour sensor to give the quadruped some light effect. Also being four it make it appear a little bit closer to a spider.

So I’ve connected the VCC of the colour sensor to the Arduino Nano Pin D5 and the GND of the sensor to the GND of the Arduino Nano. As the small board has already some resistors on it which are used for the LED I didn’t need to put any other resistor in series with the LED. All the other pins will not be used since the sensor is burned out and I’m just using the LEDs from the small board.

Connections for NRF24L01 Module.

- GND of the Module goes to the GND of the Arduino Nano Shield

- VCC goes to the Arduino Nano 3V3 pin. Be careful to not connect the VCC to the 5V of the breadboard as you risk to destroy the NRF24L01 Module

- CSN pin goes to the Arduino Nano D7;

- CE pin goes to the Arduino Nano D6;

- SCK pin goes to the Arduino Nano D13;

- MOSI pin goes to the Arduino Nano D11;

- MISO pin goes to the Arduino Nano D12;

- IRQ pin will not be connected. Be careful if you are using a different board than Arduino Nano or Arduino Uno, the SCK, MOSI and MISO pins will be different.

- You will need also to download the RF24 library for this module. You can find it on the following site:

As a power supply for the spider I used a wall adapter 5V (1A). I don't have any kind of batteries available, and this was my only available wall adapter which I think will be better a stronger one of at least 2A but I don't have one so I had to use the only one that I have. It will be much nicer if you use a li-po battery so that the robot can be free, no cable attached.

In order to have a more stable power supply on the board I’ve attached a 10microF capacitator between 5V and GND pins of the Deek Robot Nano Shield, because I noticed that when all the servos where under load the Arduino Nano will just restart, while adding the capacitor solved the problem.

Step 11: Building the Cover

As I wanted the cover as light as possible I’ve made it only from one layer of 2 mm corrugated carton sheet because it doesn’t need any strengthening, as no loads will affect it.

I’ve cut a piece of carton in the shape and dimensions as you can see in the picture and I’ve attached it to the frame with the same nuts that are securing the Arduino Nano Shield underneath the frame. On the top side the two pieces will come glued one upon the other with double tape. I’ve tried to wrap all the wires inside so that the quadruped will look as good as possible.

Now the quadruped is done. Let’s move on to the remote controller.

Step 12: Remote Controller

For the remote controller I’m using the same remote controller from my previous project Maverick remote controlled car, only I striped out the graph which in this project it is not needed. But just if you missed that build I’ve wrote it again here.

As I’m using for the controller an Arduino Uno, I’ve attached the Uno to a breadboard with some rubber bands in order to not move.

- Arduino Uno will be supplied by a 9V battery through the jack;

- Arduino Uno 5V pin to the 5V rail of the breadboard;

-Arduino Uno GND pin to the GND rail of the breadboard;

NRF24L01 Module.

- GND of the Module goes to the GND of the breadboard rail

- VCC goes to the Arduino Uno 3V3 pin. Be careful to not connect the VCC to the 5V of the breadboard as you risk to destroy the NRF24L01 Module

- CSN pin goes to the Arduino Uno D8;

- CE pin goes to the Arduino Uno D7;

- SCK pin goes to the Arduino Uno D13;

- MOSI pin goes to the Arduino Uno D11;

- MISO pin goes to the Arduino Uno D12;

- IRQ pin will not be connected. Be careful if you are using a different board than Arduino Nano or Arduino Uno, the SCK, MOSI and MISO pins will be different.

Joystick Module

- The joystick module consist of 2 potentiometers so it is very similar with the connections;

- GND pin to the GND rail of the breadboard;

- VCC pin to the 5V rail of the breadboard;

- VRX pin to the Arduino Uno A3 pin;

- VRY pin to the Arduino Uno A2 pin;


- Red LED will be connected in series with a 330Ω resistor to Arduino Uno pin D4;

- Green LED will be connected in series with a 330Ω resistor to Arduino Uno pin D5;

Push Buttons

- One of the pushbutton will be used for switching the quadruped light ON and OFF, and the other one will not be used;

- The LIGHT pushbutton will be connected to pin D2 of the Arduino Uno. The button should be pulled down with a 1k or 10k resistor the value is not important.

- The remaining pushbutton will be connected to pin D3 of the Arduino Uno. Same the button should be pulled down with a 1k or 10k resistor. (it is not going to be used for this project)

That’s it we have now connected all the electrical parts.

Step 13: Arduino IDE Codes

For this part there are few code which I’ve used.

Leg_Initialization – was used for centre the servos to 90 degrees position.

Spider_Test – was used for testing the correct functions, as walking forward, back, turning

Spider – to be used for the Spider

Spider Remote Controller – to be used for the Spider Controller

I have to mention that the code for Spider was adapted and modified after the code from RegisHsu [DIY] SPIDER ROBOT(QUAD ROBOT, QUADRUPED) and this is why I would like to thank RegisHsu for his good job.

Well all being said I hope you liked my Spider.

Trash to Treasure

Participated in the
Trash to Treasure

Epilog Challenge 9

Participated in the
Epilog Challenge 9

Paper Contest 2018

Participated in the
Paper Contest 2018

Be the First to Share


    • Make it Glow Contest

      Make it Glow Contest
    • First Time Author Contest

      First Time Author Contest
    • PCB Challenge

      PCB Challenge

    33 Discussions


    Question 4 weeks ago

    Hi Raz, i want to know where the d7 pin is on the nano shield as i cant find it.


    Question 3 months ago

    Hi Raz85,
    Thank you very much for this great tutorial, I learned a lot from it!
    I'm at the end phase of the process and everything seems to work ok, but not the NRF24L01 Module.
    I think I did something wrong in the wiring of the NRF24L01 Module to the spider (nano) itself:
    You said to connect the VCC of the module to the 3v3 of the arduino nano. I connected the NRF24L01 Module wire to the 3v3 on the shield (where the nano is attached to), but I'm not sure if it's connected to the right pin. Do you know what I can be doing wrong / how I can test if my NRF24L01 Module is connected the right way? I attached a picture of the NRF24L01 connection to the nano 3v3 pin on the shield. I hope you can help me, I already tried a lot and am quite stuck here!

    Best, Dirma


    Question 1 year ago

    Would the Esp8266 module works instead of the nrf24l01 module?


    Answer 1 year ago

    I've never used a ESP8266 module before. But if you will use one you have to change the sketch and I can't help you with that as I'm not familiar with ESP8266.


    Question 1 year ago

    I did not used arduino shield instead I used breadboard circuit as you mentioned in the figure,but it is not working can you please tell is there in problem using that?


    Question 2 years ago

    hello Raz85 would it be possible to change the bluetooth moduel to the HO-05 instead if so what would i have to change int the code and wiring it


    Question 2 years ago

    Hi Raz85, what exactly are length_a, length_b, length_c and length_side in the code ?


    Answer 2 years ago

    To all of you with the same question: I found the original code of company Sunfounder and a manual with the original chassis dimensions. So i can tell now that length_a is femur, length_b is tibia and length_c is coxa length. All measured from pivot point to pivot point - what can be a bit tricky for the coxa construction. And length_side is the body lentgh - also measured from coxa pivot to coxa pivot. The original chassis has a square outline - therefore there is only one length.


    Answer 2 years ago

    Hi Raz85, can u give a rough idea what length ist what ? So which length is tibia, coxa, femur ?


    Answer 2 years ago

    Hi PapaDragonn. Those dimensions define the geometry of the robot. I took the arduino code as mentioned in the instructable from RegisHsu [DIY] SPIDER ROBOT(QUADROBOT, QUADRUPED) and I've modified it in order to accommodate a remote control. All the dimesions in the program are related with the side dimension of the frame, coxa length, femur length and tibia length. To be sincere I've played with those values until my spider was standing up and walking correctly I didn't bother to much to find out which one is which. If you will use the same dimensions for the frame like in my case they should work.


    Question 2 years ago

    What exatcly did you use to put the 3 pieces together for each part?


    Answer 2 years ago

    I've used double sided tape to stick the 3 pieces of corrugated carton of each part.


    Question 2 years ago

    Hai Raz85, I have some question. About the controller, I use the Arduino Nano. So, is the configuration still the same as the Arduino Uno?


    Answer 2 years ago

    If you are using an Arduino Nano instead of an Arduino Uno for the remote controller the wiring and configuration will be the same.


    2 years ago

    I have ordered everything I need from Ali Express and this has cost less than £20. I have ordered a few spares of most items as I intend on using them for other projects. Can't wait to start this project. I will be using 3mm ply board as I have a load of it spare and this would make it much sturdier although add to the weight. I will aim to come back in a few months with an update on how it worked out. Also I have a tone of rechargable 9v batteries so will likely use one of the to power the arduino.


    2 years ago on Step 13

    Hi! I'm having some trouble with the Spider Leg Initialization and Spider Test codes, when I try to open them the program tells me that there's an error with the file, I tried to download them several times and from different computers and it's always the same. Is there any way that I can get the codes from a different source? Thanks!


    Reply 2 years ago

    Thanks a lot! I will work with these codes, if they don' work again then that means that the problem is with my Arduino IDE. Thanks again and I hope I can finish this instructable soon! :D


    Question 2 years ago

    I'm trying to find a source for the robot shield and striking out; can you provide a link?