Syllabus

Prototyping Electronic Devices

(Revised V10)

Class website: https://itp.nyu.edu/classes/prototypingelectronicdevices/

Class Github: Github:
https://github.com/DeqingSun/Prototyping-Electronic-Devices

Introduction

The most difficult part of prototyping is not the building process, but the process of deciding how to build. If we choose proper technology for prototypes, we can improve their robustness and simplicity. 

This course will cover available and affordable technologies for ITP students to build prototypes. The course will start from soldering, wiring and LED basics. Then it extends to multitasking, signal processing, communication and advanced skills beyond PCom class. 

Each session will have lectures followed by in class practices with guidance. 

Class Structure

  • For asynchronous participation, the class will be recorded and be accessible before each class.
  • 5 min. Begin with a questionnaire to review previous class topics. It helps to recall memories, you don’t need to write down answers. Then instructor quickly go through the questionnaire, Q&A, and give some additional reflections on the last lecture.
  • Practice and discussion. Some practices are during lectures, some practices are at the end of class.
  • 5-10 min. Wrap up, each of you uses 1 sentence to summarise what you learned today. Also give feedbacks.

Assignments

From last class feedback, no required assignments maybe not a good way to learn prototyping. After discussing with students and faculties, we developed a 14-week long assignment called Do It Once – Do It Again.

The goal of this assignment is to help you apply prototyping skills you learned in the class to your own project, and encourage you to make it better by “do it again”. Through the whole process, you’ll also understand the power of iteration.

Week 1-3: Idation.

Each of you come up with a project idea that meet following requirements:

  • Must have an input and an output. At least one input or output must be a physical electronic device. You can’t just develop software as your project, because you’ll not be able to apply much prototyping skills on it.
  • Your project can be scaled up to a project that has many physical electronic devices. For example, your project could be a smart lamp that can be controlled by the weather in your hometown. This idea can be scaled up into many smart lamps controlled by weather, or a smart lamp controlled by weather in many places.
  • You are encouraged to work in pairs or individually on this assignment. You’ll learn less in a team more than two people.
  • This project could be an ongoing project for other class, or based on your previous project. This project doesn’t have to be profound or serious.

Week 4-8: Do It Once.

Build your project with breadboard, wires, sensors, etc. (how and when to show progress). You’ll brief present your project on Week 9 class.

Week 9-13: Do It Again.

Build your project again, with self-made PCB, connectors, etc. You are encouraged to iterate as many times as you can.

Week 14: Show.

All projects will be presented in the final week of class. You’ll show your system diagram, BOM, assembly instruction (optional), documentation, project v1 and v2. 

Documentations

You are expected to keep an online journal of your progress. We’ll read the journals to see how you’re are progressing, and leave feedback. At a minimum, we expect you to post your idea, system diagram, BOM, photo or video documentations of the progress, and references.

Week-by-Week Class Schedule

Class 1 – Introduction & Basic prototyping skills (Part 1)

Lecture:

  • Introduce Lecturer
  • Poll people’s skills
  • Introduce the syllabus
  • Talk about the assignment “Do it once, Do it again”.

[Beginning of today’s topics]

  • Soldering
    • Review and practice basic soldering skills;
    • Show the structure of solder wire, solder tip, leaded and lead free, what is the ideal temperature and why, good and bad solder;
    • Emphasize on leaded safety, pregnant, consideration of other people, use the extractor fan!
    • Advanced skills: Use of flux;
    • How the industry do soldering
    • How to connect wire by soldering
    • Always cut the power before soldering
  • Breadboard, perfboard and dead bug construction
    • Review the structure
    • Why avoid messy wires
    • how to bend wires
    • Show perfboard construction
    • Show dead bug construction
  • Wire wrapping
    • introduce wire wrapping, its advantages, and how to do it
  • tips: plan ahead
  • Connectors, fool-proof design
    • What are common connectors on the market. 
    • How to design connectors with fool-proof features to reduce risks of seeing black magic smoke.
  • Heat shrink tube
    • How to use heat shrink tube to protect wire, soldered joint or even the whole board.

In class practice:

  • Change solder tip, solder with flux, fix bad solder, solder 2 wires
  • Build a flip-flop on breadboard to practice how to bend wires

Materials needed for class:

  • soldering station (Assume ITP has good ones)
  • solder wire (ITP has)
  • Resistors, capacitors, LEDs, wires (ITP has)
  • Flux( )
  • breadboard (students bring their own)
  • perfboard (give out)
  • 555 chips (give out)

Assignment:

Think about your “Do it once, do it again” project.

—————————————————————————————–

Class 2 Workshop: PCB Design I 

(Eagle) 

