Course Info

Lecture: Tuesday 11-12:30pm, 293 Cory
Labs: W 9-10, Th 11-12, 204 Cory
Checkoff: Friday 1:30-2:30pm, 204 Cory

Professor: Ron Fearing (ronf AT eecs)
Office Hours: Tu 3-4, W 1-2 (725 SDH), or email for an appointment

Teaching Assistant: John Wang (johnjwang AT berkeley)
Office Hours: Tu 12:30-2, W 2-3 (204 Cory), or email for an appointment

About This Course

The Mechatronics Design Lab is a design project course focusing on application of theoretical principles in electrical engineering and computer science to control of mechatronic systems incorporating sensors, actuators and intelligence. This course gives you a chance to use your knowledge of (or learn about) power electronics, filtering and signal processing, control, electromechanics, microcontrollers, and real-time embedded software in designing a racing robot.

The class project is to design racing robots which can follow an embedded wire over a curving and self-crossing path at speeds greater than 3 meters per second. Each team starts with a 1/10th-scale RC car platform and a CPU board (already built), and designs sensors, electronics, and control algorithms, and determines an optimal strategy. Vehicles individually follow a 100 meter course, staying on track and avoiding obstacles.

The course project requires students to consider real-world constraints such as limited volume, payload, electrical power, processing power and time. Oral and written reports will be required justifying design choices. Grading will be based upon design checkpoints, the reports and a final exam. A portion of the grade will be determined by vehicle performance and robustness.


CS150, EECS120 or equivalent, C programming experience. (2 out of 3 is ok if teamed up with other students who have those classes)


The grade breakdown is as follows:




Final exam


Oral and written reports


Written assignments


First round contest


Second round contest


Community spirit



Course Materials

There is no required text for this course. Students may benefit from the following recommended texts, which may be found in the Engineering Library.

  • D.M. Auslander. Mechatronics: Mechanical System Interfacing

  • R.D. Klafter. Robotic Engineering: An Integrated Approach

  • Horowitz and Hill. The Art of Electronics

A Note from the Instructor

How to Build a Robot in 5 Easy Steps

Building a basically functioning robot in EECS192 typically takes 5 weeks of the course. Students use the remainder of the course to improve sensors, system integration, and algorithms. Debugging the whole system of course takes time, and the more complicated the system is, the longer the debugging takes. Students work in teams of 2 or 3 students, to divide the work. Experience shows that simple designs take less time to build, and work better!

The design process is broken down into manageable steps through design checkpoints. Each design step is preceded by a lecture covering the main ideas and principles. Here is an outline of the design checkpoints for the first weeks:

  • Week 1

    Become familiar with given CPU board. Soldering technique is taught. Use C compiler to write “Hello World” program and make an LED blink.

  • Week 2

    Construct circuit to turn drive motor on and off from logic levels. The circuit design and operation are explained in lecture.

  • Week 3

    Demonstrate on-off and forward-reverse of drive motor under computer control using the computer and motor circuit from previous weeks. This requires only a few lines of C code, as the needed computer IO hardware is already provided on the CPU board.

  • Week 4

    Build car chassis. We use commercial RC car kits, which are easy to build, strong, and fast. Demonstrate left-right control of steering motor. This requires only a few lines of C code, as the needed computer IO hardware is already provided.

  • Week 5

    Mount CPU board and motor drive board on car chassis, and connect power and control wires. The instructor provides mounting brackets and installation hints. Demonstrate that the vehicle power, computer, steering and drive are functional by having the robot car drive a simple figure 8: circling left followed by circling right.

Thus after 5 weeks, the vehicle hardware is mostly done. For Spring 2001, we will mostly be using the computer and cars already built from previous semesters. The remaining hardware to add is a line sensor so the robot can stay on the race track. Algorithm and control strategy development take up the next 9 weeks. Again, there are well-defined design check points to ensure timely progress and keep the project scope bounded.

Each robot race car will be individually timed as it follows a line or buried wire laid out on a 100 meter path in a large arena. The path is not known until the time of the race, and has many curves and self-crossings. Every team is using the same motor and batteries, so competitive advantage comes from using smarter algorithms that are better at keeping the car on the race track. A time penalty is used for vehicles that stray too far from the line and knock over traffic cones, so simply using maximum acceleration will not be a good strategy.

R. Fearing
Dec. 1, 2000