Introduction: CARDBIRD - the Cardboard Robotic Arm

Picture of CARDBIRD - the Cardboard Robotic Arm

Build your own cardboard robotic arm in 2 hours. Let´s Rock´n´Roll!

Step 1: Get Inspired for the Build!

Step 2: Get the Parts!

Picture of Get the Parts!

Here is the parts list:

- cardboard (I actually used about 10 capri sonne boxes)

- hardboard 195 x 295 (Bottom of fruit box for example)

- metal piece 45 x 10 x 1 (Metal constructor parts are perfect for this)

- any arduino board

- breadboard

- servo motor x 4 (Tower Pro Micro Servo SG90 9g )

- jamper cables

- tape

- clip x 3


- IR receiver

- IR pult

For the build you will need glue gun or stick, screwdriver and utility knife.

Step 3: Cut the Body!

Picture of Cut the Body!

Cut the parts like in pictures above. You will need:

- circle with 3 holes x 6

- circle with 2 holes x 1 (second picture without servo hole)

- circle with 35 x 35 square in the middle x 1

- arm holder 1 with servo hole x 4

- arm holder 2 with small hole x 4

- first arm part x 2

- second arm part x 2

You can play a little bit with dimensions. I did it all approximatelly.

Be aware that arm parts must be not too heavy for servos.

Step 4: Prepare CARDBIRD Gripper

Picture of Prepare CARDBIRD Gripper

Cut two 12 x 120 cardboard rectangles and form them like in the first picture.

Form clips like in the second picture.

Form the metal piece with the clip like in the third picture.

Last pictures should just give you the idea behind it, so don´t bring the parts together in this step.

Step 5: Build It!

Picture of Build It!

First make a hole in hardboard and glue the circle with 35 x 35 square in the middle right over it. As a next step make the plattform from 7 other circles and servo motor (the circle without middle hole should be on top). Now screw the plattform to the servo arm and the servo arm itself to the hardboard on the bottom side (see pictures). Don´t forget to calibrate platform position. These servos can rotate only for 180 degrees. Further make the arm holders, first and second arms like in pictures above. Now you can screw the arms and the holder together and plug it into the plattform. And again, don´t forget to calibrate arms position. As next install the gripper. And you´re done! It´s time for electronics!

Step 6: Electronics!

Picture of Electronics!

Servos: PIN 9 - plattform, PIN 8 - first arm, PIN 7 - second arm, PIN 6 - gripper.

Upload the arduino code! Don´t forget to download the IR-Remote-library at

Copy it in your libraries folder and then rename it to "IRremote" before uploading.

Now you have 2 options to control your arm: via PC or via IR pult. For the first option just open the processing program and use the keyboard. With IR pult try this: 7 and 8 for the plattform, 2 and 5 for the first arm, 2 and 4 for the second arm, + and - for the gripper. If it´s not working you will need to adjust the loop()-function in arduino code. Just read the corresponding values with serial monitor and replace my values.

Step 7: Have Fun!

You're done! Now you can play with your own cardboard robotic arm!

Any questions? Just write it in comments or send me a message!


JackobHolland (author)2017-07-19

Hi, I uploaded the sketch and set everything up properly but the servos are twitching and won't respond to any user input. I am using SG92R's. Plz help?

CoreyC39 (author)2016-11-05

I have a problem: I'm like 14, and want to use a Bluetooth usb on a arduino uno to control it from my phone (I'm gonna make 2 and use the board as a brain) and really wanted to know how and if i could do it without wasting 50+ dollars. Please help. I only want a way to wire the two arms together while using the same board and power source. Is this possible or completely insane?

OahuMakerspace (author)CoreyC392016-11-10

I'm not sure you can use a bluetooth USB dongle on an Arduino. I believe you need to use a bluetooth module. I haven't tried it, but it sounds like a great project for you. I found this website that might get you started.

CoreyC39 (author)OahuMakerspace2017-01-26

I think I might have fixed some things, but I'll review it and run it back to you when I'm done

CoreyC39 (author)OahuMakerspace2016-12-05

Here's the blueprints

CoreyC39 (author)OahuMakerspace2016-11-28

it might take a year, but i'll get there

CoreyC39 (author)2016-11-21

How much voltage is required?

OahuMakerspace (author)2016-11-08

I've been wanting to do this with my son for a while now and we've finally have some spare time to work on it. I've been playing around with the software side and have run into two problems.

1) In Processing, this line in the code is highlighted:

String port = Serial.list()[0];

with the error message:

ArrayIndexOutOfBoundsException: 0

I need to look into this further, but any assistance would be appreciated. I might alter the code to make this a stand alone unit with buttons instead of having to run the Processing sketch.

2) As of 11/08/2016, the Arduino-IRremote Github repository no longer exists. Not a big issue for me at the moment, since I don't have an IR remote.

Uladz (author)OahuMakerspace2016-11-09

I've been playing around with the software side and have run into two problems

1) In Processing, this line in the code is highlighted:

String port = Serial.list()[0];

with the error message:

ArrayIndexOutOfBoundsException: 0

This error message only says that there are no devices connected to the serial port. So just plug in the arduino board and it should disappear.

OahuMakerspace (author)Uladz2016-11-10

Thanks, I assumed that to be the case and did plug one in. I had to try and run the sketch a couple of times for it to finally show up. However it doesn't move. The TX led on the Arduino briefly flashes when I press the keys, except for A and Z. I loaded the servo sweep sketch to ensure I could control all the servos and that worked.

My current plan is to rewrite the code to use physical push buttons instead of having to attach a computer. If I get it working I'll share it.

Got the code working. Now I can use a 5V cell phone charger to run it without the computer.


I believe the Arduino-IRremote library is in a different repository. I traced it back from Ken Shirriff's blog:

which points to a different GitHub repository:

NotThatASHUTOSH (author)2016-10-15

I'm providing power to the arduino only by using my pc usb port and it is not working like motor is not getting enough power.Should I use another power adooter as power source. What will be the rating of the adopter which can bear load of 4 sg 90 servo motor....
Please respond fast

Uladz (author)NotThatASHUTOSH2016-10-15

HI, 5V 1000mA should be enough.

NotThatASHUTOSH (author)Uladz2016-10-19

Is this 5V 1000mA for every motor or for board I'm using 12 V 2 A power adopter for arduono board and then giving power to the motors using 5V pin out given in power section of arduino bboard even it's not working

Were you able to fix this? I was able to run 4 servos through my Arduino powered by my laptop. If you are concerned about not enough power, connect the servo power rail directly to the power supply.

CoreyC39 (author)Uladz2016-11-07

please help me

menon (author)2016-11-06

my base servo and first arm servo not working

menon (author)2016-11-05

this is the error shown in processing software while running

menon (author)2016-11-05

help me pls.................. i need it to for tmrw

menon (author)2016-11-05

the function printarray(string[]) does not exist

JayWeeks (author)2016-09-29

Very cool!

AngryFrogger (author)2016-09-24


AngryFrogger (author)2016-09-24

I double checked where the wires are going and they are making the right connections. I know there a signal from the computer because when I type either "A, W, Q, Z, or the arrows", a light with "RX" next to it lights up on the arduino board. When I unplug then plug in a cable from the bread board, the servo motor moves a tiny bit for a quick moment. Here are photos.

AngryFrogger (author)2016-09-23

So I just finished building the arm and everything is connected nothing is going through. There is signal from the computer to the arduino board but not to the arm. Do the color of the wires mean anything? Or is this just a faulty breadboard?

Uladz (author)AngryFrogger2016-09-24

I don´t think, your breadboard is faulty. Just make sure you connected servo motors correctly: Black - GND, Red - 5V and Yellow - to corresponding Pin. For the rest you can use any wires (colors) you want.

Could you also send some photos to give me more info.

How do you know, that there is a signal from computer to arduino?

AngryFrogger (author)2016-09-22

This is awesome! I'm a newbie, so how do you control it from your computer? Is there a special system you need or do you just somehow connect it to your computer and it automatically pops up?

Uladz (author)AngryFrogger2016-09-23

Hey AngryFrogger,

To control the arm you can use any arduino board, see Then just download processing programm from It allows to control your arduino projects via computer using SerialMonitor. Upload arduino programm and start processing sketch, then just use keyboard to send commands to arduino.

Have fun!

AngryFrogger (author)Uladz2016-09-23

Thanks so much!

GenjiKai (author)2016-09-23

Would a universal tv remote work for the controller?

Uladz made it! (author)GenjiKai2016-09-23

Hi, it will work, but you will probably have to change the arduino code
slightly, i.e. the numbers in switch cases. Just print the received
values from buttons you want to control the arm and replace my numbers.

AfshaanLondhe (author)2016-09-15

great design

Well done. Great for Iblers who would like to work with a robotic arm but not spend $200.00 on a kit.

Swansong (author)2016-09-12

Cool project! Thanks for sharing. :)

About This Instructable




More by Uladz:CARDBIRD - The cardboard robotic arm
Add instructable to: