Robot Assembly

Robot Assembly has taken two 1 hour sessions largely because of the need to share tools and the complexity of the steps.

The kids learned how to use a small jewelers drill to open up some holes in the plastic mounting brackets that come with the servo motors to make the screws go in much easier than without. There are 12 screws needed in the assembly and some of them are pretty tiny. The steps are somewhat complicated in that it is easy to misunderstand and put things together backwards. For the next group of kids, I will put have a pre-assembled robot on each group table as well as detailed photos on the table of each step.

Our next session will be about learning what a micro-controller is, how the servo motors work, and soldering a connector to the micro-controller so that they servo motors can be plugged in without cutting wires.


BlocklyBot Software Status

The end goal of this class is to create a simple robot with inexpensive motors, Arduino micro-controller, and 3D printed parts which is controlled with a Smartphone.

The ‘controlled with a Smarphone’ part is where my ‘BlocklyBot‘ application comes in. I’m writing this software from scratch using Google’s Android implementation of ‘blockly‘, the popular visual block based programming language used in’s ‘Hour of Code‘. Most of the kids at this point are familiar with Blockly, or familiar with MIT’s Scratch which Blockly was created after.

I’m about 6 weeks into the development of the app, which is my first Android app so there’s been a bit of a learning curve for me. Things are moving along well however and at this point I’m happy to say that I have the following features implemented:

  • support for both Bluetooth and Bluetooth Low Energy devices
  • movement (blocks for move forward, move backward, turn right, turn left, stop, and the MobBob emotes)
  • speech synthesis (a block to make the robot speak any word/phrase of users choosing)
  • speech recognition (a starting block that will execute when it hears any word/phrase of the users choosing)
  • audio playback (a block that can play back an audio track from a set of pre-recorded tracks)
  • audio note/tone generation (a block that can play back a specified musical note for a duration)
  • basic logic and loop control blocks (for loops, while loops, if-then-else statements)
  • event handlers (start blocks and if-then-else blocks for touch and listen events)
  • basic variable support (a set of pre-defined variables to be used with block inputs)

With a couple of weeks left before the students use the program with their assembled robots I’m confident I will have all the planned features implemented and the program working well. The following are on my todo list still:

  • Auto-connect (re-connect to the last connected robot)
  • Google cloud sync (sync the blockly workspaces on the device with a google  account (each student already has one for school) as a way to backup their code
  • Testing and bugfixes (hopefully the program will be more or less bug free by the time the students need to start using it)

If you are adventurous and interested in testing the app for me you can find it by searching for ‘BlocklyBot’ on the play store or find it on the store’s web-page here.


Fourth Class

Our 3rd session (Computer Aided Drafting (CAD) with TinkerCAD) ended up taking 2 classes mainly because of the unexpected time it took to get all the kids logged into the computers (twice – first with their district Windows account, then with their individual TinkerCAD accounts I created). Additionally a few of the computers in the lab had some software issues that kept us from running TinkerCAD on them (including the teacher’s computer that was connected to the projector, which made it impossible for me to demonstrate the steps). Next time around, I will be better prepared for these issues.

Our Fourth class (3D Printing) went great, and I expect it was likely the favorite class thus far for the kids. We split the group up into 2 groups of 10 and while one group was learning about 3D printing with me and watching a demonstration, the other group was picking out their 3D printed parts of the robot. I have busily been printing up parts for the last 3 weeks and now had 25 sets of assorted colors (red, yellow, pink, purple, green, blue, brown and black) over 240 parts in total!

In addition to picking out their parts, each student cleaned them up with a ‘de-burring’ tool to remove any defects or strings left over from printing and weighed them with a scale so that they can calculate the cost of material in the next class where we use Google Sheets to create a Bill of Materials (BOM).

First class

Our first class went well today – we’ve got a great bunch of kids and they are all really excited and eager to participate!

Some of the phones the students brought in were too old to be supported. The ‘Blockly’ code requires Android 4.1 (all phones from 2012 onward should have this) and if you have a tablet please make sure it has ‘bluetooth’ (look for it under Wireless Settings) – some popular tablets like the standard Kindle Fire don’t have this very useful feature. You can find the version of Android by also looking under the Settings icon/app under About phone / software.

For those looking to purchase a ‘budget’ device I recommend the following:


I received the remaining parts I was waiting for from China today so all is well on the procurement side of things.

Here are pictures from today:

Parts coming in…

Parts have been coming in from my bulk orders from China. Most of these were ordered on

The batteries came in last week. Ordering in bulk does not mean you get less packaging… the batteries came in a case of 40 batteries, each with one box inside another and out of 40 batteries about 8 of them don’t appear to either hold a charge or deliver power. I guess that’s what you get for $2 5V 2200mAH batteries (#yougetwhatyoupayfor).

Let’s hope I have less fall-out with the Ardiuno’s which also came in today. I will wait for the HC-05 Bluetooth to serial modules and test them together. I opted to use a $2 Ardino Nano plus an HC-05 Bluetoother to serial module instead of the $15 Bluno Beetle that I used when I built one of these this summer beacuse of a) $5 vs $15 keeps the student cost down and b) the HC-05 is standard bluetooth which is supported on a much wider range of phones than than the Bluetooth 4.0 Bluno Beetle.

First blog post

Welcome to the STEM Robotics blog!

Last summer in my quest to keep the kids engaged with an educational technology project I bought a 3D printer and together we learned the in’s and out’s of this really neat technology. This summer I embarked on building a simple home made Robot with them using 3D printed parts, simple low-cost servo motors used in remote-control vehicles, and a simple design I found on a 3D printing site. The project really opened my mind to ways to turn this into an educational experience for other children.

My goal is to put together a course where we will not build a kit or buy a robot and learn to program it – instead we will take part in all aspects of designing and building a robot (with hopefully only enough detail to keep them engaged and not bore the heck of out of them).

In order to reach as many kids as possible at our local elementary school, I decided to make this a 10 week course so that I could offer it 3 times a year. Within days of sending out the flyer for the first course we were full with 20 students ready to go.

A few weeks ago, I started tinkering with the original parts from the ‘MobBob‘ robot created by Kevin Chan, a game designer from Australia (thank you Kevin for inspiring me!). My goal was to produce publicly available free designs using OnShape (a browser based, cloud based killer CAD application with free account access for hobbyists and educators) as well as customize the designs for the battery pack that I will be using. For those interested, you can find the design here. After a few trial prints I was happy with the design and started to mass print so that I have 4 sets of about 6 colors of parts the kids can choose from. The students will design the one part that needs to be custom for their robot – the sleeve that holds their phone. Ok, I could have designed some clever adjustable holder or even had them use a rubber-band or double-stick tape, but the point is I wanted to give them something simple to design so they could learn and appreciate the power of Computer Aided Drafting (CAM).

I’ve bulk ordered batteries, micro-controllers, screws, and a few sets of tools for the students and parts have started to roll in from China. Its been fun to go find out what has landed in the mailbox via e-Packets other than typical bills and the kids have had a good time ripping into packages with me.