An open-source educational robotics project that inspires elementary and middle school kids to invent through building their own robot

Similar projects worth following
This project started in May of 2014 by asking one question - how might we bring joy and purpose into technology? As we interviewed hundreds of teachers, parents and engineers, we got the idea to build simple robots with kids. We wanted to bring kids through the process from ground up, rather than connecting off-the-shelf parts.

This was the inspiration of our first Barnabas-Bot. We brought it to a small classroom in Pasadena, and have since iterated the design through hundreds of hours of classroom testing. The project mainly consists of CAD design, 3-D printing, software and hardware design.

We are continuing to fine tune our open-source Barnabas-Bot program to make it more accessible to students across the globe. We are also working on an open-source curriculum that will help any elementary or school teacher inspire young minds through our kit.

Solidswork files for 3-D printable Barnabas-Bot. Version 2.2.

x-zip-compressed - 13.12 MB - 01/29/2017 at 01:56


EAGLE file for Barnabas Noggin daughter board for Arduino Nano -- REV C Created by Vincent Kok.

x-zip-compressed - 1.43 MB - 01/29/2017 at 01:54



Sample engineering notebook for Barnabas-Bot Class

document - 4.19 MB - 01/29/2017 at 01:52


  • 1 × Barnabas Noggin (or Arduino-Uno compatible board) Amazon keyword search: Arduino Uno Compatible Board
  • 2 × 4700 Ohm Resistors (Thru-Hole Type) Amazon keyword search: 4.7K Ohm Resistor
  • 2 × 470 Ohm Resistors (Thru-Hole Type) Amazon keyword search: 470 Ohm Resistor
  • 1 × 170 point mini-breadboard Amazon keyword search: mini breadboard
  • 1 × 5mm LED Amazon keyword search: 5mm led 3v

View all 17 components

  • I know what I'm doing 2: The return of Jafar -Eric

    eric4 days ago 0 comments

    Hey guys,

    So I'm finally wrapping up the process of creating and testing all the subsystems in preparation for creating the integrated layout. The last one that I needed to route was the 'Special sauce' so to speak, that makes our board different from a stock Arduino Uno.


    So, in addition to routing and milling this board I have tested the power reg., USB, and power management subsystems separately and together. .....They worked! Wouldn't it be nice if when I test all the subsystems together, they all just work the first time. A man can dream.

    Till next time,


  • New bottom?!

    Ryan7 days ago 0 comments

    Hello internet and ..

    Last week you all saw my wonderful failures of my new bottom. But despite all that, there has been some modifications that i started working on. One major thing that i found out is there are still issues with the back of the Rev C board that i did not take into account for. The pins on the bottom is still and issue that i needed to resolve. But after i edited the bottom, i found that the new one is perfect.

    Now with the new board, im good to go for changing the sides and so forth! How exciting, Next step is to finish the drafting and shrinkage.

    Until next time!

    - Ryan

  • Oh the mistakes

    Ryan05/13/2017 at 23:01 0 comments

    Welcome back to the blog people and ....

    Last week we were talking about injection molding, and there were a lot of issues that i had to cover. One of the biggest problem that im trying to solve is to make our rev c boards work with the new ejection molded pieces. And let me tell you, it's not going to be easy. Especially with things like this happening...

    Ah yes, tis broken....

    Ill have to try this again with a different design.

    Welp, ill see you guys next time!

  • I think I finally know what I'm doing -Eric

    eric05/13/2017 at 21:25 0 comments

    Hey everyone,

    Since I checked in with you last time I've just been doing more of the same. That is, routing the subsystems for the Barnabas bot noggin. I am almost done with this process and will soon begin the integrated layout of the board.

    So, not super exciting, BUT, I feel like I've leveled up as far as routing goes.

    Below is an image of me routing on KiCad earlier this week;

    Maybe I'm giving myself to much credit but I am very proud of the PCB I made for the core processor board, take a look;

    I did actually have a plan when routing this board. The first thing I did was make specific GND and 5V paths so that I could easily navigate additional tracks to power. The second was to intentionally branch the tracks of the ATmega328P outward before actually trying to navigate it into its proper place. Keeping those two things in mind really seemed to help me route the board. Anyway that's all I've got for today.

    Till next time,


  • WoodBot rev2!

    Edward Li05/10/2017 at 22:49 4 comments

    Hey guys,

    Quick update on our wood-bot. Still working on a solution for our head or arms. For now, we did an iteration on the design of the interlocking faces.

    Which one do you like better?

    More later!


  • More subsystems, first BOM

    eric05/06/2017 at 20:20 0 comments

    Hey everyone,

    I know it's been awhile since I checked in with you guys so I thought it was time for an update. Since last time I have completed two more subsystems, although they're a bit ugly. Let me show you;

    My main issue with how these look is the number of vias I had to drop to connect everything. That's going to make them more annoying to prototype on the FR1 boards. I took Dan's advice as far as routing, don't bother making it look pretty, just make it work. As you can see that's exactly what I've done.

    In addition I have created a BOM, bill of materials, to get an idea of the board's cost. It's very rough in it's current state and it is likely that many of the components currently listed on it will change. However it's an important step for us because it gives us a current dollar amount for the board. We're now aware of how far away from the cost goal we are and can adapt as needed.

    Well, that's all I have for you this week.

    till next time,


  • And the drafting begins

    Ryan05/05/2017 at 20:06 0 comments

    Hello people of the internet and...

    Unfortunately, not much has happened but i can say for sure that i've gotten 2/3 pieces of the robot that needs to be drafted with the 3 degrees . The hardest part of this was figuring out what sides are vertical and if so, how will i draft it. Since a majority of what im doing is altering the positive of the mold, it isn't the easiest to guess how it will come apart especially since i practically have no idea what im doing. But that aside, i also have to keep in mind that there is the issue of how my draft angles will interact with the other pieces. Will they go together? Or will they no longer secure itself as rigidly as before? These are all questions that can be answered after printing some of them out. But, there was an issue.....

    As you probably could not tell from this image, the prints that i waited for are not flush. Flush in a sense that they are not solid flat pieces but curved. This is an issue with the adherence of the printer base and the plastic during the printing process. Therefore i need to print another one.... again...

    Well, that's all i have for this week, until next time!


  • Injection Time

    Ryan04/28/2017 at 17:07 0 comments

    Hello people of the internet...

    Now this week is a shorter one because i don't have that much content to provide. This week i added another version of the head but despite that, i need to start making everything injection mold ready.

    This week we talked to the resident engineer, Dan, and he bestowed me knowledge about how to prep my parts for making the molds.

    Ah yes, it's a lot more than i understand but despite all that, no one in the makerspace knows how to do it either. All i really know what to do is make sure no vertical line is 90 degrees. I hope everything will work well.

    Well, until next time...


  • Finally! subsystems -Eric

    eric04/22/2017 at 20:41 0 comments

    Hey everybody,

    I'm excited for this update because I finally have some useful boards to show you, Check them out;

    On the left is the power regulation subsystem and on the right is the USB interface subsystem. Now all I need to do is solder the appropriate parts on to each board and I will be ready to test them and see if my alterations have the desired effect. In addition to soldering and testing these boards I have several subsystems that I have yet to layout or mill, as well as several parts that need to be ordered. I'm finding that the aspect that I am least comfortable with is putting together a BOM for the parts needed. Luckily I will get plenty more practice before this is all over.

    Till next time,


  • Losing my head!

    Ryan04/21/2017 at 19:17 0 comments

    Hello dear readers and..

    Last time i had show you guys some of my achievements like finishing the design of the new body for the Barnabas bot. Although that was a big achievement for me, it still was imperfect since it did not get into the actual issues of the PCB board mount that Eric and i need to work together to get it working. On top of that, Eric was very picky about how the height of the bottom base was not to his standards so back to Fusion i go!

    After i finished my wonderful adventure to the lands of modeling i went straight to printing. But of course, mistakes were very much made that day when i forgot to add support material...

    I am a very intelligent man...

    But fear not viewers! I have corrected my mistakes a produced a base worth of Eric's praise!

    Ah yes, what a master piece.

    But i'm not stopping there! Although the body is practically done, we still need to make the entire robot injection molding ready which means i need to update the old one to newer versions. and here's the runner up...

    Now here's the thing, the idea of injection molding is similar to ice cube trays. If you were to make a tray to create these heads, would it come out? Well by theory the one to the left would but the one on the right would not because of the fact the eyes are indented inward which would provide an issue in terms of mass producing these. Additionally, i won't stop with just the left one, i'm still making different versions that will let us have a larger variety to pick from.

    But for now, until next time!