Lecture:

  • PCB knowledge base
    • It’s benefits and limitations
    • When to consider designing PCB for an ITP project
    • Compare PCB made in ITP and PCB made in factory
  • PCB design steps and terminologies
    • 2-step design
    • Introduce package, layer, network, pads, traces, vias, solder mask, silkscreen
    • Design rule check
    • How PCB is made in factory
  • Together, design an Arduino debugger circuit step by step. If you want to design your own Arduino board, There will be an reference design. You’ll get most from this practice.
    • Compare most used tools: Altium Designer, Cadence, Eagle, easyeda.com
    • Introduce circuit designing, draw schematics and layout together

Practice:

  • Follow the instructor to design circuit in a software

Assignment:

Parts needed for class:

—————————————————————————————–

Class 3 Workshop: PCB Design II, datasheet and parts

Lecture:

  • Finish PCB design
    • How to create and modify a part in PCB software
    • Add board outline
    • Run DRC check
    • How to Export Gerber file
    • Prepare for fabricating board in OSH park/JLCPCB
  • How to read Datasheet efficiently and extract useful info
  • Introduce Digi-Key, why engineers like it
    • How to find a part on Digi-Key, use filter and sort properly
    • Quiz: find the main controller of Arduino Uno on Digi-Key
  • Create BOM and source parts
    • What’s a good BOM
    • How to create, edit, export, manage BOM
    • How factories assemble PCB
  • Tips for mass production PCB design
    • Optimize size, number of components, components locations, packages, and test points

Practice:

  • Follow the instructor to design the circuit in a software

Assignment:

  • Students are encouraged to finish design their PCB, send the file to the instructor. The instructor will place order

Parts needed for class:

—————————————————————————————–

Class 4 – LEDs & Basic prototyping skills (Part 2) 

Lecture:

  • Characteristics of LED 
    • Show LED structure, and how it’s made in factory
    • Review LED symbol
    • Emphasize the characteristics of LED (a nonlinear constant voltage device)
    • Review Ohm’s law, common misunderstanding about it
    • Why using a current limiting resistor and how to calculate accurately or quickly
    • Introduce voltage drop on different color LEDs, blue LED and white LED
  • Control brightness
    • Review analogWrite, duty cycle, flicker fusion, show the relationship between duty cycle and brightness
    • Introduce physical brightness and perceived brightness
    • How to apply perceived brightness when controlling LED
  • Wiring LED
    • Demo LED holder, light guide and LED diffusion materials. Demonstrate LED diffusion materials, how they work, how to use them with hand-on practice.
    • Show methods to organize wires: wire labeling, twist wire, braided sleeving, wire lacing, cable ties
    • Tips for using hot glue: how to shape hot glue and remove spikes
    • LED cube and its application,  build LED cube in class with acrylic cut fixture.

In class practice:

  • Choose right resistor for a given LED with required current
  • Code in Arduino to control LED brightness
  • Build a 2x2x2 LED cube with jig, follow instructions

Assignment:

Think about your “Do it once, do it again” project.

Materials needed for class:

  • Multimeter, resistor, LED, wires (ITP has)
  • Hot glue, hot air gun (ITP has)
  • Arduino, breadboard (students bring their own)

—————————————————————————————–

Class 5 – Drive Multiple LEDs

Lecture:

  • Review how to drive an LED with Arduino
    • Arduino pin’s capability with digitalWrite and pinMode: float, pull-up & pull-up resistor
  • Introduce ways to control multiple LEDs without additional chips
    • Matrix and Scanning concept
      • Demo with 2x2x2 LED cube
      • Coding tips: clean up loop(), organize functions, define data structure
      • Control LED with matrix and scanning concept with buttons
    • Charlieplexing concept
    • Compare these 3 ways, discuss when to use which way
  • Smart LED is popular now
    • What is smart LED and its advantages
    • Use smart LED chip (WS2811) to control parts other than LED
    • Different kinds of smart LED (Neopixel & Dotstar)
    • Demo how to use it

Practice:

  • Make a 16-frame animation on your 2x2x2 LED cube
  • Design color pattern and control 3+ smart LEDs

Assignment:

Think about your “Do it once, do it again” project, work in pairs or individually.

Parts needed for class:

Multimeter, resistor, LED, wires (ITP has)

Arduino, breadboard (students bring their own)

—————————————————————————————–

Class 6 – Bus & Signal Processing 

Lecture:

  • Review concept of bus
    • What’s bus, why it’s different from “cab”
    • Discuss advantages of bus
    • Compare serial bus and parallel bus
  • Discuss common serial buses in ITP projects: i2c, SPI, 2-wire, 1-wire.
    • Discuss difference btw synchronous and asynchronous
    • USB, USB extension and reliability.
    • I2C: how it works, and how to figure out the slave address, how to config i2c devices
    • Introduce a I2C device EEPROM: practice how to use it with an arduino, use wire library
    • Practice to connect multiple arduinos with i2c
    • SPI: compare to i2c
    • Brief  introduce One-wire and RS485
  • Discuss the best bus solution for each given project, such as wooden mirror, penis wall, bay bridge lights, etc.
  • Introduce signal processing: why and when we need it
    • Try a computer vision demo to understand raw signal
  • What if we need a smoother signal? Average filtering
    • Discuss concept and algorithm
    • Try a live demo with phone, on a provided online platform
    • Program together
  • What if we need a threshold on a noisy signal? Hysteresis
    • Discuss concept, try the domo, program together
  • What if we need process the heart rate signal? Peak / valley detection
    • How to find max/min point of signal and dynamic range of signal. Adaptive mapping will be possible with known dynamic range.
  • What if we need to know a person is waving hand? Envelop detection
    • Introduce the concept, try a live domo and learn code together

Practice:

  • Config i2c between 2 Arduinos
  • try HTML 5 sample code on the computer with webcam input
  • try sample code with sensors on Arduino

Assignment:

Parts needed for class:

Resistor, wires (ITP has)

Arduino, breadboard (students bring their own)

computer, cell phones/(students bring their own)

—————————————————————————————–

Class 7 – Surface Mount Soldering

Lecture:

  • Review PCB workflow
  • Emphasis soldering safety again
  • Introduce PCB reworking
    • Show 4 skills to to fix incorrectly designed board
    • Discuss how to fix the PCB design in 2 given example
  • Hand soldering of surface mount parts
    • Review soldering knowledge
    • Everyone will try solder 2-lead parts, step by step follow instructions
    • Tell direction of surface mount LED
    • Everyone will try solder IC with instructions
    • Connect to computer to test the board
    • Learn to program bootloader 
  • Reflow soldering with oven
    • Discuss what’s can’t be reflowed
    • Prepare stencil, use tweezers, load reflow profile
  • How factory runs PCB reflow

Practice:

  • Solder surface mount parts by hand
  • Get debugger work with Arduino

Assignment:

Parts needed for class:

—————————————————————————————–

Class 8 – Presentation

Presentation: “Do it once” project

—————————————————————————————–

Class 9 – Multitasking 

Lecture:

  • How the delay works and how to replace them.
    • How to delay works
    • How to write own delay
    • How to remove delay
    • Analog IO use range 0.0~1.0 float
  • Introduce state machine concept
    • Challenge for students: blink 2 LEDs, at 2 different rates, don’t use delay()
    • Review using class in Arduino
    • Construct a blink LED class step by step, and rewrite last class’s code to control 2x2x2 LED cube (apply state machine concept)
  • Discuss “sleep”, and different level of sleep:
    • idle: try to use idle to solve some real life challenges

Practice:

  • Follow the instructor to program the basic examples
  • Try to solve the given real life challenges by students themselves, discuss in class

Assignment:

improve your own projects with multitasking concept

Parts needed for class:

Resistor,LED.wires (ITP has it)

Arduino, breadboard (students bring their own)

—————————————————————————————–

Class 10 – Debugging Arduino

Lecture:

  • What are bugs and different ways to catch them
  • Introduce debug tool chain
  • How to do stepping in Arduino code.
  • How to use Logic Analyzer

Practice:

  • Use the debugger to catch the bug in codes.

Assignment:

Parts needed for class:

Arduino debugger

Arduino, breadboard (students bring their own)

—————————————————————————————–

Class 11 – Motor 

Lecture:

  • Discuss dc motor.
    • Tear down a dc motor, learn the structure, understand why the motor rotates and how to keep it rotate
    • Discuss radio transmitting of motor
    • Demonstrate DC motor can be a generator.
    • How to drive a motor
  • Discuss servo
    • Tear down a servo, to learn its structure
    • Case study: how to build a 8×8 wooden mirror ( servo, arduino, bus, power supply etc)
  • Stepper motor
    • Review dc motor and servo, compare them to stepper
    • Discuss advantages to use stepper, and typical application of stepper
    • Go deep of how tepper rotate each step, what’s half stepping and microstepping
    • Discuss which motor consume energy when stopped
    • Learn to read the label on motor, find max V, try over current
    • Go deep of wiring stepper: unipolar and bipolar, 4-wire stepper and 6-wire stepper
    • Try connect bipolar motor to a driver, discuss how to detect stepper’s home position
    • Compare DC motor, servo and stepper
    • Quiz: select motor for each given project, eg toy electric car, drawing robot, wooden mirror, big CNC etc

Practice:

  • Drive motors

Assignment:

Parts needed for class:

Arduino, breadboard, 

—————————————————————————————–

Class 12 – Power Supply, Assembly Manuals and Protocols

  

Lecture:

  • Discuss Power supply
    • List power supply in our everyday life
    • How to choose right power supply, voltage consideration vs. current consideration
    • Learn how to read the label on a given power supply
    • Discuss what if the power supply mismatch, complete a form together (supply / circuit, voltage / current)
  • Introduce several types of power supply: wall wart, power brick, DIN-Rail, adaptor for LED
    • Discuss what’s the best power supply solution for each given project, eg: LED srips, big art installation, public LED project etc.
    • Emphasis safety and current restriction by law
  • Experiment with battery
    • Introduce concept of max current of power supply, inner resistance and output voltage
    • Everyone build a lemon battery, to understand the voltage and current of a battery
    • How to deal with internal resistance
  • Importance of manuals
    • Communicate efficiently with documents
    • Use minimal info on manual for easy understanding
  • Simplify design for easy assembly
  • Basic of protocols

Practice:

Assignment:

Parts needed for class:

—————————————————————————————–

Class 13 – Bluetooth Low Energy

Lecture:

  • Introduce BLE
    • Review what’s BLE, discuss its advantages and limitations
    • Why BLE is low energy
  • Roles of BLE: Observer & Broadcaster
    • Observer & Broadcaster applications, beacon
    • Go deep into iBeacon: data structure, UUID, major and minor values and Tx power
    • How distance is calculated with iBeacon
    • Everyone will try using iBeacon with smartphone
    • Introduce Eddystone, compare it with iBeacon
  • Roles of BLE: Central & Peripheral
    • Introduce basic concept: profiles, services, characteristics
    • Demo an example of service
    • How to build peripheral on iOS and edit it
    • How to create central with python webBluetooth API on Chrome and edit it
  • Quiz: discuss what’s the best wireless communication solution in given example project, eg: wearable keyboard, smart toilet etc.
  • 3D print PCB enclosure
    • Tips about wall thickness, adding standoffs, design snap fit

Practice:

  • Build Peripherals on iOS with LightBlue Explorer
  • Connect to Peripherals with Python webBluetooth API on Chrome

—————————————————————————————–

Class 14 – Tips on Projects

Lecture:

  • Final project show and tell
  • Tips on building reliable projects
  • Tips on turning prototype into small batch run
    • Examples of how to divide a project into modules that give to different factory to fabricate
    • Examples of how to prepare assembly instructions or test instructions for other people to work on your project
  • Class evaluation

STATEMENT OF ACADEMIC INTEGRITY (*Required*)

Plagiarism is presenting someone else’s work as though it were your own. More specifically, plagiarism is to present as your own: A sequence of words quoted without quotation marks from another writer or a paraphrased passage from another writer’s work or facts, ideas or images composed by someone else.

STATEMENT OF PRINCIPLE (*Required*)

The core of the educational experience at the Tisch School of the Arts is the creation of original academic and artistic work by students for the critical review of faculty members.  It is therefore of the utmost importance that students at all times provide their instructors with an accurate sense of their current abilities and knowledge in order to receive appropriate constructive criticism and advice.  Any attempt to evade that essential, transparent transaction between instructor and student through plagiarism or cheating is educationally self-defeating and a grave violation of Tisch School of the Arts community standards.  For all the details on plagiarism, please refer to page 10 of the Tisch School of the Arts, Policies and Procedures Handbook, which can be found online at: https://tisch.nyu.edu/student-affairs/important-resources/tisch-policies-and-handbooks

STATEMENT ON ACCESSIBILITY (*Required*)

Please feel free to make suggestions to your instructor about ways in which this class could become more accessible to you.  Academic accommodations are available for students with documented disabilities. Please contact the Moses Center for Students with Disabilities at 212 998-4980 for further information.

STATEMENT ON COUNSELING AND WELLNESS (*Required*)

Your health and safety are a priority at NYU. If you experience any health or mental health issues during this course, we encourage you to utilize the support services of the 24/7 NYU Wellness Exchange 212-443-9999. Also, all students who may require an academic accommodation due to a qualified disability, physical or mental, please register with the Moses Center 212-998-4980. Please let your instructor know if you need help connecting to these resources.

STATEMENT ON USE OF ELECTRONIC DEVICES (*Required*)

Laptops will be an essential part of the course and may be used in class during workshops and for taking notes in lecture. Laptops must be closed during class discussions and student presentations.  Phone use in class is strictly prohibited unless directly related to a presentation of your own work or if you are asked to do so as part of the curriculum.

STATEMENT ON TITLE IX (*Required*)

Tisch School of the Arts to dedicated to providing its students with a learning environment that is rigorous, respectful, supportive and nurturing so that they can engage in the free exchange of ideas and commit themselves fully to the study of their discipline. To that end Tisch is committed to enforcing University policies prohibiting all forms of sexual misconduct as well as discrimination on the basis of sex and gender.  Detailed information regarding these policies and the resources that are available to students through the Title IX office can be found by using the following link: Title IX at NYU.