PCC. MIT 101 - Introduction to Robotics


While a student at Pasadena City College, I helped start and developed their robotics program. Back in 2012, professor Salomon Davila proposed and started the development of an "Introduction to Robotics" class. A class that aimed to give students hands-on experience and the chance to walk out of the course with a robot to take home. The robotics class would be composed of 4 components: machine shop, welding, drafting and electronics. I was honored with the task of helping him design the electronics curricula and suplemental component of the class.

After one year of development, the class was first offered on Fall 2013 as TECH 198 - Introduction to Robotics, a prototype class. On Fall 2014, the class was assigned its own class name according to college standard: MIT 101 - Introduction to Robotics, where MIT stands for Manufacturing Industrial Technologies.


My role on the team to create this Introduction to Robotics class was on the electronics side. So the first weeks of work included researching accreditation requirements for electrical and electronic degrees and programs, selecting the topics and body of knowledge that the course will need to cover, and preparing a set of objectives and learning outcomes.

This course would also serve as a survey and introductory course to the engineering and technology programs that Pasadena City College had to offer: Machine Shop, Welding, CAD modeling, and electronics. Thus, the topics and concepts the class would cover would probably only be on a shallow level to inspire students to continue their education in one or more of the programs.

After selecting the topics, we wanted to design a prototype robot that students would reproduce during the course of the semester and be able to say that they had learn how to make a robot. The robot had to include the topics we had selected and involve hands-on experience for the students, challenging them to get out of their comfort zone, but make sure that these taks could be covered within a 16-week semester. Other constrains included keeping the robot at a low price (about $100), embedding safe practices to avoid later issues, and implementing the use of Arduino microcontrollers.

From the beginning, the robot had been set to be built with metal, so the weight consideration was important for the motor selection. Jason Geggie was in charge of designing the mechanical components of the course, which included Machine Shop, Welding, and CAD modeling. He estimated the weight of the robot and came up with the estimated torque that we needed. We decided to design a 3-wheeled robot with about walking-speed, so we set our motors to be 200 RPM. The torque requirement seemed to be an overstimation, so we selected the following motor: https://www.pololu.com/product/1105

These high torque DC gearmotors were rated at 12V 5A, so our motor drivers had to be capable of driving such powerful motors. Looking at the market of commercially available motor drivers, I noticed there was no affordable solution, considering the tight budget we had. At a single unit price, 2 motors would cost a total of about $50 and an Arduino UNO would cost about $30. Thus, I decided to design my own motor driver to reduce cost and also extend some of the topics in the curricula, such as transistors, h-bridge design, and soldering.

My first attempts of designing the h-bridge were made on a breadboard, but I soon learned the limitation of breadboards and cheap jumper wires when my prototype start smoking because of melted insulation on the jumper wires and melting plasting on the breadboard. I was testing the h-bridge design on a breadboard, using a 30V 5A power supply, and a 1/2 HP scooter motor rated at 24V. My setup was only running the motor at 12V and at around 3A to 5A. After a minute or so, I started seeing smoke coming out of my breadboard and decided to stop the tests. Some of the jumper wires' insulation had started melting and joined some of the wires. In addition, I saw some of the plastic holes on the breadboard start melting because of the heat accumulating on the wires itself. I immediately checked the rated limits of a typical breadboard and found out why I've had been having issues with my prototype. Breadboards are typically rated to 5V 1A. In another words, breadboards are rated at 5 Watts, and I had been running my prototype at around 36 to 60 Watts.

Since I had seem my design work, I moved the prototype to a protoboard on the hopes of solving my issues with working with too high power. If you have ever prototyped on a protoboard, you know how much more trouble it is than working on a breadboard. I was able to put together an h-bridge but also noticed how hard it was. Students first approaching soldering and electronics prototyping would take too long to get this type of work done.

So I decided to explore the art of Printed Circuit Board (PCB) design and manufacturing. I started with EAGLE PCB software but couldn't find many good thorough resources at my disposal. At that time, I had to rely on online tutorials, such as the ones from Sparkfun and Adafruit, and trial-and-error. My first boards' traces were too thin, so they caught on fire while testing them. But as I designed more PCBs, I learned new tricks and aspects to improve my PCB designs. So, after a few months, I was able to design a Double H-Bridge board.

I had prior experience with Arduino already, so it didn't take me much time to prototype and implement any simple designs. So we had an Arduino UNO, a Double H-Bridge, and motors. For power, we used 12V lead-acid batteries because they were the safest option, compared to LiPo, and our heavy duty robot could handle the payload.

At this stage, we were at the point where we had to disucss the different purposes of the robot. Originally, we had set to a line follower robot, but many other options were also on the table. As we had a basic platform, I decided to implement the line following features.

At first, I installed two phototransistors facing down on the front to determine the surface underneath the robot. All the same, I then decided to have a total of 5 phototransistors to aid the detection of more complex turns and paths. As I was implementing this design, I decided to add bluetooth capabilities to the robot since I had been tinkering with this feature on my own for some time. So now I was able to remotely operate the robot with either my phone or a computer (with bluetooth capabilities). As for the App on the phone, I used some free Apps, such as Arduino Bluetooth RC Car and BlueTerm.

Since we had bluetooth capabilities, we had a robot ready to demo in different scenarios. We did a load and torque test and evaluated how much the robot could carry and pull. We were able to place about 70 lbs of aluminum on top of the robot to increase traction and, on top of that, we hooked up the robot to a rolling computer chair with a person, of roughly 120 lb, on it. The robot was able to pull and stir the chair.

Jason also asked me to try implementing a manual remote in addition to the bluetooth controller. He suggested we use a nunchuck from the Wii accesories. I looked it up, and it turns out that the nunchuck uses the I2C protocol to communicate with the Wiimote, so I was able to interface it with our system.

You can find some of the circuit schematics, Arduino code, and BOMs on my github: https://github.com/agenteaty007/PCC_MIT_101

Fall 2013

We offered the TECH 198 - Introduction to Robotics, course for the first time on Fall 2013 and successfully completed the semester with students taking robots home.

Fall 2013 class and staff:

Spring 2014

We learned a lot from the first semester we offered the course and improved the course for the Spring semester.

We changed the H-Bridge design to the McManis H-Bridge design because it is more robust. It features:

  • BJT transistors, which are not sensitive to static electricity so are less prompt to break
  • Optoisolators, to protect and isolate the H-Bridge circuit from the rest of the circuits
  • Pull-up and pull-down resistors for logic stability
  • Diodes for Back EMF protection

Student Demo:


Spring 2014 class and staff:

Current Status

MIT 101 - Introduction to Robotics, is still being offered at Pasadena City College during Fall and Spring quarters. The professors teaching the course are still very dedicated and passionate professors who work very closely with students on the college to promote professional development through work opportunities, conferences, and projects. Considering the amount of work expected of students in this course, several student workers are hired as Teacher Assistants for this course.

Take your education seriously, and you are responsible of making the most out of it. Don't take a "no" for an answer but instead find a way to achieve your goals and dreams.


On this page, I'm planning to post a detailed description of the development of the curricula and electronics component of the robot designed for the class.

(Page still under development)

Twitter's 140-sweet-characters

Blog/Quick Updates

  • Sep 14, 2014