Ride on Top KIBO


Description: Macintosh HD:Users:NedlamAdmin:Downloads:20161219_211044.jpg


What does it do?

My final project is to build a ride-able version of the KIBO robot. A comparison between playing with this robot and the original KIBO will be the focus of my Master’s thesis in the Child Studies and Human Development at Tufts.


            My robot reads CHIRP (a tangible programming language) blocks using a barcode scanner, stores the program, and then executes the program at the push of a button. The commands are all movement commands (e.g. forward, spin, left), as well as repeat.


Who's done what beforehand?          


            This is an image of the original KIBO developed by my advisor Marina Bers and a link to KIBO’s website




Because KIBO is now a commercially available product I was not able to get any of the design files or source code. I am using the same CHIRP blocks that KBIO uses. The only thing I copied was the design and UI


What did you design? What parts and systems were made?

            Electronics System

Description: Macintosh HD:Users:NedlamAdmin:Desktop:HowToMake:FinalProject:pics:Electronics.jpg


With some consultation from my friend Jon I designed this system for powering and controlling Big KIBO. It uses two 12V batteries to make 24V power. There is a 100A fuse that also acts as a power switch for now. The batteries connect to a 24V power bar that provides power to the motor controller and a 24V – 5V regulator. The motor controller receives 5V PWM signal for each motor and drives them. The 5V regulator goes to a 5V power rail which supplies the microcontroller, and the logic side of the motor controller. The microcontroller powers a PS/2 to ttl converter which is attached to a PS/2 barcode scanner. The microcontroller and converter communicate over serial as a simple network.



            During output week I designed a microcontroller board that would be versatile for prototyping this project. I had initially planned to redesign it once I had my electronics system and overall design solidified. I did not get to this especially after my first board mysteriously broke and had to remake it. Here is a link to designing the first board.




            When I remade it I thickened some of the traces. Here is the second version.



Description: Macintosh HD:Users:NedlamAdmin:Desktop:HowToMake:FinalProject:pics:20161218_145325.jpg



In designing a big robot for children I ran into the question of how big is big? I started by making a tape drawing on the floor to get a sense of scale. This one is designed to fit through the doors of the department.




Description: escription: Macintosh HD:Users:NedlamAdmin:Downloads:20161101_180235.jpg 












I then built two non-powered wooden versions. I invited three first graders to come and play with them and asked them for their thoughts. I settled on the 22”x30” version.

Description: escription: Macintosh HD:Users:NedlamAdmin:Downloads:20161117_195059.jpg



The weekend of (11/20) I built the frame for my robot at SMFA with help from my friend Graham!


Description: escription: Macintosh HD:Users:NedlamAdmin:Downloads:20161120_221306.jpg



The frame is made from 1” tubular steel. The axels are mounted at the center of the frame to allow the robot to spin in place, like the original KIBO.



            It is important for me to allow the future children who will be using this robot to be able to see the insides. I designed a top that would have an inlayed piece of clear acrylic over the electronics system so that they could look in.

I designed the top and inlay in fusion360



For part of my research I have been studying the makerspace at Malden Highschool for the last 2 years. The timing was just right that they had just had an inventables X-Carve installed. I wanted to test it out so I went over to cut the top.

Description: Macintosh HD:Users:NedlamAdmin:Downloads:20161214_183142.jpg


I was impressed with the machine especially at its price point ($1000). However when I later discovered that the rectangular hole I cut out was not square and had to redo the piece on the shopbot.

Description: Macintosh HD:Users:NedlamAdmin:Desktop:Screen Shot 2016-12-20 at 8.51.57 AM.png


            I originally designed the Acrylic inlay to be the exact size of the hole. I cut a test piece out of cardboard on the laser cutter and found it to be too tight. Remembering the kerf of the laser. I cut out a few more pieces of cardboard taking of a few thousandths of an in each time till I got a piece that fit nicely. I also made sure to fillet the corners to account for the ¼” bit I used to mill out the hole.


Battery Holders

I needed to find a way to hold down my batteries to the robot. So I designed battery holders.

 Description: Macintosh HD:Users:NedlamAdmin:Desktop:Screen Shot 2016-12-13 at 12.39.38 PM.png

The holder came out a bit small but this became a feature because they are now squeezing the batteries and holding them in the perpendicular direction as well. I printed these on the makerbot.


Description: Macintosh HD:Users:NedlamAdmin:Downloads:20161211_093337.jpg



Barcode Holder

I needed a way to attach the barcode scanner to the front of the robot do I designed this barcode scanner holder.

Description: Macintosh HD:Users:NedlamAdmin:Desktop:Screen Shot 2016-12-20 at 9.28.18 AM.png


It was printed with the two tabs facing up, because this would be the orientation produced no overhang problems except for the holes. I knew that Ultimaker could handle the holes but the one in my lab in Malden wasn’t working the day I was there so I decided to try it on the Makerbot. It printed but I basically had to repunch the holes myself. Later I reprinted it on the Ultimaker with much better hole resolution.

