Introduction: DIY Robotics Project - Barnabas-Bot 2.0

About: Encourager, learner and inventor. My passion is in building up others. My interests are in robotics and business.


Barnabas-Bot is an introduction to robotics kit (and class) that provides an opportunity for students to learn Science, Technology, Engineering, Art and Math in a fun and engaging manner. Through this course, kids are introduced to circuit building, micro-controller programming and 3D printing as they build a fully functioning robot of their own. Every robot is different, as each inventor determines their robot’s appearance and behavior.


We have provided the contents of our kit below so that inventors all over the world can try to put this robot together at home. Note that not all of the contents will be used in this project. To learn these concepts in more depth, or to get a ready-made kit, visit our website!


Connect with our community of kids, parents and educators who are using Barnabas-Bot by joining our online forum.


Interested in teaching Barnabas-Bot as a class or after-school program? Check out our classroom curriculum.

Electrical Stuff

  • 1 x Barnabas Noggin (Arduino Uno Compatible board)
  • 1 x A-B USB Cable
  • 3 x Servo Motors (9g)
  • 1 x Miniature Bread Board
  • 15 x 15 cm Male to Male Jumper Wires (5 x Black, 4 x Red, 3 x Orange, 2 x Green, 1 x Blue)
  • 2 x 100 Ohm Resistors
  • 2 x 10K Ohm Resistors
  • 1 x LED
  • 1 x Buzzer (Active, Magnetic/Electro-mechanical, 5V, 12mm diameter)
  • 1 x AA Battery Holder
  • 1 x 9V Battery Adapter (to plug into the Arduino-Uno compatible board)
  • 1 x AA Battery
  • 1 x 9V Battery

Software Stuff

Mechanical Stuff

  • Custom 3-D Printed Robot body parts
    • 1 x Head
    • 1 x Front Plate
    • 1 x Body
    • 2 x Arms
    • 2 x Ears (optional)
  • 6 x #2-7/16" Screws (RTL Fastener) -- for servo motors
  • 6 x 2-56 Nylon Insert Lock Nuts (RTL Fastener) -- for servo motors
  • 2 x #2-9/16" Screws (RTL Fastener) -- for arms
  • 4 x 1/4" Screws -- for face plate and back plate
  • 1 x 5/64" allen wrench


  • Super Glue
  • Acrylic Paint


  • Christine Su (Mechancal Design)
  • Evan Woolery (Concept Design)
  • Arduino
  • ArduBlock
  • OnShape

Step 1: Selecting Your Robot's Head

  1. Create an OnShape account. It is free. This will allow you to view and modify our files for 3D printing.
  2. Login to you new Onshape account.
  3. Open the Barnabas-Bot Template file.
  4. View the head files. View the following head files:
    • "robot dome head"
    • "robot head mike1"
    • "robot head mike3"
  5. Select the head that you like to use for your robot. Remember the file name. You'll need it for the next step!


  • We are constantly updating the head files, so if the file names or head shape don't match exactly with the pictures, don't worry!

Step 2: Customizing Your Robot's Body

  1. Make a PUBLIC copy of the OnShape project.
    • Do this by clicking on "Make a private copy".
    • Name the project your name: "BARNABAS-BOT 2.2 [YOUR NAME]. Make sure to also choose "Public"
    • Once you do this, a new project should open up, which will be a copy of the original project, but with this new name
    • You are now ready to customize your robot's body!
  2. Share your new file with us!
    • This step is necessary if you would like us to 3-D print your robot for you.
    • Share it with the following email address: ""
    • Directions on how to share
  3. Open the "robot body front plate" file in OnShape.
  4. Change the size of the text.
    • Double L-CLICK on the “B” until you see a “1.5” pop up on the right side of the screen
    • Change the “1” to “2”. The B should be larger now!
    • Change the value to “0.5”. The B should be smaller now!
    • Click on the green check mark to save your changes
  5. Move the location of the text.
    • R-CLICK on the “B” and L-CLICK on “Edit Sketch 1…”
    • L-CLICK on one of the 4 blue corners (they are kinda small, you might need to zoom in) of the rectangle around the B and drag the blue rectangle up and down
    • Click on the green check mark to save your change
  6. Change the text.
    • R-CLICK on the “B” and L-CLICK on “Edit Sketch 1…”
    • R-CLICK on the “B” again and L-CLICK on “Edit Text”
    • Now change the text to “C”. Click on the green check mark and see if it changes!
    • Now change the text to “BARNABAS”. You’ll see that it doesn’t fit on the robot face. How can you make it fit? (Change the size of the text to 0.3 or less)
    • Click on the green check mark and see if it changes!
  7. Now change the text to whatever you want!
    • It can be a single letter, or many letters. Play with different sizes. Make sure that all of the text fit on the robot! Remember to click on the green check mark to save your changes! Make sure to keep the size of the text larger than 0.3" so that it comes out well during printing!

Step 3: Create an Assembly File

  1. Create an assembly file
    • L-CLICK on the “+” sign at the bottom left of your screen
    • L-CLICK on “Create Assembly”
    • Your assembly file should automatically open up
  2. Insert your body
    1. Insert your body by clicking on the insert button
    2. Now select the "robot body" file by selecting it inthe list of files. Place it in your assembly file and click on the green check mark to save your work!
    3. Now go to the Front View
  3. Insert your custom plate
    1. Now insert your "robot body front plate" file.
    2. Align the front plate with the body by left clicking on it and dragging it. You’ll need to rotate the views to get it to align correctly
  4. Insert your head
    1. Using the same process as before, insert the head that you want
  5. Insert your left arm and align it
  6. Insert your right arm
    1. You'll need to rotate it to align it correctly
    2. L-CLICK on the arm to show the rotation tool
    3. Click on the circle shown in the picture to rotate it
    4. After it is rotated, align it correctly with the hole
  7. Insert your hands and ears as well!
  8. Create a drawing of your final assembly file
    1. R-CLICK on the assembly file tab that you just created
    2. L-CLICK on "Create drawing of ... "
    3. A screen will pop up. Make sure that "Four views" is selected under "OPTIONS", and L-CLICK on "OK"
    4. A drawing will be automatically created.
    5. Double L-CLICK on the text boxes to edit the text. Write your name as well as your robot's name.
    6. You are all done!

Step 4: 3-D Print Your Robot!

Now it is time to print your robot. In order to get the STL files required for your 3D printer, just go to the corresponding OnShape file, R-CLICK, and select "export".

You'll need to print the following files;

  1. "robot body"
  2. "robot body front plate"
    • Note: This will be your customized version!
  3. "robot dome head", "robot head mike1", or "robot head mike3"
    • Note: Remember to select the head that you want. Each robot only has one head :)
  4. "robot arm left"
    • Note: Just one will be enough
  5. "robot arm right"
    • Note: Just one will be enough
  6. "robot hand"
    • Note: You'll probably need two of these!
  7. "robot ear"
    • Note: You'll probably need two of these!

If you don't have a 3D printer, don't worry! We can provide a kit that includes your custom 3D printed robot. To do this, start by sharing your OnShape project with us by sending it to the following email: "".

Step 5: Paint Your Robot!

It is now time to paint your robot. We typically use acrylic paints. Have the kids think about how they want their robot to look before they start painting. This is a great time to introduce industrial design concepts.

Step 6: Assembling the Servo Motors

It is now time to put your servo motors into your body. These motors will be the joints that connect your head and arms to your body - and will also rotate them.

  1. Place the three servo motors into the three sockets on the body. They should fit right into the mounting holes.
  2. Fasten with screws. Use your 6 servo screws and allen wrench to fasten the servos to your body. Make sure not to tighten it too much, or it might damage your body (just until the motor is snug).


  • Newer versions of the Barnabas-Bot kits include nylon lock nuts to better secure the servo motors. Note that they nylon lock nuts will just barely fasten onto the end of the screw.

Step 7: Attaching the Face Plate to the Body

Now you'll want to super-glue your custom face plate to your body. Try your best to keep it aligned!


  • Newer versions of the face plate can be screwed on rather than super-glued

Step 8: Attaching Your Arm Joints

Your 3-D printed arms need a way to connect to the servo motor. We do this by reusing the servo motor couplings provided with the servo motors. Cut excess material off of the coupling and super glue it to the arm.


  • There is no need to cut and attach the servo motor couplings if you have purchased our Barnabas-Bot kit.

Step 9: Attaching Your Neck Joint

Your 3-D printed head needs a way to connect to the servo motor that is on the body. We do this by reusing the servo motor coupling provided with the servo motors. Super glue the coupling to the bottom of the head.


  • There is no need to cut and attach the servo motor couplings if you have purchased our Barnabas-Bot kit.

Step 10: Assemble the Robot!

Now, attach your arms and head. You are ready to start wiring and programming!


  • First versions will require you to press-fit your head and arms onto the servo motor. Be careful not to press to hard when performing this step. You don't want your servo motors to come loose!
  • Newer versions of the Barnabas-Bot will allow you to screw your arms and head directly into the motors for a more secure connection.
  • Newer versions of the Barnabas-Bot come with a back plate that you can also screw on directly to his back.

Step 11: Wiring Up Your Robot

It is now time to wire your robot to your Arduino-based controller so that you can program it to move! You'll need your miniature breadboard, jumper wires and Arduino. Follow the attached wiring diagram. There are a lot of wires, so it will take some patience!


  • Notice that there are both 100 Ohm And 10K Ohm resistors in our kit. Check out this Instructable to tell the difference between resistors.
  • Polarity matters when it comes to the LED (Light Emitting Diode) and the buzzer (the cylindrical component).
    • Reading the wiring diagram
      • The buzzer: the red wire is positive
      • The LED: the leg with an angled bend on the side closest to the light bulb is the positive
    • Reading the components: The longer leg on the component is always the positive, and the shorter leg is always negative.

Step 12: Connecting to Arduino

    1. Install Arduino IDE by following the direction at the Arduino website.
    2. ArduBlock & Hardware Driver.
      • Install the CH341 USB Driver. You will need this to connect an Arduino board that uses a CH341 chip. Watch a tutorial on how to install the USB driver. Download and install the USB driver software.
      • Install ArduBlock. Here is a very good video on how to do the install. Download the necessary .jar file.
      • FOR WINDOWS USERS: We have created a batch file package to streamline this process. To try it, download the file, unzip the package, and follow the instructions in the README file.
    3. Connect your hardware. Using the USB cable, plug in the Arduino to your computer. Make sure to unplug any battery that may be connected to your Arduino. At this point the Arduino's on-board LEDs should turn on.
    4. Open the Arduino IDE software by click on the Arduino icon.
    5. Select the right COM port. Go to Tools->Port, and click on the item that starts with the 3 letter, "COM"
    6. Upload to test. Click on the "Upload" button, and wait.
    7. Wait. It will take a few minutes, but you should then see the "Done Uploading" message on the bottom right of your screen.
      • If you get an error:
        • Close the Arduino IDE
        • If there are multiple "COM" options under Port, try selecting the other "COM" options and repeat steps 4-8
    8. You're done! Congratulations, you are now able to write a program to your Arduino!

    Step 13: Writing Your First ArduBlock Program

    1. Now open ArduBlock by going to Tools-> ArduBlock
    2. You should see the ArduBlock screen pop up
    3. Go to the "Control" section and drag in a [LOOP-DO] block. Click on Save, type in your name, and click "Save" again.

    Step 14: Make Your Robot Move (Light Up or Play Music)!

    Using the Servo block, you can make your head, left arm, and right arm move! Some sample code has been provided. Have fun!

    Blocks that you'll probably need:

    • SERVO: Go to PINS -> SERVO
      • This block has two values.
        • #: The pin number must match the orange wire of the servo motor that you are trying to move
        • Angle: The value can be 1-180. This allows you to set the absolute angle of the motor.
      • Units are in milliseconds

    If your arms aren't moving, you'll need to double check your code - and also your wiring!


    Step 15: Watch Your Robot Dance!

    Once you are happy with your program, you are now ready to run your robot without your computer! Note that when you download code to your robot, it is automatically stored to your Arduino-based device (meaning that it will remember the code - even after you power it off). Now just plug in your 9V battery using your battery adapter, and your robot is done!

    Post a video or photo of your finished project on our Facebook page or community group!