View all 25 project logs

  • 1

    1: Designing Your Robot


    In this step you will design your robot and learn a little about computer aided design (CAD) while you're at it. After you finish the design, you will send the robot desing file to our factory via email so that we can start putting together your one-of-a-kind robot. If you already have your robot, you can skip to STEP 3.


    • L-CLICK = left click
    • R-CLICK = right click

    See below to watch one of our instructors demonsrate the entire process.

    Getting started with CAD

    We will be using OnShape. It is free cloud-based CAD software. This will allow you to view and modify our files for 3D printing.

    1. Create an OnShape account
    2. Login to your account

    Creating your design file

    • Name the project: "BARNABAS-BOT 2.2 [YOUR NAME]. Make sure to 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!

    OnShape Basics

    Here are a few tips on how to move stuff around in OnShape.

    • OnShape Basic Movements
      • Open the file "robot body front plate."
      • Rotation
        • Method 1: L-CLICK on arrows in the cube on the top left to rotate the entire perspective.

      • Method 2: R-CLICK on a part and move the mouse.
      • Method 3: L-CLICK on the "FRONT, BACK, LEFT, ETC." on the cube on the top left.
    • Translating a part (moving it up, down and side to side)
      • Method 1: Hold down CTRL and R-CLICK on the part to move it around.
      • Method 2: L-CLICK down using the SCROLL button to move it around.
    • Zooming
      • Use the scroll button to zoom in and out.
      • Go to "FRONT VIEW."
      • Press "F" to fit the part into your screen. This is called, "ZOOM TO FIT."

    Write on your robot's body

    • Open the "robot body front plate" file in OnShape.
    • Change the size of the text
      • Double L-CLICK on the “B” until you see a number pop up on the right side of the screen

      • Change the number to a larger number (like 2 or 3). 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

    • 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
    • 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!
    • 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!

    Put your robot together

    This is where you will put all your robot's body parts together and create the final file that you will share with us.

    • 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

    • Insert your body
      • Insert your body by clicking on the insert button

      • 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!
      • Now go to the Front View
    • Insert your custom plate
      • Now insert your "robot body front plate" file.
      • 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

    • Insert your head
      • Using the same process as before, insert the head that you want

    • Insert your left arm and align it

    • Insert your right arm
      • You'll need to rotate it to align it correctly
      • L-CLICK on the arm to show the rotation tool
      • Click on the circle shown in the picture to rotate it

    • After it is rotated, align it correctly with the hole

    • Insert your hands and ears as well!

    • Create a drawing of your final assembly file
      • R-CLICK on the assembly file tab that you just created
      • L-CLICK on "Create drawing of ... "

    • A screen will pop up. Make sure that "Four views" is selected under "OPTIONS", and L-CLICK on "OK"

    • A drawing will be automatically created.

    • Double L-CLICK on the text boxes to edit the text. Write your name as well as your robot's name.

    • You are done!

    Share your robot with us!

    This step is necessary if you would like us to 3-D print your robot for you.

    Once you share it with us, we will provide a confirmation within 24 hrs. Now just sit back and relax as we start putting your robot kit together!


    • What to do if the "B" on your robot dissapears

  • 2

    1: The Robotics Kit

    Kit Contents

    We have provided the contents of our kit below so that inventors all over the world can make their own DIY version of this simple robot kit.

    Electrical Stuff

    • 1 x Rectangular 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 Blue 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


    • (*) Not needed for the quick-build. These parts are only used in the full version of the class.
    • Newer kits include the Barnabas Noggin board instead of the rectangular Arduino Uno compatible board. These same kits will also include an A to mini-B cable instead of the A-B cable.
    • Maker Faire kits do not come with the mini breadboard because the included Barnabas Noggin comes with the light, buzzer and servo motor connections built in.

    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
    • 1 x Miniature philips screw driver

    Other Things That You Need

    • Acrylic pain or Sharpie markers to decorate your robot
    • Computer to program your Arduino Uno compatible board (Mac or PC)
  • 3

    1: Decorate Your Robot!

    Industrial Design

    Once you get your kit, go ahead and first decorate your robot! We typically use acrylic paints, but we have also used metallic paints as well as Sharpies. See below for some cool examples!

View all 16 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates