Course information

Outline

Welcome to ENGR 40M! This course provides an introduction to the broad field of electrical engineering through a series of hands-on projects. Countless devices use electronics, from cars to clocks to cameras to cell phones, but the way they work is usually hidden and often mysterious. Our objective is to demystify the world of electronics by tearing things apart (both literally and figuratively) so that you can understand how they work, and give you the skills to construct electronic devices of your own.

We'll find that not only do many devices contain some electronics inside, but most of them contain small processors as well. Once you grasp the power of adding computing to physical devices and understand how a processor interfaces with other circuitry, you can use this knowledge to construct programmable electronic devices on your own.

Part of the course is about the theoretical analysis of circuits, which you'll practice on the homework and prelab assignments. The other half is the construction and debugging of actual electronics projects, which you'll learn from making things in the lab. During the quarter, you will build:

  • A solar-powered cell phone charger, while learning about batteries, solar cells, power, and efficiency.

  • A programmable “useless box”, which is a silly toy to play with on your desk. While building this project, you will use switches, motors, transistors, digital logic, and learn to control physical things with software.

  • An LED display, which uses the idea of multiplexing to control more lights than your micro-controller has outputs.

  • An electrocardiogram (ECG) to measure your heartbeat. You will learn how to build an amplifier capable of magnifying the tiny electrical signal from your heart into something your micro-controller can measure.

By the end of the course, you will have the theory for analyzing the behavior of simple analog and digital circuits, the practical skills for constructing, programming, and debugging electronic devices of your own, and the ability to explain some of the countless ways electronic circuits are used in the modern world.

Specifically, you will be able to:

  • Predict the behavior of electrical circuits containing resistors, capacitors, inductors, transistors, diodes, switches, and motors.

  • Construct such circuits in the lab, and control or monitor them with software running on a micro-controller.

  • Use good electronics construction skills to build circuits that are robust and easy to debug.

  • Use lab equipment and a logical reasoning process to debug your circuits and code when they aren't working.

  • Give examples of how the circuit elements and techniques from the course are used in real products.

Learning to debug

We fully expect that you will find some of the material in the class a little confusing at first, and that some of your labs won't work on the first try. One of the most important skills we want you to develop in this class is the ability to debug stuff that is going wrong, whether it is the logic you are using for the homework problem, or figuring out what is going on in the lab. But we also know that being confused can be frustrating, and it is hard to imagine that you can figure stuff out when you are confused. So if you ever find yourself in this state, please reach out to one of the teaching staff. This class has a lot of teaching staff and communication tools to help you deal with exactly this issue. But we can only help you if you reach out and let us know.

Prerequisites

You will need some prior experience with C/C++ or Java programming, such as CS106A. If it's been a while since you took CS106A, you may want to brush up a little on your skills. We'll provide some warm-up problems so you can get a feel for the programming difficulty level, and there will be one or two review sessions early in the quarter if you need help.

We will not assume any previous knowledge in physics, specifically in electricity and magnetism. We'll cover voltage, current, power, etc., from the bottom up, and there will be extra opportunities for review on this core material if it went too fast.

You do not need to have taken calculus or differential equations to succeed in this course; the assignments and tests will not require you to take integrals or derivatives. However, we will use calculus to provide a mathematical grounding for many concepts throughout the course, so knowing it will be helpful.

Units

Undergraduates must take the course for 5 units; graduate students may take it for 3 or 5 units. There is no difference in workload.

Textbook

  • This quarter we will try to create a Reader for the major sections of the class. Since we are writing it this quarter, it will be a little rough, but we hope you will find it useful to help understand the concepts in the class. We are interested in feedback in improving it for future quarters.

  • The Reference Manual is a summary of the important points of the class, so if you a looking for a fact to look up, this might be the book for you.

  • Anant Agarwal and Jeffrey Lang, Foundations of Analog and Digital Electronic Circuits, Morgan Kaufmann, 2005. ISBN: 978-1558607354 is recommended if you like to dive deeper into some of the material we will cover in the class, or you like to learn from a conventional textbook. The book is on reserve in the Terman Engineering Library (2nd floor of Huang), and is available for purchase at the bookstore and online.

Grading

Lab: 50%. This course is as much about learning to construct and debug real things as it is about learning to analyze circuits, so half of your grade is based on your work in lab.

Homework: 10%. The homework is where you'll drive home the concepts from lecture. While it's numerically a small part of your total grade, understanding the homework is the best way to prepare for the exams.

Midterm: 20%. The midterm will be in class during week 6.

Final: 20%. The final will be comprehensive, since nearly everything in this course builds on previous material