Description: Macintosh HD:Users:NedlamAdmin:Downloads:20161215_204826.jpg

This is the makerbot print. You can see the gap between the bottom of the scanner and the plastic caused by re-punching the hole and extra plastic from the support.





The robot needed some way to slide along the floor without scratching it or tipping too much. At first I thought I might design something and try to mill it out of HDPE but there wouldn’t be enough time and it would require a lot of plastic. Daniel told me to consider furniture pads. I found the last two packs a the local hardware store. I mounted two pieces of plywood to close the gap and then stuck the furniture skids on. The robot was slipping so I removed a ¼” off of one of the plywood layers and it worked how I wanted it!

Description: Macintosh HD:Users:NedlamAdmin:Downloads:20161219_171438.jpg



I wrote a bunch of code for this project. Parts of it I’m sure could be more elegant, but hey, it works!





What materials and components were used? Where did they come from? How much did they cost? 


Material / component




Sabertooth Motor Controller


Hudson Ohio



ExpertPower 2 x 12V SLA batteries




Couldn’t find anything about the company


Turner steel supply  via SMFA store



Atmega 328p

DigiKey / Atmel



Barcode Scanner

Champtek Taiwan





PS/2 to TTL convereter

Locus Engineering Ontario





Poplar Plywood 4’ x 8’

Home Depot


Unsure of initial source

Acrylic 12”x24”x ¼”




Motor Assembly

Scrapped Invacare PowerChair


Thank you to Charlie Croteau and Eric Peloquin for all the wheelchair parts.

24-12V converter





Couldn’t find where SINOLLC is located.



What processes were used?

2D and 3D design in Fusion360

Š      Top

Š      Acrylic inlay

Š      Battery holder

Š      Scanner holder

Circuit board design in Eagle

Š      Design microcontroller board

CNC Milling

Š      Microcontroller board

Š      Top of robot

Surface mount PCB assembly

Š      Microcontroller board

FDM 3D Printing

Š      Battery holder

Š      Scanner holder

Coding in C for AVR

Š      All source code

o   PWM output to motors

o   Serial interface with barcode system

o   Main program for UI


What questions were answered?         

               Here is a list of questions that were either asked explicitly or emerged from the process.


Why does everything show up tiny in Cura and Makerbot software?

               .stl files are unit-less. Both Cura and Makerbot default to mm. That means that if you import a .stl that was designed in inches it will read the inch values as mm values. So your design that was 5 in becomes 5mm. Both softwares have a scaling function. Convert one of your initial dimensions to mm and then select uniform scaling.


Why do my Invacare motors lock up?

               The Invacare motors have a locking mechanism under a cover in the back. I assume these are used to lock the wheels in place. It is a strong magnet that holds a nut on the back of the drive shaft. I removed the whole mechanism for this project.


Description: Macintosh HD:Users:NedlamAdmin:Downloads:20160910_134029.jpg




Why did my first microcontroller board break?

               I am still not sure. I drove the robot to Harvard and when I got there it stopped working. I tried to reprogram the chip and it could not recognize the AVR. I replaced the microcontroller thinking that I might have fried it somehow. Still no luck. I found some broken traces and repaired them. Still did not work. The broken traces led me to believe the board was physically damaged while moving the robot. After spending an hour trying to debug. I realized my time (and last Atmega328p) was better spent remaking the board.


What to do if you break a trace trying to remove a tiny piece of solder that is stuck to one pin?

               While attaching the 32pin Atmega328P to my new board I got a piece of solder stuck under a pin on the corner connecting it to a trace that I had routed under the board and out the corner. I tried for 30 min to remove it with braid but I couldn’t get it. I accidently broke the trace that I had routed under the board. Luckily the pin was not being used so I cut it out. I then went back to my diagram and realized I could use a piece of wire to jump over the trace. Crisis averted.


Which 3D printer should I use to print holes in a vertical orientation?

               Ultimaker! Cura is a much better slicing tool than Makerbot when it comes to holes that need support to be printed.


Why does my robot only work sometimes?

               Sometimes my robot doesn’t work… I checked all the systems and found that either the barcode scanner or PS/2 to TTL converter are temperamental, i.e. they only send signal sometimes. If I power cycle the robot a few times they work again. This is not a permanent solution or permanent answer but after fighting with the barcode scanner all semester I didn’t want to break it the week of presentation. I plan to investigate this further.


How was it evaluated?         

               For now it was evaluated by me that it has all of the functionality that I had planned for. Next semester it will be evaluated by children in K-2nd grade as part of my research on how the physical scale of the objects we present young children to play and make with can shape the way they play and learn.


Here is a video of me programming and riding it!



What are the implications?

               Given the state of relatively low-cost and access to rapid prototyping we can now not only imagine objects of all scales to be created for young children but also create them! Previously a project like this would have involved a lot more custom tooling and higher cost of development.


More on my process can be found here: