To achieve great things, two things are needed: a plan and not quite enough time.
-- Leonard Bernstein 
Instructor: Steven Swanson
TA: Harshini Rajachander (hrajacha@eng.ucsd.edu)

We are going to build remote-controlled quadcopters from scratch in 10 weeks.  Please read on for details and, at the end of the page, the form you'll need to fill out to apply to take the class (See the bottom of this page).

I'm interested in having students with a range of backgrounds and levels of previous experience.  The most important thing is that you be enthusiastic about the project, ready to learn by doing, and willing to work in a group on challenging and exciting project.  The class will put a lot of emphasis on working together with your team.

Grad students are also welcome, but keep in mind that the project in this course is much larger than as typical for a graduate class.  It will take a lot of your time.

The class must be taken for 4 units and for a grade.  Auditing is not allowed.

Course Goals

The goals for the course are for you to learn how to design, assemble, and program a moderately complex electronic device.  The device you will build is a small, remote-controlled quadcopter similar to this:

In particular, you'll learn and/or practice these skills/topics:
  • How quadcopters work.
  • How to fly a quadcopter.
  • How the various components (motors, gyros, compass, etc.) work.
  • How to design printed circuit boards.
  • Some control theory.
  • Soldering.
  • Assembly and testing of simple computing devices.
  • Microcontroller programming (the quadcopters will be Arduino-based).
  • Team work and coordination with other teams.
  • All the other practical things you learn by working on a real, challenging project.

Course Structure

There will be some lectures, but mostly this is a class where you will learn by doing.  Lecture slides will be available via the course github repo (see below).

There will be 10 labs, but they are each substantial and we will finish 8 of them by week 6.  If you fall behind, it will be hard to catch up, and if your tape-out date slips, it will be very difficult to complete the project.

The schedule the course is below (This is in flux for spring 2018):

The schedule is very aggressive.  We will be starting a new lab each class meeting during the first few weeks.  This compressed schedule has three goals.  First, to let us manufacture the boards for the quadcopters by week 6 or so.  Second, to give you as much time as possible to get your quadcopter flying once you assemble it.  

Lab Equipment

Learning to build a quadcopter (and then building one) requires some specialized equipment.  You will be allowed to take some of this equipment home, so you can work on the project outside the lab.  You will also be responsible for returning it in good working order at the end of the quarter or replacing it.  Until you do so, you will receive an incomplete in the course. 

If you are curious, you can check out the complete bill of materials (BOM) for the course

Text Book

In lieu of a textbook, you'll need one of these "crash kits".  It provides the motors, batteries, and a few other parts you will need.  Don't buy this yet, we may switch to a different kind.

Lab and Class Hours

Class will meet Tuesday-Thursday 11-12:30 in the "EnVision: the Arts and Engineering Maker Studio" in SME 305.  I will hold lab hours from 12:30-2 pm in the maker studio, and you should take advantage of them.  You can and should work in the maker studio outside of class.  Here is the schedule for open access hours.


The class must be taken for four units and a grade.  Auditing is not allowed.  Here's the grading breakdown (subject to adjustment):

  • 50%: Participate fully in the course.  Come to class, contribute to discussions, and work with other team members/groups to achieve the goal of building a flying quadcopter.
  • 50%: Grades on the labs.
Since the labs build on one another, you can't move onto the next lab until you finished the previous one.  The grade you receive on the lab is determined by how far behind schedule you and how many "tries" it takes to get the lab correct.  This means you can, in theory, get a negative grade on a lab.  We'll discuss this in more detail in class.

How to Take the Class

The class is by permission of the instructor only and enrollment is limited.  You'll need to fill out this form.  You'll need to have at least some experience with electronics.  Applications are due by the end of week 8 and decisions will be made by the end of week 9.

Important: The class meets 11-12:30 Tuesday/Thursday.  After class from 12:30-2, there will be lab hours.  It's critical that you be able to attend the lab hours, since some parts of the assembly process are best attempted during an uninterrupted, 2-3 hour block of time.  You should not take the class if you can’t regularly make the lab hours.

If you have any questions, please contact me at swanson@cs.ucsd.edu.