<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://hades.mech.northwestern.edu//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=NickMarchuk</id>
	<title>Mech - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://hades.mech.northwestern.edu//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=NickMarchuk"/>
	<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php/Special:Contributions/NickMarchuk"/>
	<updated>2026-04-17T16:04:13Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.9</generator>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics&amp;diff=26371</id>
		<title>ME 333 Introduction to Mechatronics</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics&amp;diff=26371"/>
		<updated>2023-02-03T21:45:10Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Winter Quarter 2023&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;First day of class is Thursday January 5.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Section 20:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 11:00-12:20, Tech M152&lt;br /&gt;
* Section 21:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 12:30-1:50, Tech M152&lt;br /&gt;
* TA:  &lt;br /&gt;
** Rui Li&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Final demo&amp;#039;&amp;#039;&amp;#039; (in lieu of final exam):  Monday Mar 13 3-5 PM (12:30-1:50 section) and Wednesday Mar 15 9-11 AM (11-12:20 section)&lt;br /&gt;
* Office Hours: &lt;br /&gt;
** With Nick in Ford B100: Monday 10-11, Tuesday 3-4, Wednesday 11-12, Thursday 3-4, Friday 10-11&lt;br /&gt;
** With Li in Ford B100: Friday 4-5&lt;br /&gt;
&lt;br /&gt;
* Quick links:&lt;br /&gt;
** [http://www.it.northwestern.edu/education/login.html Canvas Course Management System]&lt;br /&gt;
** [[NU32 Videos|NU32 Videos]]&lt;br /&gt;
** [[NU32 Software|NU32 Software]]&lt;br /&gt;
** [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form Report a typo or bug in the book]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Purpose of this Course ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this course is to &amp;#039;&amp;#039;&amp;#039;provide tools that help you express your creativity&amp;#039;&amp;#039;&amp;#039;.  Maybe you want to build a robot, or a piece of kinetic art, or an automatic ball-throwing device to entertain your dog; maybe you&amp;#039;ve identified a market for a new smart product and you&amp;#039;d like to prototype the device.  This course provides fundamentals of mechatronics to give you confidence to take on these projects.  You are encouraged to take what you learn in this course and apply it in ME 433 Advanced Mechatronics, DSGN 360 Design Competition, senior design projects, or independent projects.&lt;br /&gt;
&lt;br /&gt;
== Approximate Syllabus ==&lt;br /&gt;
&lt;br /&gt;
This course is for students who want to build microprocessor-controlled electromechanical devices.  &lt;br /&gt;
&lt;br /&gt;
To do this, ME 333 focuses on three topics: (1) general C programming; (2) Microchip PIC microcontroller architecture and C programming specific to the PIC (e.g., using the PIC&amp;#039;s peripherals, such as analog inputs, digital I/O, counters/timers, comm ports, etc.); and (3) interfacing the PIC to sensors and actuators, some theory of sensor and actuator operation, and interface circuitry and signal processing. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;You will do a lot of programming in this course!&amp;#039;&amp;#039;&amp;#039;  If you are certain you hate programming, then this is not the course for you.  But knowing how to program is very useful for any modern engineer.  The language we will use is C, a fairly low-level language that works well for microcontrollers, which is more portable and not nearly as painful and low-level as assembly language.  If you don&amp;#039;t know C, that&amp;#039;s not a problem, most students don&amp;#039;t before taking ME 333; but you should plan to learn it, and rather quickly.  You will have all the materials you need to start learning C before class starts, and &amp;#039;&amp;#039;&amp;#039;the first assignment on C is due on the first day of class&amp;#039;&amp;#039;&amp;#039;!  The reason:  even though we start out with C, that&amp;#039;s not the main goal of this course.  The main goal is to teach you about microcontrollers and mechatronics.  Plus some students already have C background.&lt;br /&gt;
&lt;br /&gt;
You will bring your laptop to each class.  As the quarter progresses, we will be handing out other equipment that you will need to bring to class, such as the parts necessary for our microcontroller, the [https://www.microchip.com/en-us/product/PIC32MX170F256B PIC32MX170F256B].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;It is essential you do the assigned reading and watch the videos in advance of class.&amp;#039;&amp;#039;&amp;#039;  You will have an assignment and/or lecture comprehension questions (L-comps) due before every class, turned in electronically on Canvas.  (This includes the very first day of class!)  Once a week we will have a short quiz.  Most classes will have a combination of a brief review, Q&amp;amp;A, and working individually or in small groups on problems while the instructors help answer any questions.&lt;br /&gt;
&lt;br /&gt;
Topics we will cover, time depending, include:&lt;br /&gt;
&lt;br /&gt;
* introduction to C programming&lt;br /&gt;
* introduction to the PIC32 hardware, and programming the PIC32 in C&lt;br /&gt;
* digital I/O&lt;br /&gt;
* counters/timers and interrupts&lt;br /&gt;
* analog input&lt;br /&gt;
* sensor smorgasbord&lt;br /&gt;
* digital signal processing:  filters and FFTs&lt;br /&gt;
* analog output and pulse-width modulation&lt;br /&gt;
* brushed permanent magnet DC motors:  theory and control&lt;br /&gt;
* stepper motors and RC servo motors&lt;br /&gt;
* communication by SPI, I2C, and RS-232&lt;br /&gt;
* communication over virtual serial port with python&lt;br /&gt;
&lt;br /&gt;
== Checklist to Complete Before the First Day of Class ==&lt;br /&gt;
&lt;br /&gt;
By the first day of class, you should:&lt;br /&gt;
&lt;br /&gt;
* Complete the reading and assignment 1, which is &amp;#039;&amp;#039;&amp;#039;due the first day of class!&amp;#039;&amp;#039;&amp;#039;  The first assignments are designed to get you up to speed on the C programming language, which we will use throughout the course.&lt;br /&gt;
* Have a laptop with at least 2 USB A-style ports.  Any operating system is fine.  One port will be used to program and communicate with your PIC microcontroller, and the other will be used for your portable oscilloscope.  &lt;br /&gt;
* Be prepared to collect your class kit, consisting of the portable nScope oscilloscope, the microcontroller board, and lots of other goodies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
  Price $125 if you are starting from scratch; $75 if you already have the nScope. &lt;br /&gt;
  &lt;br /&gt;
 * Buy your class kit [http://it.mccormick.northwestern.edu/matlab/student_license/login.php &amp;#039;&amp;#039;&amp;#039;here&amp;#039;&amp;#039;&amp;#039;].  If you already have the oscilloscope and multimeter from this year&amp;#039;s ME 233 offering, you should choose &amp;quot;ME 333 (nScope not needed ($75))&amp;quot; for the price of $75.  If you do not have the oscilloscope and multimeter, you should choose &amp;quot;ME 333 (including nScope ($125))&amp;quot; for the price of $125.  You will not be able to start the course until you have completed the purchase of your kit.  If you decide to drop the course, you will be refunded the purchase price upon return of all the equipment in working shape. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Student Contract ==&lt;br /&gt;
&lt;br /&gt;
By signing up for this course, you agree to complete the checklist above before the course starts.  You agree to stay engaged during the class period; even if your computer is open, no facebook or other distractions that will lessen your contribution to the class.  You understand that learning from classmates, and helping classmates, is encouraged, up to the stage of conceptualizing solutions.  You are not allowed to fully complete a solution in a team.  You understand that plagiarism is not tolerated.  You will report instances of plagiarism you are aware of.  Plagiarism includes, but is not limited to:&lt;br /&gt;
&lt;br /&gt;
* Allowing another student to copy your work.&lt;br /&gt;
* Copying another student&amp;#039;s work, in whole or in part.&lt;br /&gt;
* Transforming copied sections of code or solutions to try to disguise their origin.&lt;br /&gt;
* Borrowing code or solutions from others not in the course, e.g., code found on the internet, without attribution.  Borrowing code found on the internet is acceptable if the source is clearly indicated in your code comments, and if you understand how the code works.&lt;br /&gt;
&lt;br /&gt;
On our part (faculty and TAs), we commit to do our best to provide you a curriculum and set of experimental materials to get you up to speed on sophisticated mechatronics integration as quickly and efficiently as possible, while giving you a foundation in concepts needed to go further in future projects and courses.&lt;br /&gt;
&lt;br /&gt;
== Prerequisite ==&lt;br /&gt;
&lt;br /&gt;
ME 233 Electronics Design or similar (EECS 221, 225, BME 305 (pre-2020) or BME 308 (post-2020)) is required. You will be expected to analyze circuits with resistors, capacitors, inductors, diodes, transistors, and op-amps. You can find refresher material and a sample quiz at [[ME_333_Circuits_Review_Material|this page]] and in Appendix B of the book.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
&lt;br /&gt;
Required:&lt;br /&gt;
&lt;br /&gt;
* Textbook: &amp;quot;Embedded Computing and Mechatronics with the PIC32 Microcontroller&amp;quot; ([http://www.amazon.com/gp/product/0124201652/ Amazon], [http://store.elsevier.com/product.jsp?isbn=9780124201651 Elsevier]).  Sample chapters, including the appendix &amp;quot;A Crash Course in C&amp;quot; can be found in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]].  &lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;A pdf of the textbook is included in the class kit, you do not need to buy it online or at the bookstore!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Optional:  [[Media:EssentialC.pdf|Essential C]] is also a very nice intro to C.  Let us know about other online C resources you find particularly useful.&lt;br /&gt;
* [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]] &amp;#039;&amp;#039;&amp;#039;This will change to the PIC32MX100 series&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]] &amp;#039;&amp;#039;&amp;#039;This will change to the PIC32MX100 series&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Find a typo in the book or a bug in the code? Report it [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form here]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Useful, but not required:&lt;br /&gt;
* [http://www.amazon.com/Programming-32-bit-Microcontrollers-Exploring-Technology/dp/0750687096/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1294091438&amp;amp;sr=8-1-spell Programming 32-bit Microcontrollers in C:  Exploring the PIC32] by Lucio Di Jasio.  This is an easy to read and informative exploration of the PIC32.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Other C resources, such as this [[Media:CBook.pdf|pdf version]] of &amp;quot;The C Book,&amp;quot; and the classic [http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1294091625&amp;amp;sr=1-1 C Programming Language] reference book by Kernighan and Ritchie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
Grades will be approximately 40% quizzes and 60% assignments and L-comps (including the final project).  We will have short quizzes once a week at the beginning of class covering material on the previous assignment. We will have a final project and demo in lieu of a final exam.&lt;br /&gt;
&lt;br /&gt;
All quizzes, assignments, and L-comps have equal weight, regardless of how many points they are graded out of.  If one assignment is graded out of 20 points, and the next out of 40, the formula for calculating your total grade for these two assignments would be 0.5*(score1/20) + 0.5*(score2/40).&lt;br /&gt;
&lt;br /&gt;
== Homework Submission ==&lt;br /&gt;
&lt;br /&gt;
All homework will be submitted using the [http://www.it.northwestern.edu/education/login.html Canvas Course Management System].  Homework should be submitted by 11 AM on the day it is due (i.e., before the first section of the day).  Late homework will not be accepted.&lt;br /&gt;
&lt;br /&gt;
Here are a few guidelines/tips associated with homework submissions:&lt;br /&gt;
&lt;br /&gt;
* Upload files individually. No zip archives!&lt;br /&gt;
&lt;br /&gt;
* Submit written responses as PDFs or txt files. &lt;br /&gt;
&lt;br /&gt;
* If you upload a PDF of handwritten work, make sure that the text appears clearly and the picture is oriented portrait style. &lt;br /&gt;
&lt;br /&gt;
* When asked to submit C code for a given programming assignment, we are only concerned with receiving the relevant source files, i.e., all *.c and *.h files.   &lt;br /&gt;
&lt;br /&gt;
* When writing your responses, please follow any instructions on how to write your response.  For example, if we ask for a snippet of code, please do not submit your entire C program with header files and a main routine.  We typically are only expecting a few lines of code that solve the problem.&lt;br /&gt;
&lt;br /&gt;
* Be neat and make sure your answers are easy to follow.  Messy hard-to-follow assignments make TAs cranky, and you don&amp;#039;t want cranky TAs grading your assignment!&lt;br /&gt;
&lt;br /&gt;
* It helps both us and you if you format your code nicely.  Clean looking code is easier for us to grade and easier for you to debug.  Text editors with IDEs such as Visual Studio Code, Netbeans and MPLAB X have tools for auto-formatting code.  For example, highlighting a region and hitting Alt+Shift+f (Linux and Windows) will format that region according to your local formatting preferences.&lt;br /&gt;
&lt;br /&gt;
* When you compile your code, pay attention to any compiler warnings.  They are there for a reason!  You should be able to eventually get your code to produce no warnings.  Often if a piece of code is not working, the warnings will give a clue as to why.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
This course is (partially) &amp;quot;flipped&amp;quot;:  you watch video lectures and do readings in advance of class, and during class, you should have plenty of opportunity for questions and interaction with the instructors and TAs as you work on assignments.  The purpose of this is to try to maximize the value of the class time.  In a typical lecture, 80% of the material is the same every time it is given, and the other 20% is interactive and variable based on student questions.  In a flipped class, we hope to flip this percentage, to better tailor the class to student needs.  You will have time with the instructors while your brains are actually on and working on the material (not just scribbling notes), the times when you are most likely to have questions.  Making the video lectures available should also allow you to spend more or less time on the lecture portion, depending on your prior background.  If the material is difficult for you, you can pause or rewind.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Please keep track of any questions you have as you watch the videos!&amp;#039;&amp;#039;&amp;#039; Bring these questions to class; it will make for a livelier classroom.  &lt;br /&gt;
&lt;br /&gt;
All videos can be found at this page:  [[NU32 Videos|&amp;#039;&amp;#039;&amp;#039;NU32 Videos&amp;#039;&amp;#039;&amp;#039;]] and sample code at the bottom of [[NU32 Software|&amp;#039;&amp;#039;&amp;#039;NU32 Software&amp;#039;&amp;#039;&amp;#039;]].  We will cover almost all of the Appendix, a Crash Course in C, in the first 1.5 weeks of class, so you can work ahead and do all the readings, watch all the videos, and do all the problems, if you have time over the break.  But at a minimum, you must do the winter break assignment.  &lt;br /&gt;
&lt;br /&gt;
We will have video lecture comprehension questions (L-comps) due before every class, assignments due every Tuesday, and quizzes every Thursday (on the material covered in the assignment turned in on Thursday).  L-comps and assignments are turned in using Canvas before 11 AM the day of the class.  The weekly rhythm will be:&lt;br /&gt;
&lt;br /&gt;
* before Tuesday:  turn in assignment on material from previous week and L-comps on videos for the next class&lt;br /&gt;
* Tuesday in class:  discuss assignment, brief recap and Q&amp;amp;A on new videos, start on next assignment&lt;br /&gt;
* before Thursday:  turn in L-comps on videos for next class&lt;br /&gt;
* Thursday in class:  brief quiz on material in assignment turned in on Tuesday, recap and discuss videos, continue with assignment&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Winter Break&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Reading due for first class&amp;#039;&amp;#039;&amp;#039;:  pages 515-527 in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]]&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:  1-7 of Appendix A [[NU32 Videos]].  Answer the lecture comprehension (L-comp) questions in CANVAS. &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment&amp;#039;&amp;#039;&amp;#039;:  Exercises 1-4, 6-8, 10-11, 16-17 of Appendix A.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;:  Make a video of your HelloWorld.c program and upload to CANVAS.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 1&amp;#039;&amp;#039;&amp;#039; (Th 1/5)  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment due&amp;#039;&amp;#039;&amp;#039;:  L-comp and exercise solutions, and demo video, for the Winter Break assignment by 11am on CANVAS.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/6cFSmm6eX6w https://youtu.be/P9v-AxwCvHc https://youtu.be/BgNt20-Ivfw https://youtu.be/EvIfmEzMXqs&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture&amp;#039;&amp;#039;&amp;#039;: Crash Course in C&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Begin next assignment:&amp;#039;&amp;#039;&amp;#039;  Appendix A exercises 18-19, 21-22, 27-28, 30-32, 34-35.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;: Exercise 34 and 35.&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps: 8-16 of a Crash Course in C. &lt;br /&gt;
: Reading:  Through page 562 of a Crash Course in C, and the rest of the Appendix as reference.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 2&amp;#039;&amp;#039;&amp;#039; (Tu 1/10)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Answer L-comps &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/PcREfvXxJQE https://youtu.be/fMmT7FyACMI https://youtu.be/6L7qcu_-I_Q https://youtu.be/r2a4Lg2p0to&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture&amp;#039;&amp;#039;&amp;#039;: Crash Course in C&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Continue assignment&amp;#039;&amp;#039;&amp;#039;   &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  17 of a Crash Course in C.&lt;br /&gt;
: Reading:  Rest of a Crash Course in C as reference&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 3&amp;#039;&amp;#039;&amp;#039; (Th 1/12)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Turn in assignment, L-comps, and demo videos.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Review for the Quiz&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/I5wguSQcEiw https://youtu.be/LbuoWj5BM3Q&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture:&amp;#039;&amp;#039;&amp;#039; Crash Course in C&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 4&amp;#039;&amp;#039;&amp;#039; (Tu 1/17)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz review, Intro to Microcontrollers&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Circuit Diagram assignment on Canvas.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 5&amp;#039;&amp;#039;&amp;#039; (Th 1/19)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz:&amp;#039;&amp;#039;&amp;#039; on C, posted on Canvas, due by 5pm&lt;br /&gt;
: Assignment: Continue circuit Diagram assignment on Canvas. Install MPLAB C compiler, make, and terminal emulator.&lt;br /&gt;
At home:&lt;br /&gt;
: Reading:  Chapter 1 (quickstart)&lt;br /&gt;
: Download, install, and compile all software as indicated through the end of Chapter 1.3. See [[NU32 Software | NU32 Software]]&lt;br /&gt;
: Videos (no L-comps):  Chapter 1 (for your specific OS)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 6&amp;#039;&amp;#039;&amp;#039; (Tu 1/24)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039; Turn in Circuit Diagram assignment&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture:&amp;#039;&amp;#039;&amp;#039; Build and test a PIC32 circuit&lt;br /&gt;
: Reading:  Complete Chapter 1 (quickstart) and Chapter 2.  &lt;br /&gt;
At home:&lt;br /&gt;
: Assignment:  Problems 3-16 of Chapter 2.  You will need the Family Data Sheet and the PIC32 Reference Manual.&lt;br /&gt;
: Videos:  Chapter 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 7&amp;#039;&amp;#039;&amp;#039; (Th 1/26)&lt;br /&gt;
: Quiz on Chapter 1&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture:&amp;#039;&amp;#039;&amp;#039; Chapter 2&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 3. &lt;br /&gt;
: Reading:  Complete Chapter 3.&lt;br /&gt;
: Homework for Chapters 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 8&amp;#039;&amp;#039;&amp;#039; (Tu 1/31)&lt;br /&gt;
At home:&lt;br /&gt;
: Reading:  Complete Chapter 3 and 4.&lt;br /&gt;
: Homework: Chapter 3, problems 3,4,5,7,9. Chapter 4, problems 1, 2, and Canvas question on writing a library for the ultrasonic range finder&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 9&amp;#039;&amp;#039;&amp;#039; (Th 2/2)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039; Chapter 2 L-comp questions&lt;br /&gt;
: Quiz on Chapter 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 10&amp;#039;&amp;#039;&amp;#039; (Tu 2/7)&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 4. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 11&amp;#039;&amp;#039;&amp;#039; (Th 2/9)&lt;br /&gt;
: Quiz on Chapter 3 and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Tu 2/14)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (Th 2/16)&lt;br /&gt;
: Quiz on Chapter 5 and 6&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Tu 2/21)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (Th 2/23)&lt;br /&gt;
: Quiz on Chapter 7, 8, 9, 10&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Tu 2/28)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (Th 3/2)&lt;br /&gt;
: Quiz on Chapter 23&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Tu 3/7)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (Th 3/9)&lt;br /&gt;
: Quiz on Chapter 25, 26&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/0R-aj6XtJLE https://youtu.be/NEICsIIprKU &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Turn in Homework from Chapter 2, L-comps for Chapter 3 videos, read Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/CyGwEoNJdS4 https://youtu.be/5LyWPeLY7yU https://youtu.be/UXNOx6Z1Q9w&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 4. &lt;br /&gt;
: Reading:  Complete Chapter 4.&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Chapter 4 L-comp.&lt;br /&gt;
: Quiz on Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/16_lVr_k7R0  https://youtu.be/HoNKp8MNGOw  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 3 and 4 homework&lt;br /&gt;
: Videos and L-comps on Chapter 5 &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 5:&lt;br /&gt;
: Homework: Chapter 5 (use no optimization for all exercises): Exercises 3, 4.  Chapter 6:  Exercises 1, 4, 5, 8, 9, 16,17. Make a demo video for 6.17&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 10&amp;#039;&amp;#039;&amp;#039; (Th 2/3)&lt;br /&gt;
: Quiz on Chapter 4&lt;br /&gt;
: Videos and L-comps on Chapter 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 6: https://youtu.be/YhmynLK8dTY https://youtu.be/kJ2rvqyuQzM https://youtu.be/JGBWpj5yNfY &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 11&amp;#039;&amp;#039;&amp;#039; (T 2/8)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 5 and 6 homework&lt;br /&gt;
: Videos and L-comps on Chapters 7 and 8&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos: &amp;#039;&amp;#039; On Chapter 7 &amp;amp; 8: https://youtu.be/04C3QZ7JTMs  https://youtu.be/b3aOIfClECE&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Chapter 7: Exercises 1,2. Chapter 8: Exercise 1. Chapter 9: Exercise 1. Chapter 10: Exercise 1,2.&lt;br /&gt;
: The next assignment is related, do Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Th 2/10)&lt;br /&gt;
: Quiz on Chapter 5 and 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos:&amp;#039;&amp;#039;&amp;#039; On Chapter 9, 10 &amp;amp; 11: 9, 10, https://youtu.be/Eqip-9y3mCc &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (T 2/15)&lt;br /&gt;
: Due: Homework from Chapter 7, 8, 9, 10, and the first half of Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 7 8 9 10 homework&lt;br /&gt;
: Assignment: Chapter 24 project. Create solutions for Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2, 24.5, 24.7, and 24.8.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Th 2/17)&lt;br /&gt;
: Quiz on Chapter 7 8 9 10 11&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (T 2/22)&lt;br /&gt;
: Due: Homework from Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 24 homework&lt;br /&gt;
: Assignment: First half of Chapter 28: Chapter 28 through 28.4.1. Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 2/24)&lt;br /&gt;
: Quiz on Chapter 23&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (T 3/1)&lt;br /&gt;
: Due: First half of Chapter 28, up to 28.4.9&lt;br /&gt;
: Assignment: Complete Chapter 28: 28.4.10 #5, 28.4.12 #5.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Th 3/3)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos:&amp;#039;&amp;#039;&amp;#039; https://youtu.be/eoszZpwqNgY https://youtu.be/cz9ckQUsvH8 https://youtu.be/I--miZscPxc https://youtu.be/x5bSqBKPn1U&lt;br /&gt;
: Quiz on Chapter 25 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (T 3/8)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 20&amp;#039;&amp;#039;&amp;#039; (T 3/10)&lt;br /&gt;
: Quiz on Chapter 25 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Assignment&amp;#039;&amp;#039;&amp;#039; Due by Thur 3/16 at noon&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: Sign up for a 5 minute time slot to demo your final project: TBD&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1reEmJ7B2UCTsKIef9iCSJKDipg_J4DuTVHDbNA6Ls-0/edit?usp=sharing googledoc]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Do I need to know the C language to take this course?&lt;br /&gt;
&lt;br /&gt;
A: No. But if you already know C, there is still plenty else in this course for you. If you already know C, know how to use microcontrollers for real-time control, and have a good understanding how common sensors and actuators work and how to interface to them, this course may not be for you. Consider taking ME 433 Advanced Mechatronics in the spring quarter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: Is there an independent project?&lt;br /&gt;
&lt;br /&gt;
A: There is no large independent project. There will be a two-week project at the end of the course, but there will be no machining. For a more significant project, take ME 433 Advanced Mechatronics, offered in the spring quarter. ME 333 is good preparation for ME 433.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: What kind of laptop do I need?&lt;br /&gt;
&lt;br /&gt;
A: You need a laptop with at least 2 USB ports.  Any operating system is fine.&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics&amp;diff=26370</id>
		<title>ME 333 Introduction to Mechatronics</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics&amp;diff=26370"/>
		<updated>2023-01-31T16:48:29Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Winter Quarter 2023&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;First day of class is Thursday January 5.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Section 20:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 11:00-12:20, Tech M152&lt;br /&gt;
* Section 21:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 12:30-1:50, Tech M152&lt;br /&gt;
* TA:  &lt;br /&gt;
** Rui Li&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Final demo&amp;#039;&amp;#039;&amp;#039; (in lieu of final exam):  Monday Mar 13 3-5 PM (12:30-1:50 section) and Wednesday Mar 15 9-11 AM (11-12:20 section)&lt;br /&gt;
* Office Hours: &lt;br /&gt;
** With Nick in Ford B100: Monday 10-11, Tuesday 3-4, Wednesday 11-12, Thursday 3-4, Friday 10-11&lt;br /&gt;
** With Li in Ford B100: Friday 4-5&lt;br /&gt;
&lt;br /&gt;
* Quick links:&lt;br /&gt;
** [http://www.it.northwestern.edu/education/login.html Canvas Course Management System]&lt;br /&gt;
** [[NU32 Videos|NU32 Videos]]&lt;br /&gt;
** [[NU32 Software|NU32 Software]]&lt;br /&gt;
** [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form Report a typo or bug in the book]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Purpose of this Course ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this course is to &amp;#039;&amp;#039;&amp;#039;provide tools that help you express your creativity&amp;#039;&amp;#039;&amp;#039;.  Maybe you want to build a robot, or a piece of kinetic art, or an automatic ball-throwing device to entertain your dog; maybe you&amp;#039;ve identified a market for a new smart product and you&amp;#039;d like to prototype the device.  This course provides fundamentals of mechatronics to give you confidence to take on these projects.  You are encouraged to take what you learn in this course and apply it in ME 433 Advanced Mechatronics, DSGN 360 Design Competition, senior design projects, or independent projects.&lt;br /&gt;
&lt;br /&gt;
== Approximate Syllabus ==&lt;br /&gt;
&lt;br /&gt;
This course is for students who want to build microprocessor-controlled electromechanical devices.  &lt;br /&gt;
&lt;br /&gt;
To do this, ME 333 focuses on three topics: (1) general C programming; (2) Microchip PIC microcontroller architecture and C programming specific to the PIC (e.g., using the PIC&amp;#039;s peripherals, such as analog inputs, digital I/O, counters/timers, comm ports, etc.); and (3) interfacing the PIC to sensors and actuators, some theory of sensor and actuator operation, and interface circuitry and signal processing. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;You will do a lot of programming in this course!&amp;#039;&amp;#039;&amp;#039;  If you are certain you hate programming, then this is not the course for you.  But knowing how to program is very useful for any modern engineer.  The language we will use is C, a fairly low-level language that works well for microcontrollers, which is more portable and not nearly as painful and low-level as assembly language.  If you don&amp;#039;t know C, that&amp;#039;s not a problem, most students don&amp;#039;t before taking ME 333; but you should plan to learn it, and rather quickly.  You will have all the materials you need to start learning C before class starts, and &amp;#039;&amp;#039;&amp;#039;the first assignment on C is due on the first day of class&amp;#039;&amp;#039;&amp;#039;!  The reason:  even though we start out with C, that&amp;#039;s not the main goal of this course.  The main goal is to teach you about microcontrollers and mechatronics.  Plus some students already have C background.&lt;br /&gt;
&lt;br /&gt;
You will bring your laptop to each class.  As the quarter progresses, we will be handing out other equipment that you will need to bring to class, such as the parts necessary for our microcontroller, the [https://www.microchip.com/en-us/product/PIC32MX170F256B PIC32MX170F256B].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;It is essential you do the assigned reading and watch the videos in advance of class.&amp;#039;&amp;#039;&amp;#039;  You will have an assignment and/or lecture comprehension questions (L-comps) due before every class, turned in electronically on Canvas.  (This includes the very first day of class!)  Once a week we will have a short quiz.  Most classes will have a combination of a brief review, Q&amp;amp;A, and working individually or in small groups on problems while the instructors help answer any questions.&lt;br /&gt;
&lt;br /&gt;
Topics we will cover, time depending, include:&lt;br /&gt;
&lt;br /&gt;
* introduction to C programming&lt;br /&gt;
* introduction to the PIC32 hardware, and programming the PIC32 in C&lt;br /&gt;
* digital I/O&lt;br /&gt;
* counters/timers and interrupts&lt;br /&gt;
* analog input&lt;br /&gt;
* sensor smorgasbord&lt;br /&gt;
* digital signal processing:  filters and FFTs&lt;br /&gt;
* analog output and pulse-width modulation&lt;br /&gt;
* brushed permanent magnet DC motors:  theory and control&lt;br /&gt;
* stepper motors and RC servo motors&lt;br /&gt;
* communication by SPI, I2C, and RS-232&lt;br /&gt;
* communication over virtual serial port with python&lt;br /&gt;
&lt;br /&gt;
== Checklist to Complete Before the First Day of Class ==&lt;br /&gt;
&lt;br /&gt;
By the first day of class, you should:&lt;br /&gt;
&lt;br /&gt;
* Complete the reading and assignment 1, which is &amp;#039;&amp;#039;&amp;#039;due the first day of class!&amp;#039;&amp;#039;&amp;#039;  The first assignments are designed to get you up to speed on the C programming language, which we will use throughout the course.&lt;br /&gt;
* Have a laptop with at least 2 USB A-style ports.  Any operating system is fine.  One port will be used to program and communicate with your PIC microcontroller, and the other will be used for your portable oscilloscope.  &lt;br /&gt;
* Be prepared to collect your class kit, consisting of the portable nScope oscilloscope, the microcontroller board, and lots of other goodies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
  Price $125 if you are starting from scratch; $75 if you already have the nScope. &lt;br /&gt;
  &lt;br /&gt;
 * Buy your class kit [http://it.mccormick.northwestern.edu/matlab/student_license/login.php &amp;#039;&amp;#039;&amp;#039;here&amp;#039;&amp;#039;&amp;#039;].  If you already have the oscilloscope and multimeter from this year&amp;#039;s ME 233 offering, you should choose &amp;quot;ME 333 (nScope not needed ($75))&amp;quot; for the price of $75.  If you do not have the oscilloscope and multimeter, you should choose &amp;quot;ME 333 (including nScope ($125))&amp;quot; for the price of $125.  You will not be able to start the course until you have completed the purchase of your kit.  If you decide to drop the course, you will be refunded the purchase price upon return of all the equipment in working shape. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Student Contract ==&lt;br /&gt;
&lt;br /&gt;
By signing up for this course, you agree to complete the checklist above before the course starts.  You agree to stay engaged during the class period; even if your computer is open, no facebook or other distractions that will lessen your contribution to the class.  You understand that learning from classmates, and helping classmates, is encouraged, up to the stage of conceptualizing solutions.  You are not allowed to fully complete a solution in a team.  You understand that plagiarism is not tolerated.  You will report instances of plagiarism you are aware of.  Plagiarism includes, but is not limited to:&lt;br /&gt;
&lt;br /&gt;
* Allowing another student to copy your work.&lt;br /&gt;
* Copying another student&amp;#039;s work, in whole or in part.&lt;br /&gt;
* Transforming copied sections of code or solutions to try to disguise their origin.&lt;br /&gt;
* Borrowing code or solutions from others not in the course, e.g., code found on the internet, without attribution.  Borrowing code found on the internet is acceptable if the source is clearly indicated in your code comments, and if you understand how the code works.&lt;br /&gt;
&lt;br /&gt;
On our part (faculty and TAs), we commit to do our best to provide you a curriculum and set of experimental materials to get you up to speed on sophisticated mechatronics integration as quickly and efficiently as possible, while giving you a foundation in concepts needed to go further in future projects and courses.&lt;br /&gt;
&lt;br /&gt;
== Prerequisite ==&lt;br /&gt;
&lt;br /&gt;
ME 233 Electronics Design or similar (EECS 221, 225, BME 305 (pre-2020) or BME 308 (post-2020)) is required. You will be expected to analyze circuits with resistors, capacitors, inductors, diodes, transistors, and op-amps. You can find refresher material and a sample quiz at [[ME_333_Circuits_Review_Material|this page]] and in Appendix B of the book.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
&lt;br /&gt;
Required:&lt;br /&gt;
&lt;br /&gt;
* Textbook: &amp;quot;Embedded Computing and Mechatronics with the PIC32 Microcontroller&amp;quot; ([http://www.amazon.com/gp/product/0124201652/ Amazon], [http://store.elsevier.com/product.jsp?isbn=9780124201651 Elsevier]).  Sample chapters, including the appendix &amp;quot;A Crash Course in C&amp;quot; can be found in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]].  &lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;A pdf of the textbook is included in the class kit, you do not need to buy it online or at the bookstore!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Optional:  [[Media:EssentialC.pdf|Essential C]] is also a very nice intro to C.  Let us know about other online C resources you find particularly useful.&lt;br /&gt;
* [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]] &amp;#039;&amp;#039;&amp;#039;This will change to the PIC32MX100 series&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]] &amp;#039;&amp;#039;&amp;#039;This will change to the PIC32MX100 series&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Find a typo in the book or a bug in the code? Report it [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form here]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Useful, but not required:&lt;br /&gt;
* [http://www.amazon.com/Programming-32-bit-Microcontrollers-Exploring-Technology/dp/0750687096/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1294091438&amp;amp;sr=8-1-spell Programming 32-bit Microcontrollers in C:  Exploring the PIC32] by Lucio Di Jasio.  This is an easy to read and informative exploration of the PIC32.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Other C resources, such as this [[Media:CBook.pdf|pdf version]] of &amp;quot;The C Book,&amp;quot; and the classic [http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1294091625&amp;amp;sr=1-1 C Programming Language] reference book by Kernighan and Ritchie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
Grades will be approximately 40% quizzes and 60% assignments and L-comps (including the final project).  We will have short quizzes once a week at the beginning of class covering material on the previous assignment. We will have a final project and demo in lieu of a final exam.&lt;br /&gt;
&lt;br /&gt;
All quizzes, assignments, and L-comps have equal weight, regardless of how many points they are graded out of.  If one assignment is graded out of 20 points, and the next out of 40, the formula for calculating your total grade for these two assignments would be 0.5*(score1/20) + 0.5*(score2/40).&lt;br /&gt;
&lt;br /&gt;
== Homework Submission ==&lt;br /&gt;
&lt;br /&gt;
All homework will be submitted using the [http://www.it.northwestern.edu/education/login.html Canvas Course Management System].  Homework should be submitted by 11 AM on the day it is due (i.e., before the first section of the day).  Late homework will not be accepted.&lt;br /&gt;
&lt;br /&gt;
Here are a few guidelines/tips associated with homework submissions:&lt;br /&gt;
&lt;br /&gt;
* Upload files individually. No zip archives!&lt;br /&gt;
&lt;br /&gt;
* Submit written responses as PDFs or txt files. &lt;br /&gt;
&lt;br /&gt;
* If you upload a PDF of handwritten work, make sure that the text appears clearly and the picture is oriented portrait style. &lt;br /&gt;
&lt;br /&gt;
* When asked to submit C code for a given programming assignment, we are only concerned with receiving the relevant source files, i.e., all *.c and *.h files.   &lt;br /&gt;
&lt;br /&gt;
* When writing your responses, please follow any instructions on how to write your response.  For example, if we ask for a snippet of code, please do not submit your entire C program with header files and a main routine.  We typically are only expecting a few lines of code that solve the problem.&lt;br /&gt;
&lt;br /&gt;
* Be neat and make sure your answers are easy to follow.  Messy hard-to-follow assignments make TAs cranky, and you don&amp;#039;t want cranky TAs grading your assignment!&lt;br /&gt;
&lt;br /&gt;
* It helps both us and you if you format your code nicely.  Clean looking code is easier for us to grade and easier for you to debug.  Text editors with IDEs such as Visual Studio Code, Netbeans and MPLAB X have tools for auto-formatting code.  For example, highlighting a region and hitting Alt+Shift+f (Linux and Windows) will format that region according to your local formatting preferences.&lt;br /&gt;
&lt;br /&gt;
* When you compile your code, pay attention to any compiler warnings.  They are there for a reason!  You should be able to eventually get your code to produce no warnings.  Often if a piece of code is not working, the warnings will give a clue as to why.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
This course is (partially) &amp;quot;flipped&amp;quot;:  you watch video lectures and do readings in advance of class, and during class, you should have plenty of opportunity for questions and interaction with the instructors and TAs as you work on assignments.  The purpose of this is to try to maximize the value of the class time.  In a typical lecture, 80% of the material is the same every time it is given, and the other 20% is interactive and variable based on student questions.  In a flipped class, we hope to flip this percentage, to better tailor the class to student needs.  You will have time with the instructors while your brains are actually on and working on the material (not just scribbling notes), the times when you are most likely to have questions.  Making the video lectures available should also allow you to spend more or less time on the lecture portion, depending on your prior background.  If the material is difficult for you, you can pause or rewind.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Please keep track of any questions you have as you watch the videos!&amp;#039;&amp;#039;&amp;#039; Bring these questions to class; it will make for a livelier classroom.  &lt;br /&gt;
&lt;br /&gt;
All videos can be found at this page:  [[NU32 Videos|&amp;#039;&amp;#039;&amp;#039;NU32 Videos&amp;#039;&amp;#039;&amp;#039;]] and sample code at the bottom of [[NU32 Software|&amp;#039;&amp;#039;&amp;#039;NU32 Software&amp;#039;&amp;#039;&amp;#039;]].  We will cover almost all of the Appendix, a Crash Course in C, in the first 1.5 weeks of class, so you can work ahead and do all the readings, watch all the videos, and do all the problems, if you have time over the break.  But at a minimum, you must do the winter break assignment.  &lt;br /&gt;
&lt;br /&gt;
We will have video lecture comprehension questions (L-comps) due before every class, assignments due every Tuesday, and quizzes every Thursday (on the material covered in the assignment turned in on Thursday).  L-comps and assignments are turned in using Canvas before 11 AM the day of the class.  The weekly rhythm will be:&lt;br /&gt;
&lt;br /&gt;
* before Tuesday:  turn in assignment on material from previous week and L-comps on videos for the next class&lt;br /&gt;
* Tuesday in class:  discuss assignment, brief recap and Q&amp;amp;A on new videos, start on next assignment&lt;br /&gt;
* before Thursday:  turn in L-comps on videos for next class&lt;br /&gt;
* Thursday in class:  brief quiz on material in assignment turned in on Tuesday, recap and discuss videos, continue with assignment&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Winter Break&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Reading due for first class&amp;#039;&amp;#039;&amp;#039;:  pages 515-527 in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]]&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:  1-7 of Appendix A [[NU32 Videos]].  Answer the lecture comprehension (L-comp) questions in CANVAS. &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment&amp;#039;&amp;#039;&amp;#039;:  Exercises 1-4, 6-8, 10-11, 16-17 of Appendix A.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;:  Make a video of your HelloWorld.c program and upload to CANVAS.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 1&amp;#039;&amp;#039;&amp;#039; (Th 1/5)  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment due&amp;#039;&amp;#039;&amp;#039;:  L-comp and exercise solutions, and demo video, for the Winter Break assignment by 11am on CANVAS.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/6cFSmm6eX6w https://youtu.be/P9v-AxwCvHc https://youtu.be/BgNt20-Ivfw https://youtu.be/EvIfmEzMXqs&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture&amp;#039;&amp;#039;&amp;#039;: Crash Course in C&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Begin next assignment:&amp;#039;&amp;#039;&amp;#039;  Appendix A exercises 18-19, 21-22, 27-28, 30-32, 34-35.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;: Exercise 34 and 35.&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps: 8-16 of a Crash Course in C. &lt;br /&gt;
: Reading:  Through page 562 of a Crash Course in C, and the rest of the Appendix as reference.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 2&amp;#039;&amp;#039;&amp;#039; (Tu 1/10)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Answer L-comps &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/PcREfvXxJQE https://youtu.be/fMmT7FyACMI https://youtu.be/6L7qcu_-I_Q https://youtu.be/r2a4Lg2p0to&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture&amp;#039;&amp;#039;&amp;#039;: Crash Course in C&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Continue assignment&amp;#039;&amp;#039;&amp;#039;   &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  17 of a Crash Course in C.&lt;br /&gt;
: Reading:  Rest of a Crash Course in C as reference&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 3&amp;#039;&amp;#039;&amp;#039; (Th 1/12)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Turn in assignment, L-comps, and demo videos.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Review for the Quiz&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/I5wguSQcEiw https://youtu.be/LbuoWj5BM3Q&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture:&amp;#039;&amp;#039;&amp;#039; Crash Course in C&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 4&amp;#039;&amp;#039;&amp;#039; (Tu 1/17)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz review, Intro to Microcontrollers&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Circuit Diagram assignment on Canvas.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 5&amp;#039;&amp;#039;&amp;#039; (Th 1/19)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz:&amp;#039;&amp;#039;&amp;#039; on C, posted on Canvas, due by 5pm&lt;br /&gt;
: Assignment: Continue circuit Diagram assignment on Canvas. Install MPLAB C compiler, make, and terminal emulator.&lt;br /&gt;
At home:&lt;br /&gt;
: Reading:  Chapter 1 (quickstart)&lt;br /&gt;
: Download, install, and compile all software as indicated through the end of Chapter 1.3. See [[NU32 Software | NU32 Software]]&lt;br /&gt;
: Videos (no L-comps):  Chapter 1 (for your specific OS)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 6&amp;#039;&amp;#039;&amp;#039; (Tu 1/24)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039; Turn in Circuit Diagram assignment&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture:&amp;#039;&amp;#039;&amp;#039; Build and test a PIC32 circuit&lt;br /&gt;
: Reading:  Complete Chapter 1 (quickstart) and Chapter 2.  &lt;br /&gt;
At home:&lt;br /&gt;
: Assignment:  Problems 3-16 of Chapter 2.  You will need the Family Data Sheet and the PIC32 Reference Manual.&lt;br /&gt;
: Videos:  Chapter 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 7&amp;#039;&amp;#039;&amp;#039; (Th 1/26)&lt;br /&gt;
: Quiz on Chapter 1&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture:&amp;#039;&amp;#039;&amp;#039; Chapter 2&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 3. &lt;br /&gt;
: Reading:  Complete Chapter 3.&lt;br /&gt;
: Homework for Chapters 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 8&amp;#039;&amp;#039;&amp;#039; (Tu 1/31)&lt;br /&gt;
At home:&lt;br /&gt;
: Reading:  Complete Chapter 3 and 4.&lt;br /&gt;
: Homework: Chapter 3, problems 3,4,5,7,9. Chapter 4, problems 1, 2, and Canvas question on writing a library for the ultrasonic range finder&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 9&amp;#039;&amp;#039;&amp;#039; (Th 2/2)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039; Chapter 2 L-comp questions&lt;br /&gt;
: Quiz on Chapter 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 10&amp;#039;&amp;#039;&amp;#039; (Tu 2/7)&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 4. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 11&amp;#039;&amp;#039;&amp;#039; (Th 2/9)&lt;br /&gt;
: Quiz on Chapter 3 and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Tu 2/14)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (Th 2/16)&lt;br /&gt;
: Quiz on Chapter 5 and 6&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Tu 2/21)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (Th 2/23)&lt;br /&gt;
: Quiz on Chapter 7, 8, 9, 10&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Tu 2/28)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (Th 3/2)&lt;br /&gt;
: Quiz on Chapter 23&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Tu 3/7)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (Th 3/9)&lt;br /&gt;
: Quiz on Chapter 25&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/0R-aj6XtJLE https://youtu.be/NEICsIIprKU &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Turn in Homework from Chapter 2, L-comps for Chapter 3 videos, read Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/CyGwEoNJdS4 https://youtu.be/5LyWPeLY7yU https://youtu.be/UXNOx6Z1Q9w&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 4. &lt;br /&gt;
: Reading:  Complete Chapter 4.&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Chapter 4 L-comp.&lt;br /&gt;
: Quiz on Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/16_lVr_k7R0  https://youtu.be/HoNKp8MNGOw  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 3 and 4 homework&lt;br /&gt;
: Videos and L-comps on Chapter 5 &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 5:&lt;br /&gt;
: Homework: Chapter 5 (use no optimization for all exercises): Exercises 3, 4.  Chapter 6:  Exercises 1, 4, 5, 8, 9, 16,17. Make a demo video for 6.17&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 10&amp;#039;&amp;#039;&amp;#039; (Th 2/3)&lt;br /&gt;
: Quiz on Chapter 4&lt;br /&gt;
: Videos and L-comps on Chapter 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 6: https://youtu.be/YhmynLK8dTY https://youtu.be/kJ2rvqyuQzM https://youtu.be/JGBWpj5yNfY &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 11&amp;#039;&amp;#039;&amp;#039; (T 2/8)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 5 and 6 homework&lt;br /&gt;
: Videos and L-comps on Chapters 7 and 8&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos: &amp;#039;&amp;#039; On Chapter 7 &amp;amp; 8: https://youtu.be/04C3QZ7JTMs  https://youtu.be/b3aOIfClECE&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Chapter 7: Exercises 1,2. Chapter 8: Exercise 1. Chapter 9: Exercise 1. Chapter 10: Exercise 1,2.&lt;br /&gt;
: The next assignment is related, do Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Th 2/10)&lt;br /&gt;
: Quiz on Chapter 5 and 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos:&amp;#039;&amp;#039;&amp;#039; On Chapter 9, 10 &amp;amp; 11: 9, 10, https://youtu.be/Eqip-9y3mCc &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (T 2/15)&lt;br /&gt;
: Due: Homework from Chapter 7, 8, 9, 10, and the first half of Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 7 8 9 10 homework&lt;br /&gt;
: Assignment: Chapter 24 project. Create solutions for Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2, 24.5, 24.7, and 24.8.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Th 2/17)&lt;br /&gt;
: Quiz on Chapter 7 8 9 10 11&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (T 2/22)&lt;br /&gt;
: Due: Homework from Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 24 homework&lt;br /&gt;
: Assignment: First half of Chapter 28: Chapter 28 through 28.4.1. Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 2/24)&lt;br /&gt;
: Quiz on Chapter 23&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (T 3/1)&lt;br /&gt;
: Due: First half of Chapter 28, up to 28.4.9&lt;br /&gt;
: Assignment: Complete Chapter 28: 28.4.10 #5, 28.4.12 #5.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Th 3/3)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos:&amp;#039;&amp;#039;&amp;#039; https://youtu.be/eoszZpwqNgY https://youtu.be/cz9ckQUsvH8 https://youtu.be/I--miZscPxc https://youtu.be/x5bSqBKPn1U&lt;br /&gt;
: Quiz on Chapter 25 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (T 3/8)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 20&amp;#039;&amp;#039;&amp;#039; (T 3/10)&lt;br /&gt;
: Quiz on Chapter 25 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Assignment&amp;#039;&amp;#039;&amp;#039; Due by Thur 3/16 at noon&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: Sign up for a 5 minute time slot to demo your final project: TBD&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1reEmJ7B2UCTsKIef9iCSJKDipg_J4DuTVHDbNA6Ls-0/edit?usp=sharing googledoc]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Do I need to know the C language to take this course?&lt;br /&gt;
&lt;br /&gt;
A: No. But if you already know C, there is still plenty else in this course for you. If you already know C, know how to use microcontrollers for real-time control, and have a good understanding how common sensors and actuators work and how to interface to them, this course may not be for you. Consider taking ME 433 Advanced Mechatronics in the spring quarter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: Is there an independent project?&lt;br /&gt;
&lt;br /&gt;
A: There is no large independent project. There will be a two-week project at the end of the course, but there will be no machining. For a more significant project, take ME 433 Advanced Mechatronics, offered in the spring quarter. ME 333 is good preparation for ME 433.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: What kind of laptop do I need?&lt;br /&gt;
&lt;br /&gt;
A: You need a laptop with at least 2 USB ports.  Any operating system is fine.&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics&amp;diff=26369</id>
		<title>ME 333 Introduction to Mechatronics</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics&amp;diff=26369"/>
		<updated>2023-01-31T16:47:26Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Winter Quarter 2023&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;First day of class is Thursday January 5.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Section 20:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 11:00-12:20, Tech M152&lt;br /&gt;
* Section 21:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 12:30-1:50, Tech M152&lt;br /&gt;
* TA:  &lt;br /&gt;
** Rui Li&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Final demo&amp;#039;&amp;#039;&amp;#039; (in lieu of final exam):  Monday Mar 13 3-5 PM (12:30-1:50 section) and Wednesday Mar 15 9-11 AM (11-12:20 section)&lt;br /&gt;
* Office Hours: &lt;br /&gt;
** With Nick in Ford B100: Monday 10-11, Tuesday 3-4, Wednesday 11-12, Thursday 3-4, Friday 10-11&lt;br /&gt;
** With Li in Ford B100: Friday 4-5&lt;br /&gt;
&lt;br /&gt;
* Quick links:&lt;br /&gt;
** [http://www.it.northwestern.edu/education/login.html Canvas Course Management System]&lt;br /&gt;
** [[NU32 Videos|NU32 Videos]]&lt;br /&gt;
** [[NU32 Software|NU32 Software]]&lt;br /&gt;
** [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form Report a typo or bug in the book]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Purpose of this Course ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this course is to &amp;#039;&amp;#039;&amp;#039;provide tools that help you express your creativity&amp;#039;&amp;#039;&amp;#039;.  Maybe you want to build a robot, or a piece of kinetic art, or an automatic ball-throwing device to entertain your dog; maybe you&amp;#039;ve identified a market for a new smart product and you&amp;#039;d like to prototype the device.  This course provides fundamentals of mechatronics to give you confidence to take on these projects.  You are encouraged to take what you learn in this course and apply it in ME 433 Advanced Mechatronics, DSGN 360 Design Competition, senior design projects, or independent projects.&lt;br /&gt;
&lt;br /&gt;
== Approximate Syllabus ==&lt;br /&gt;
&lt;br /&gt;
This course is for students who want to build microprocessor-controlled electromechanical devices.  &lt;br /&gt;
&lt;br /&gt;
To do this, ME 333 focuses on three topics: (1) general C programming; (2) Microchip PIC microcontroller architecture and C programming specific to the PIC (e.g., using the PIC&amp;#039;s peripherals, such as analog inputs, digital I/O, counters/timers, comm ports, etc.); and (3) interfacing the PIC to sensors and actuators, some theory of sensor and actuator operation, and interface circuitry and signal processing. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;You will do a lot of programming in this course!&amp;#039;&amp;#039;&amp;#039;  If you are certain you hate programming, then this is not the course for you.  But knowing how to program is very useful for any modern engineer.  The language we will use is C, a fairly low-level language that works well for microcontrollers, which is more portable and not nearly as painful and low-level as assembly language.  If you don&amp;#039;t know C, that&amp;#039;s not a problem, most students don&amp;#039;t before taking ME 333; but you should plan to learn it, and rather quickly.  You will have all the materials you need to start learning C before class starts, and &amp;#039;&amp;#039;&amp;#039;the first assignment on C is due on the first day of class&amp;#039;&amp;#039;&amp;#039;!  The reason:  even though we start out with C, that&amp;#039;s not the main goal of this course.  The main goal is to teach you about microcontrollers and mechatronics.  Plus some students already have C background.&lt;br /&gt;
&lt;br /&gt;
You will bring your laptop to each class.  As the quarter progresses, we will be handing out other equipment that you will need to bring to class, such as the parts necessary for our microcontroller, the [https://www.microchip.com/en-us/product/PIC32MX170F256B PIC32MX170F256B].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;It is essential you do the assigned reading and watch the videos in advance of class.&amp;#039;&amp;#039;&amp;#039;  You will have an assignment and/or lecture comprehension questions (L-comps) due before every class, turned in electronically on Canvas.  (This includes the very first day of class!)  Once a week we will have a short quiz.  Most classes will have a combination of a brief review, Q&amp;amp;A, and working individually or in small groups on problems while the instructors help answer any questions.&lt;br /&gt;
&lt;br /&gt;
Topics we will cover, time depending, include:&lt;br /&gt;
&lt;br /&gt;
* introduction to C programming&lt;br /&gt;
* introduction to the PIC32 hardware, and programming the PIC32 in C&lt;br /&gt;
* digital I/O&lt;br /&gt;
* counters/timers and interrupts&lt;br /&gt;
* analog input&lt;br /&gt;
* sensor smorgasbord&lt;br /&gt;
* digital signal processing:  filters and FFTs&lt;br /&gt;
* analog output and pulse-width modulation&lt;br /&gt;
* brushed permanent magnet DC motors:  theory and control&lt;br /&gt;
* stepper motors and RC servo motors&lt;br /&gt;
* communication by SPI, I2C, and RS-232&lt;br /&gt;
* communication over virtual serial port with python&lt;br /&gt;
&lt;br /&gt;
== Checklist to Complete Before the First Day of Class ==&lt;br /&gt;
&lt;br /&gt;
By the first day of class, you should:&lt;br /&gt;
&lt;br /&gt;
* Complete the reading and assignment 1, which is &amp;#039;&amp;#039;&amp;#039;due the first day of class!&amp;#039;&amp;#039;&amp;#039;  The first assignments are designed to get you up to speed on the C programming language, which we will use throughout the course.&lt;br /&gt;
* Have a laptop with at least 2 USB A-style ports.  Any operating system is fine.  One port will be used to program and communicate with your PIC microcontroller, and the other will be used for your portable oscilloscope.  &lt;br /&gt;
* Be prepared to collect your class kit, consisting of the portable nScope oscilloscope, the microcontroller board, and lots of other goodies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
  Price $125 if you are starting from scratch; $75 if you already have the nScope. &lt;br /&gt;
  &lt;br /&gt;
 * Buy your class kit [http://it.mccormick.northwestern.edu/matlab/student_license/login.php &amp;#039;&amp;#039;&amp;#039;here&amp;#039;&amp;#039;&amp;#039;].  If you already have the oscilloscope and multimeter from this year&amp;#039;s ME 233 offering, you should choose &amp;quot;ME 333 (nScope not needed ($75))&amp;quot; for the price of $75.  If you do not have the oscilloscope and multimeter, you should choose &amp;quot;ME 333 (including nScope ($125))&amp;quot; for the price of $125.  You will not be able to start the course until you have completed the purchase of your kit.  If you decide to drop the course, you will be refunded the purchase price upon return of all the equipment in working shape. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Student Contract ==&lt;br /&gt;
&lt;br /&gt;
By signing up for this course, you agree to complete the checklist above before the course starts.  You agree to stay engaged during the class period; even if your computer is open, no facebook or other distractions that will lessen your contribution to the class.  You understand that learning from classmates, and helping classmates, is encouraged, up to the stage of conceptualizing solutions.  You are not allowed to fully complete a solution in a team.  You understand that plagiarism is not tolerated.  You will report instances of plagiarism you are aware of.  Plagiarism includes, but is not limited to:&lt;br /&gt;
&lt;br /&gt;
* Allowing another student to copy your work.&lt;br /&gt;
* Copying another student&amp;#039;s work, in whole or in part.&lt;br /&gt;
* Transforming copied sections of code or solutions to try to disguise their origin.&lt;br /&gt;
* Borrowing code or solutions from others not in the course, e.g., code found on the internet, without attribution.  Borrowing code found on the internet is acceptable if the source is clearly indicated in your code comments, and if you understand how the code works.&lt;br /&gt;
&lt;br /&gt;
On our part (faculty and TAs), we commit to do our best to provide you a curriculum and set of experimental materials to get you up to speed on sophisticated mechatronics integration as quickly and efficiently as possible, while giving you a foundation in concepts needed to go further in future projects and courses.&lt;br /&gt;
&lt;br /&gt;
== Prerequisite ==&lt;br /&gt;
&lt;br /&gt;
ME 233 Electronics Design or similar (EECS 221, 225, BME 305 (pre-2020) or BME 308 (post-2020)) is required. You will be expected to analyze circuits with resistors, capacitors, inductors, diodes, transistors, and op-amps. You can find refresher material and a sample quiz at [[ME_333_Circuits_Review_Material|this page]] and in Appendix B of the book.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
&lt;br /&gt;
Required:&lt;br /&gt;
&lt;br /&gt;
* Textbook: &amp;quot;Embedded Computing and Mechatronics with the PIC32 Microcontroller&amp;quot; ([http://www.amazon.com/gp/product/0124201652/ Amazon], [http://store.elsevier.com/product.jsp?isbn=9780124201651 Elsevier]).  Sample chapters, including the appendix &amp;quot;A Crash Course in C&amp;quot; can be found in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]].  &lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;A pdf of the textbook is included in the class kit, you do not need to buy it online or at the bookstore!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Optional:  [[Media:EssentialC.pdf|Essential C]] is also a very nice intro to C.  Let us know about other online C resources you find particularly useful.&lt;br /&gt;
* [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]] &amp;#039;&amp;#039;&amp;#039;This will change to the PIC32MX100 series&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]] &amp;#039;&amp;#039;&amp;#039;This will change to the PIC32MX100 series&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Find a typo in the book or a bug in the code? Report it [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form here]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Useful, but not required:&lt;br /&gt;
* [http://www.amazon.com/Programming-32-bit-Microcontrollers-Exploring-Technology/dp/0750687096/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1294091438&amp;amp;sr=8-1-spell Programming 32-bit Microcontrollers in C:  Exploring the PIC32] by Lucio Di Jasio.  This is an easy to read and informative exploration of the PIC32.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Other C resources, such as this [[Media:CBook.pdf|pdf version]] of &amp;quot;The C Book,&amp;quot; and the classic [http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1294091625&amp;amp;sr=1-1 C Programming Language] reference book by Kernighan and Ritchie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
Grades will be approximately 40% quizzes and 60% assignments and L-comps (including the final project).  We will have short quizzes once a week at the beginning of class covering material on the previous assignment. We will have a final project and demo in lieu of a final exam.&lt;br /&gt;
&lt;br /&gt;
All quizzes, assignments, and L-comps have equal weight, regardless of how many points they are graded out of.  If one assignment is graded out of 20 points, and the next out of 40, the formula for calculating your total grade for these two assignments would be 0.5*(score1/20) + 0.5*(score2/40).&lt;br /&gt;
&lt;br /&gt;
== Homework Submission ==&lt;br /&gt;
&lt;br /&gt;
All homework will be submitted using the [http://www.it.northwestern.edu/education/login.html Canvas Course Management System].  Homework should be submitted by 11 AM on the day it is due (i.e., before the first section of the day).  Late homework will not be accepted.&lt;br /&gt;
&lt;br /&gt;
Here are a few guidelines/tips associated with homework submissions:&lt;br /&gt;
&lt;br /&gt;
* Upload files individually. No zip archives!&lt;br /&gt;
&lt;br /&gt;
* Submit written responses as PDFs or txt files. &lt;br /&gt;
&lt;br /&gt;
* If you upload a PDF of handwritten work, make sure that the text appears clearly and the picture is oriented portrait style. &lt;br /&gt;
&lt;br /&gt;
* When asked to submit C code for a given programming assignment, we are only concerned with receiving the relevant source files, i.e., all *.c and *.h files.   &lt;br /&gt;
&lt;br /&gt;
* When writing your responses, please follow any instructions on how to write your response.  For example, if we ask for a snippet of code, please do not submit your entire C program with header files and a main routine.  We typically are only expecting a few lines of code that solve the problem.&lt;br /&gt;
&lt;br /&gt;
* Be neat and make sure your answers are easy to follow.  Messy hard-to-follow assignments make TAs cranky, and you don&amp;#039;t want cranky TAs grading your assignment!&lt;br /&gt;
&lt;br /&gt;
* It helps both us and you if you format your code nicely.  Clean looking code is easier for us to grade and easier for you to debug.  Text editors with IDEs such as Visual Studio Code, Netbeans and MPLAB X have tools for auto-formatting code.  For example, highlighting a region and hitting Alt+Shift+f (Linux and Windows) will format that region according to your local formatting preferences.&lt;br /&gt;
&lt;br /&gt;
* When you compile your code, pay attention to any compiler warnings.  They are there for a reason!  You should be able to eventually get your code to produce no warnings.  Often if a piece of code is not working, the warnings will give a clue as to why.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
This course is (partially) &amp;quot;flipped&amp;quot;:  you watch video lectures and do readings in advance of class, and during class, you should have plenty of opportunity for questions and interaction with the instructors and TAs as you work on assignments.  The purpose of this is to try to maximize the value of the class time.  In a typical lecture, 80% of the material is the same every time it is given, and the other 20% is interactive and variable based on student questions.  In a flipped class, we hope to flip this percentage, to better tailor the class to student needs.  You will have time with the instructors while your brains are actually on and working on the material (not just scribbling notes), the times when you are most likely to have questions.  Making the video lectures available should also allow you to spend more or less time on the lecture portion, depending on your prior background.  If the material is difficult for you, you can pause or rewind.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Please keep track of any questions you have as you watch the videos!&amp;#039;&amp;#039;&amp;#039; Bring these questions to class; it will make for a livelier classroom.  &lt;br /&gt;
&lt;br /&gt;
All videos can be found at this page:  [[NU32 Videos|&amp;#039;&amp;#039;&amp;#039;NU32 Videos&amp;#039;&amp;#039;&amp;#039;]] and sample code at the bottom of [[NU32 Software|&amp;#039;&amp;#039;&amp;#039;NU32 Software&amp;#039;&amp;#039;&amp;#039;]].  We will cover almost all of the Appendix, a Crash Course in C, in the first 1.5 weeks of class, so you can work ahead and do all the readings, watch all the videos, and do all the problems, if you have time over the break.  But at a minimum, you must do the winter break assignment.  &lt;br /&gt;
&lt;br /&gt;
We will have video lecture comprehension questions (L-comps) due before every class, assignments due every Tuesday, and quizzes every Thursday (on the material covered in the assignment turned in on Thursday).  L-comps and assignments are turned in using Canvas before 11 AM the day of the class.  The weekly rhythm will be:&lt;br /&gt;
&lt;br /&gt;
* before Tuesday:  turn in assignment on material from previous week and L-comps on videos for the next class&lt;br /&gt;
* Tuesday in class:  discuss assignment, brief recap and Q&amp;amp;A on new videos, start on next assignment&lt;br /&gt;
* before Thursday:  turn in L-comps on videos for next class&lt;br /&gt;
* Thursday in class:  brief quiz on material in assignment turned in on Tuesday, recap and discuss videos, continue with assignment&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Winter Break&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Reading due for first class&amp;#039;&amp;#039;&amp;#039;:  pages 515-527 in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]]&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:  1-7 of Appendix A [[NU32 Videos]].  Answer the lecture comprehension (L-comp) questions in CANVAS. &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment&amp;#039;&amp;#039;&amp;#039;:  Exercises 1-4, 6-8, 10-11, 16-17 of Appendix A.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;:  Make a video of your HelloWorld.c program and upload to CANVAS.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 1&amp;#039;&amp;#039;&amp;#039; (Th 1/5)  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment due&amp;#039;&amp;#039;&amp;#039;:  L-comp and exercise solutions, and demo video, for the Winter Break assignment by 11am on CANVAS.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/6cFSmm6eX6w https://youtu.be/P9v-AxwCvHc https://youtu.be/BgNt20-Ivfw https://youtu.be/EvIfmEzMXqs&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture&amp;#039;&amp;#039;&amp;#039;: Crash Course in C&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Begin next assignment:&amp;#039;&amp;#039;&amp;#039;  Appendix A exercises 18-19, 21-22, 27-28, 30-32, 34-35.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;: Exercise 34 and 35.&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps: 8-16 of a Crash Course in C. &lt;br /&gt;
: Reading:  Through page 562 of a Crash Course in C, and the rest of the Appendix as reference.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 2&amp;#039;&amp;#039;&amp;#039; (Tu 1/10)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Answer L-comps &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/PcREfvXxJQE https://youtu.be/fMmT7FyACMI https://youtu.be/6L7qcu_-I_Q https://youtu.be/r2a4Lg2p0to&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture&amp;#039;&amp;#039;&amp;#039;: Crash Course in C&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Continue assignment&amp;#039;&amp;#039;&amp;#039;   &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  17 of a Crash Course in C.&lt;br /&gt;
: Reading:  Rest of a Crash Course in C as reference&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 3&amp;#039;&amp;#039;&amp;#039; (Th 1/12)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Turn in assignment, L-comps, and demo videos.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Review for the Quiz&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/I5wguSQcEiw https://youtu.be/LbuoWj5BM3Q&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture:&amp;#039;&amp;#039;&amp;#039; Crash Course in C&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 4&amp;#039;&amp;#039;&amp;#039; (Tu 1/17)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz review, Intro to Microcontrollers&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Circuit Diagram assignment on Canvas.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 5&amp;#039;&amp;#039;&amp;#039; (Th 1/19)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz:&amp;#039;&amp;#039;&amp;#039; on C, posted on Canvas, due by 5pm&lt;br /&gt;
: Assignment: Continue circuit Diagram assignment on Canvas. Install MPLAB C compiler, make, and terminal emulator.&lt;br /&gt;
At home:&lt;br /&gt;
: Reading:  Chapter 1 (quickstart)&lt;br /&gt;
: Download, install, and compile all software as indicated through the end of Chapter 1.3. See [[NU32 Software | NU32 Software]]&lt;br /&gt;
: Videos (no L-comps):  Chapter 1 (for your specific OS)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 6&amp;#039;&amp;#039;&amp;#039; (Tu 1/24)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039; Turn in Circuit Diagram assignment&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture:&amp;#039;&amp;#039;&amp;#039; Build and test a PIC32 circuit&lt;br /&gt;
: Reading:  Complete Chapter 1 (quickstart) and Chapter 2.  &lt;br /&gt;
At home:&lt;br /&gt;
: Assignment:  Problems 3-16 of Chapter 2.  You will need the Family Data Sheet and the PIC32 Reference Manual.&lt;br /&gt;
: Videos:  Chapter 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 7&amp;#039;&amp;#039;&amp;#039; (Th 1/26)&lt;br /&gt;
: Quiz on Chapter 1&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture:&amp;#039;&amp;#039;&amp;#039; Chapter 2&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 3. &lt;br /&gt;
: Reading:  Complete Chapter 3.&lt;br /&gt;
: Homework for Chapters 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 8&amp;#039;&amp;#039;&amp;#039; (Tu 1/31)&lt;br /&gt;
At home:&lt;br /&gt;
: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 9&amp;#039;&amp;#039;&amp;#039; (Th 2/2)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039; Chapter 2 L-comp questions&lt;br /&gt;
: Quiz on Chapter 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 10&amp;#039;&amp;#039;&amp;#039; (Tu 2/7)&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 4. &lt;br /&gt;
: Reading:  Complete Chapter 4.&lt;br /&gt;
: Homework: Chapter 3, problems 3,4,5,7,9. Chapter 4, problems 1, 2, and Canvas question on writing a library for the ultrasonic range finder&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 11&amp;#039;&amp;#039;&amp;#039; (Th 2/9)&lt;br /&gt;
: Quiz on Chapter 3 and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Tu 2/14)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (Th 2/16)&lt;br /&gt;
: Quiz on Chapter 5 and 6&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Tu 2/21)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (Th 2/23)&lt;br /&gt;
: Quiz on Chapter 7, 8, 9, 10&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Tu 2/28)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (Th 3/2)&lt;br /&gt;
: Quiz on Chapter 23&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Tu 3/7)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (Th 3/9)&lt;br /&gt;
: Quiz on Chapter 25&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/0R-aj6XtJLE https://youtu.be/NEICsIIprKU &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Turn in Homework from Chapter 2, L-comps for Chapter 3 videos, read Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/CyGwEoNJdS4 https://youtu.be/5LyWPeLY7yU https://youtu.be/UXNOx6Z1Q9w&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 4. &lt;br /&gt;
: Reading:  Complete Chapter 4.&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Chapter 4 L-comp.&lt;br /&gt;
: Quiz on Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/16_lVr_k7R0  https://youtu.be/HoNKp8MNGOw  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 3 and 4 homework&lt;br /&gt;
: Videos and L-comps on Chapter 5 &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 5:&lt;br /&gt;
: Homework: Chapter 5 (use no optimization for all exercises): Exercises 3, 4.  Chapter 6:  Exercises 1, 4, 5, 8, 9, 16,17. Make a demo video for 6.17&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 10&amp;#039;&amp;#039;&amp;#039; (Th 2/3)&lt;br /&gt;
: Quiz on Chapter 4&lt;br /&gt;
: Videos and L-comps on Chapter 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 6: https://youtu.be/YhmynLK8dTY https://youtu.be/kJ2rvqyuQzM https://youtu.be/JGBWpj5yNfY &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 11&amp;#039;&amp;#039;&amp;#039; (T 2/8)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 5 and 6 homework&lt;br /&gt;
: Videos and L-comps on Chapters 7 and 8&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos: &amp;#039;&amp;#039; On Chapter 7 &amp;amp; 8: https://youtu.be/04C3QZ7JTMs  https://youtu.be/b3aOIfClECE&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Chapter 7: Exercises 1,2. Chapter 8: Exercise 1. Chapter 9: Exercise 1. Chapter 10: Exercise 1,2.&lt;br /&gt;
: The next assignment is related, do Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Th 2/10)&lt;br /&gt;
: Quiz on Chapter 5 and 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos:&amp;#039;&amp;#039;&amp;#039; On Chapter 9, 10 &amp;amp; 11: 9, 10, https://youtu.be/Eqip-9y3mCc &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (T 2/15)&lt;br /&gt;
: Due: Homework from Chapter 7, 8, 9, 10, and the first half of Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 7 8 9 10 homework&lt;br /&gt;
: Assignment: Chapter 24 project. Create solutions for Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2, 24.5, 24.7, and 24.8.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Th 2/17)&lt;br /&gt;
: Quiz on Chapter 7 8 9 10 11&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (T 2/22)&lt;br /&gt;
: Due: Homework from Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 24 homework&lt;br /&gt;
: Assignment: First half of Chapter 28: Chapter 28 through 28.4.1. Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 2/24)&lt;br /&gt;
: Quiz on Chapter 23&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (T 3/1)&lt;br /&gt;
: Due: First half of Chapter 28, up to 28.4.9&lt;br /&gt;
: Assignment: Complete Chapter 28: 28.4.10 #5, 28.4.12 #5.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Th 3/3)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos:&amp;#039;&amp;#039;&amp;#039; https://youtu.be/eoszZpwqNgY https://youtu.be/cz9ckQUsvH8 https://youtu.be/I--miZscPxc https://youtu.be/x5bSqBKPn1U&lt;br /&gt;
: Quiz on Chapter 25 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (T 3/8)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 20&amp;#039;&amp;#039;&amp;#039; (T 3/10)&lt;br /&gt;
: Quiz on Chapter 25 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Assignment&amp;#039;&amp;#039;&amp;#039; Due by Thur 3/16 at noon&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: Sign up for a 5 minute time slot to demo your final project: TBD&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1reEmJ7B2UCTsKIef9iCSJKDipg_J4DuTVHDbNA6Ls-0/edit?usp=sharing googledoc]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Do I need to know the C language to take this course?&lt;br /&gt;
&lt;br /&gt;
A: No. But if you already know C, there is still plenty else in this course for you. If you already know C, know how to use microcontrollers for real-time control, and have a good understanding how common sensors and actuators work and how to interface to them, this course may not be for you. Consider taking ME 433 Advanced Mechatronics in the spring quarter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: Is there an independent project?&lt;br /&gt;
&lt;br /&gt;
A: There is no large independent project. There will be a two-week project at the end of the course, but there will be no machining. For a more significant project, take ME 433 Advanced Mechatronics, offered in the spring quarter. ME 333 is good preparation for ME 433.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: What kind of laptop do I need?&lt;br /&gt;
&lt;br /&gt;
A: You need a laptop with at least 2 USB ports.  Any operating system is fine.&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:Chapter01-Quickstart-Jan2023.zip&amp;diff=26367</id>
		<title>File:Chapter01-Quickstart-Jan2023.zip</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:Chapter01-Quickstart-Jan2023.zip&amp;diff=26367"/>
		<updated>2023-01-23T20:09:41Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=NU32_Software&amp;diff=26366</id>
		<title>NU32 Software</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=NU32_Software&amp;diff=26366"/>
		<updated>2023-01-23T20:09:11Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: /* Book Sample Code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Software to download to program the [[NU32|NU32 PIC32 development board]].&lt;br /&gt;
&lt;br /&gt;
* Text Editors (These are just suggestions; feel free to use any text editor you are comfortable with)&lt;br /&gt;
** [https://code.visualstudio.com/ Visual Studio Code] (All)&lt;br /&gt;
** [https://atom.io/ Atom] (All)&lt;br /&gt;
** [http://www.barebones.com/products/textwrangler/ TextWrangler] (Mac)&lt;br /&gt;
** [https://notepad-plus-plus.org/ Notepad++] (Windows)&lt;br /&gt;
** [https://wiki.gnome.org/Apps/Gedit Gedit] (All) &lt;br /&gt;
*** sudo apt-get install (Ubuntu/Debian) &lt;br /&gt;
*** sudo pacman -S gedit (Arch)&lt;br /&gt;
** [http://www.vim.org/ vim] (All)&lt;br /&gt;
*** sudo apt-get install vim (Ubuntu/Debian)&lt;br /&gt;
*** sudo pacman -S vim (Arch)&lt;br /&gt;
** [https://www.gnu.org/software/emacs/ emacs] (All)&lt;br /&gt;
*** sudo apt-get install emacs (Ubuntu/Debian)&lt;br /&gt;
*** sudo pacman -S emacs (Arch)&lt;br /&gt;
&lt;br /&gt;
* Native C Compiler&lt;br /&gt;
** [https://developer.apple.com/downloads Xcode Command Line Tools] (Mac):  Log in with an Apple developer id, available for free, and download &amp;quot;Command Line Tools OSX (version number) for Xcode (version number)&amp;quot; (about 160 MB), to avoid downloading the ~4 GB full Xcode developer suite (which also has the command line tools).  You will probably need to add /Library/Developer/CommandLineTools/usr/bin to your path to make sure you find gcc and make from the command line; see the [https://www.youtube.com/watch?v=a2o5sx1xxm4 video on software downloads].  (Instead of using Xcode command line tools, you could use gcc and make from Homebrew or MacPorts.)&lt;br /&gt;
** [https://sourceforge.net/projects/mingw/ MinGW] (Windows - [https://code.visualstudio.com/docs/cpp/config-mingw Using mingw with Visual Studio Code])&lt;br /&gt;
** [http://gcc.gnu.org gcc] (Linux) &lt;br /&gt;
*** sudo apt-get install build-essential  (Ubuntu/Debian)&lt;br /&gt;
*** sudo pacman -S base-devel (Arch)&lt;br /&gt;
&lt;br /&gt;
* Make&lt;br /&gt;
** Distributed with Xcode (Mac)&lt;br /&gt;
** Distributed with MSYS, obtained via MinGW (Windows)&lt;br /&gt;
** [https://www.gnu.org/software/make/ make] (Linux)&lt;br /&gt;
*** sudo apt-get install build-essential (Ubuntu/Debian)&lt;br /&gt;
*** sudo pacman -S base-devel (Arch)&lt;br /&gt;
&lt;br /&gt;
* [http://www.microchip.com/pagehandler/en_us/devtools/mplabxc/ The Microchip XC32/32++ Compiler]&lt;br /&gt;
* We usually don&amp;#039;t use Harmony without the IDE, read about it here: [https://www.microchip.com/mplab/mplab-harmony MPLAB Harmony Integrated Software Framework]&lt;br /&gt;
* [http://www.ftdichip.com/Drivers/VCP.htm FTDI Virtual COM Port Driver]&lt;br /&gt;
* [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTY Terminal Emulator for Windows] (use &amp;quot;screen&amp;quot; on Linux and the Terminal program on a Mac)&lt;br /&gt;
=== Book Sample Code ===&lt;br /&gt;
&amp;lt;!-- * [[Media:PIC32Quickstart.zip | PIC32Quickstart.zip (November 2015)]] - PIC32Quickstart.zip, as needed in the Quickstart Chapter --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Media:Embedded_Computing_V1.1-Mar_2016.zip | Full Book Source Code (March 2016)]] --&amp;gt;&lt;br /&gt;
* [[Media:Embedded_Computing_V1.2-Apr_2016.zip | Full Book Source Code (April 2016)]] All of the source code from the book, including the Quickstart_code. Also contains the bootloader source code. &lt;br /&gt;
* [[Media:Chapter01-Quickstart-Jan2023.zip | New Quickstart sample code for the PIC32MX170F256B Jan 2023]] If using the DIP version of the PIC32MX170F256B &lt;br /&gt;
** For compatibility with the text, we also provide the code for Chapter 1 as a separate file [[Media:PIC32Quickstart.zip | PIC32Quickstart.zip (November 2015)]]. This code is also included in the folder 01_Quickstart within the full book source code.&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
* Embedded_Computing_V1.2-Apr_2016, April 2016&lt;br /&gt;
** Added source code for updated bootloader (running on the PIC32) and bootloader utility (running on the host computer); the primary change was optimization of the code, and clearer code organization.  Both new versions are numbered 5.2 and both are fully compatible with earlier versions.&lt;br /&gt;
** Fixed minor mistakes in comments of sample code 6.2 and 7.1.&lt;br /&gt;
&lt;br /&gt;
* Embedded_Computing_V1.1-Mar_2016, March 2016&lt;br /&gt;
** Added Harmony makefile to Chapter 20.&lt;br /&gt;
&lt;br /&gt;
* Embedded_Computing_V1.0, November 2015&lt;br /&gt;
** Initial release.&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics&amp;diff=26365</id>
		<title>ME 333 Introduction to Mechatronics</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics&amp;diff=26365"/>
		<updated>2023-01-19T18:26:26Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Winter Quarter 2023&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;First day of class is Thursday January 5.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Section 20:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 11:00-12:20, Tech M152&lt;br /&gt;
* Section 21:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 12:30-1:50, Tech M152&lt;br /&gt;
* TA:  &lt;br /&gt;
** Rui Li&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Final demo&amp;#039;&amp;#039;&amp;#039; (in lieu of final exam):  Monday Mar 13 3-5 PM (12:30-1:50 section) and Wednesday Mar 15 9-11 AM (11-12:20 section)&lt;br /&gt;
* Office Hours: &lt;br /&gt;
** With Nick in Ford B100: Monday 10-11, Tuesday 3-4, Wednesday 11-12, Thursday 3-4, Friday 10-11&lt;br /&gt;
** With Li in Ford B100: Friday 4-5&lt;br /&gt;
&lt;br /&gt;
* Quick links:&lt;br /&gt;
** [http://www.it.northwestern.edu/education/login.html Canvas Course Management System]&lt;br /&gt;
** [[NU32 Videos|NU32 Videos]]&lt;br /&gt;
** [[NU32 Software|NU32 Software]]&lt;br /&gt;
** [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form Report a typo or bug in the book]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Purpose of this Course ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this course is to &amp;#039;&amp;#039;&amp;#039;provide tools that help you express your creativity&amp;#039;&amp;#039;&amp;#039;.  Maybe you want to build a robot, or a piece of kinetic art, or an automatic ball-throwing device to entertain your dog; maybe you&amp;#039;ve identified a market for a new smart product and you&amp;#039;d like to prototype the device.  This course provides fundamentals of mechatronics to give you confidence to take on these projects.  You are encouraged to take what you learn in this course and apply it in ME 433 Advanced Mechatronics, DSGN 360 Design Competition, senior design projects, or independent projects.&lt;br /&gt;
&lt;br /&gt;
== Approximate Syllabus ==&lt;br /&gt;
&lt;br /&gt;
This course is for students who want to build microprocessor-controlled electromechanical devices.  &lt;br /&gt;
&lt;br /&gt;
To do this, ME 333 focuses on three topics: (1) general C programming; (2) Microchip PIC microcontroller architecture and C programming specific to the PIC (e.g., using the PIC&amp;#039;s peripherals, such as analog inputs, digital I/O, counters/timers, comm ports, etc.); and (3) interfacing the PIC to sensors and actuators, some theory of sensor and actuator operation, and interface circuitry and signal processing. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;You will do a lot of programming in this course!&amp;#039;&amp;#039;&amp;#039;  If you are certain you hate programming, then this is not the course for you.  But knowing how to program is very useful for any modern engineer.  The language we will use is C, a fairly low-level language that works well for microcontrollers, which is more portable and not nearly as painful and low-level as assembly language.  If you don&amp;#039;t know C, that&amp;#039;s not a problem, most students don&amp;#039;t before taking ME 333; but you should plan to learn it, and rather quickly.  You will have all the materials you need to start learning C before class starts, and &amp;#039;&amp;#039;&amp;#039;the first assignment on C is due on the first day of class&amp;#039;&amp;#039;&amp;#039;!  The reason:  even though we start out with C, that&amp;#039;s not the main goal of this course.  The main goal is to teach you about microcontrollers and mechatronics.  Plus some students already have C background.&lt;br /&gt;
&lt;br /&gt;
You will bring your laptop to each class.  As the quarter progresses, we will be handing out other equipment that you will need to bring to class, such as the parts necessary for our microcontroller, the [https://www.microchip.com/en-us/product/PIC32MX170F256B PIC32MX170F256B].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;It is essential you do the assigned reading and watch the videos in advance of class.&amp;#039;&amp;#039;&amp;#039;  You will have an assignment and/or lecture comprehension questions (L-comps) due before every class, turned in electronically on Canvas.  (This includes the very first day of class!)  Once a week we will have a short quiz.  Most classes will have a combination of a brief review, Q&amp;amp;A, and working individually or in small groups on problems while the instructors help answer any questions.&lt;br /&gt;
&lt;br /&gt;
Topics we will cover, time depending, include:&lt;br /&gt;
&lt;br /&gt;
* introduction to C programming&lt;br /&gt;
* introduction to the PIC32 hardware, and programming the PIC32 in C&lt;br /&gt;
* digital I/O&lt;br /&gt;
* counters/timers and interrupts&lt;br /&gt;
* analog input&lt;br /&gt;
* sensor smorgasbord&lt;br /&gt;
* digital signal processing:  filters and FFTs&lt;br /&gt;
* analog output and pulse-width modulation&lt;br /&gt;
* brushed permanent magnet DC motors:  theory and control&lt;br /&gt;
* stepper motors and RC servo motors&lt;br /&gt;
* communication by SPI, I2C, and RS-232&lt;br /&gt;
* communication over virtual serial port with python&lt;br /&gt;
&lt;br /&gt;
== Checklist to Complete Before the First Day of Class ==&lt;br /&gt;
&lt;br /&gt;
By the first day of class, you should:&lt;br /&gt;
&lt;br /&gt;
* Complete the reading and assignment 1, which is &amp;#039;&amp;#039;&amp;#039;due the first day of class!&amp;#039;&amp;#039;&amp;#039;  The first assignments are designed to get you up to speed on the C programming language, which we will use throughout the course.&lt;br /&gt;
* Have a laptop with at least 2 USB A-style ports.  Any operating system is fine.  One port will be used to program and communicate with your PIC microcontroller, and the other will be used for your portable oscilloscope.  &lt;br /&gt;
* Be prepared to collect your class kit, consisting of the portable nScope oscilloscope, the microcontroller board, and lots of other goodies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
  Price $125 if you are starting from scratch; $75 if you already have the nScope. &lt;br /&gt;
  &lt;br /&gt;
 * Buy your class kit [http://it.mccormick.northwestern.edu/matlab/student_license/login.php &amp;#039;&amp;#039;&amp;#039;here&amp;#039;&amp;#039;&amp;#039;].  If you already have the oscilloscope and multimeter from this year&amp;#039;s ME 233 offering, you should choose &amp;quot;ME 333 (nScope not needed ($75))&amp;quot; for the price of $75.  If you do not have the oscilloscope and multimeter, you should choose &amp;quot;ME 333 (including nScope ($125))&amp;quot; for the price of $125.  You will not be able to start the course until you have completed the purchase of your kit.  If you decide to drop the course, you will be refunded the purchase price upon return of all the equipment in working shape. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Student Contract ==&lt;br /&gt;
&lt;br /&gt;
By signing up for this course, you agree to complete the checklist above before the course starts.  You agree to stay engaged during the class period; even if your computer is open, no facebook or other distractions that will lessen your contribution to the class.  You understand that learning from classmates, and helping classmates, is encouraged, up to the stage of conceptualizing solutions.  You are not allowed to fully complete a solution in a team.  You understand that plagiarism is not tolerated.  You will report instances of plagiarism you are aware of.  Plagiarism includes, but is not limited to:&lt;br /&gt;
&lt;br /&gt;
* Allowing another student to copy your work.&lt;br /&gt;
* Copying another student&amp;#039;s work, in whole or in part.&lt;br /&gt;
* Transforming copied sections of code or solutions to try to disguise their origin.&lt;br /&gt;
* Borrowing code or solutions from others not in the course, e.g., code found on the internet, without attribution.  Borrowing code found on the internet is acceptable if the source is clearly indicated in your code comments, and if you understand how the code works.&lt;br /&gt;
&lt;br /&gt;
On our part (faculty and TAs), we commit to do our best to provide you a curriculum and set of experimental materials to get you up to speed on sophisticated mechatronics integration as quickly and efficiently as possible, while giving you a foundation in concepts needed to go further in future projects and courses.&lt;br /&gt;
&lt;br /&gt;
== Prerequisite ==&lt;br /&gt;
&lt;br /&gt;
ME 233 Electronics Design or similar (EECS 221, 225, BME 305 (pre-2020) or BME 308 (post-2020)) is required. You will be expected to analyze circuits with resistors, capacitors, inductors, diodes, transistors, and op-amps. You can find refresher material and a sample quiz at [[ME_333_Circuits_Review_Material|this page]] and in Appendix B of the book.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
&lt;br /&gt;
Required:&lt;br /&gt;
&lt;br /&gt;
* Textbook: &amp;quot;Embedded Computing and Mechatronics with the PIC32 Microcontroller&amp;quot; ([http://www.amazon.com/gp/product/0124201652/ Amazon], [http://store.elsevier.com/product.jsp?isbn=9780124201651 Elsevier]).  Sample chapters, including the appendix &amp;quot;A Crash Course in C&amp;quot; can be found in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]].  &lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;A pdf of the textbook is included in the class kit, you do not need to buy it online or at the bookstore!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Optional:  [[Media:EssentialC.pdf|Essential C]] is also a very nice intro to C.  Let us know about other online C resources you find particularly useful.&lt;br /&gt;
* [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]] &amp;#039;&amp;#039;&amp;#039;This will change to the PIC32MX100 series&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]] &amp;#039;&amp;#039;&amp;#039;This will change to the PIC32MX100 series&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Find a typo in the book or a bug in the code? Report it [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form here]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Useful, but not required:&lt;br /&gt;
* [http://www.amazon.com/Programming-32-bit-Microcontrollers-Exploring-Technology/dp/0750687096/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1294091438&amp;amp;sr=8-1-spell Programming 32-bit Microcontrollers in C:  Exploring the PIC32] by Lucio Di Jasio.  This is an easy to read and informative exploration of the PIC32.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Other C resources, such as this [[Media:CBook.pdf|pdf version]] of &amp;quot;The C Book,&amp;quot; and the classic [http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1294091625&amp;amp;sr=1-1 C Programming Language] reference book by Kernighan and Ritchie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
Grades will be approximately 40% quizzes and 60% assignments and L-comps (including the final project).  We will have short quizzes once a week at the beginning of class covering material on the previous assignment. We will have a final project and demo in lieu of a final exam.&lt;br /&gt;
&lt;br /&gt;
All quizzes, assignments, and L-comps have equal weight, regardless of how many points they are graded out of.  If one assignment is graded out of 20 points, and the next out of 40, the formula for calculating your total grade for these two assignments would be 0.5*(score1/20) + 0.5*(score2/40).&lt;br /&gt;
&lt;br /&gt;
== Homework Submission ==&lt;br /&gt;
&lt;br /&gt;
All homework will be submitted using the [http://www.it.northwestern.edu/education/login.html Canvas Course Management System].  Homework should be submitted by 11 AM on the day it is due (i.e., before the first section of the day).  Late homework will not be accepted.&lt;br /&gt;
&lt;br /&gt;
Here are a few guidelines/tips associated with homework submissions:&lt;br /&gt;
&lt;br /&gt;
* Upload files individually. No zip archives!&lt;br /&gt;
&lt;br /&gt;
* Submit written responses as PDFs or txt files. &lt;br /&gt;
&lt;br /&gt;
* If you upload a PDF of handwritten work, make sure that the text appears clearly and the picture is oriented portrait style. &lt;br /&gt;
&lt;br /&gt;
* When asked to submit C code for a given programming assignment, we are only concerned with receiving the relevant source files, i.e., all *.c and *.h files.   &lt;br /&gt;
&lt;br /&gt;
* When writing your responses, please follow any instructions on how to write your response.  For example, if we ask for a snippet of code, please do not submit your entire C program with header files and a main routine.  We typically are only expecting a few lines of code that solve the problem.&lt;br /&gt;
&lt;br /&gt;
* Be neat and make sure your answers are easy to follow.  Messy hard-to-follow assignments make TAs cranky, and you don&amp;#039;t want cranky TAs grading your assignment!&lt;br /&gt;
&lt;br /&gt;
* It helps both us and you if you format your code nicely.  Clean looking code is easier for us to grade and easier for you to debug.  Text editors with IDEs such as Visual Studio Code, Netbeans and MPLAB X have tools for auto-formatting code.  For example, highlighting a region and hitting Alt+Shift+f (Linux and Windows) will format that region according to your local formatting preferences.&lt;br /&gt;
&lt;br /&gt;
* When you compile your code, pay attention to any compiler warnings.  They are there for a reason!  You should be able to eventually get your code to produce no warnings.  Often if a piece of code is not working, the warnings will give a clue as to why.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
This course is (partially) &amp;quot;flipped&amp;quot;:  you watch video lectures and do readings in advance of class, and during class, you should have plenty of opportunity for questions and interaction with the instructors and TAs as you work on assignments.  The purpose of this is to try to maximize the value of the class time.  In a typical lecture, 80% of the material is the same every time it is given, and the other 20% is interactive and variable based on student questions.  In a flipped class, we hope to flip this percentage, to better tailor the class to student needs.  You will have time with the instructors while your brains are actually on and working on the material (not just scribbling notes), the times when you are most likely to have questions.  Making the video lectures available should also allow you to spend more or less time on the lecture portion, depending on your prior background.  If the material is difficult for you, you can pause or rewind.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Please keep track of any questions you have as you watch the videos!&amp;#039;&amp;#039;&amp;#039; Bring these questions to class; it will make for a livelier classroom.  &lt;br /&gt;
&lt;br /&gt;
All videos can be found at this page:  [[NU32 Videos|&amp;#039;&amp;#039;&amp;#039;NU32 Videos&amp;#039;&amp;#039;&amp;#039;]] and sample code at the bottom of [[NU32 Software|&amp;#039;&amp;#039;&amp;#039;NU32 Software&amp;#039;&amp;#039;&amp;#039;]].  We will cover almost all of the Appendix, a Crash Course in C, in the first 1.5 weeks of class, so you can work ahead and do all the readings, watch all the videos, and do all the problems, if you have time over the break.  But at a minimum, you must do the winter break assignment.  &lt;br /&gt;
&lt;br /&gt;
We will have video lecture comprehension questions (L-comps) due before every class, assignments due every Tuesday, and quizzes every Thursday (on the material covered in the assignment turned in on Thursday).  L-comps and assignments are turned in using Canvas before 11 AM the day of the class.  The weekly rhythm will be:&lt;br /&gt;
&lt;br /&gt;
* before Tuesday:  turn in assignment on material from previous week and L-comps on videos for the next class&lt;br /&gt;
* Tuesday in class:  discuss assignment, brief recap and Q&amp;amp;A on new videos, start on next assignment&lt;br /&gt;
* before Thursday:  turn in L-comps on videos for next class&lt;br /&gt;
* Thursday in class:  brief quiz on material in assignment turned in on Tuesday, recap and discuss videos, continue with assignment&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Winter Break&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Reading due for first class&amp;#039;&amp;#039;&amp;#039;:  pages 515-527 in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]]&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:  1-7 of Appendix A [[NU32 Videos]].  Answer the lecture comprehension (L-comp) questions in CANVAS. &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment&amp;#039;&amp;#039;&amp;#039;:  Exercises 1-4, 6-8, 10-11, 16-17 of Appendix A.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;:  Make a video of your HelloWorld.c program and upload to CANVAS.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 1&amp;#039;&amp;#039;&amp;#039; (Th 1/5)  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment due&amp;#039;&amp;#039;&amp;#039;:  L-comp and exercise solutions, and demo video, for the Winter Break assignment by 11am on CANVAS.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/6cFSmm6eX6w https://youtu.be/P9v-AxwCvHc https://youtu.be/BgNt20-Ivfw https://youtu.be/EvIfmEzMXqs&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture&amp;#039;&amp;#039;&amp;#039;: Crash Course in C&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Begin next assignment:&amp;#039;&amp;#039;&amp;#039;  Appendix A exercises 18-19, 21-22, 27-28, 30-32, 34-35.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;: Exercise 34 and 35.&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps: 8-16 of a Crash Course in C. &lt;br /&gt;
: Reading:  Through page 562 of a Crash Course in C, and the rest of the Appendix as reference.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 2&amp;#039;&amp;#039;&amp;#039; (Tu 1/10)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Answer L-comps &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/PcREfvXxJQE https://youtu.be/fMmT7FyACMI https://youtu.be/6L7qcu_-I_Q https://youtu.be/r2a4Lg2p0to&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture&amp;#039;&amp;#039;&amp;#039;: Crash Course in C&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Continue assignment&amp;#039;&amp;#039;&amp;#039;   &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  17 of a Crash Course in C.&lt;br /&gt;
: Reading:  Rest of a Crash Course in C as reference&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 3&amp;#039;&amp;#039;&amp;#039; (Th 1/12)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Turn in assignment, L-comps, and demo videos.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Review for the Quiz&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/I5wguSQcEiw https://youtu.be/LbuoWj5BM3Q&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture:&amp;#039;&amp;#039;&amp;#039; Crash Course in C&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 4&amp;#039;&amp;#039;&amp;#039; (Tu 1/17)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz review, Intro to Microcontrollers&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Circuit Diagram assignment on Canvas.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 5&amp;#039;&amp;#039;&amp;#039; (Th 1/19)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz:&amp;#039;&amp;#039;&amp;#039; on C, posted on Canvas, due by 5pm&lt;br /&gt;
: Assignment: Continue circuit Diagram assignment on Canvas. Install MPLAB C compiler, make, and terminal emulator.&lt;br /&gt;
At home:&lt;br /&gt;
: Reading:  Chapter 1 (quickstart)&lt;br /&gt;
: Download, install, and compile all software as indicated through the end of Chapter 1.3. See [[NU32 Software | NU32 Software]]&lt;br /&gt;
: Videos (no L-comps):  Chapter 1 (for your specific OS)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 6&amp;#039;&amp;#039;&amp;#039; (Tu 1/24)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039; Turn in Circuit Diagram assignment&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture:&amp;#039;&amp;#039;&amp;#039; Build and test a PIC32 circuit&lt;br /&gt;
: Reading:  Complete Chapter 1 (quickstart) and Chapter 2.  &lt;br /&gt;
At home:&lt;br /&gt;
: Assignment:  Problems 3-16 of Chapter 2.  You will need the Family Data Sheet and the PIC32 Reference Manual.&lt;br /&gt;
: Videos:  Chapter 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 7&amp;#039;&amp;#039;&amp;#039; (Th 1/26)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039; Chapter 2 L-comp questions&lt;br /&gt;
: Quiz on Chapter 1&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture:&amp;#039;&amp;#039;&amp;#039; Chapter 2&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 3. &lt;br /&gt;
: Reading:  Complete Chapter 3.&lt;br /&gt;
: Homework for Chapters 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 8&amp;#039;&amp;#039;&amp;#039; (Tu 1/31)&lt;br /&gt;
At home:&lt;br /&gt;
: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 9&amp;#039;&amp;#039;&amp;#039; (T 2/2)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/0R-aj6XtJLE https://youtu.be/NEICsIIprKU &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Turn in Homework from Chapter 2, L-comps for Chapter 3 videos, read Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/CyGwEoNJdS4 https://youtu.be/5LyWPeLY7yU https://youtu.be/UXNOx6Z1Q9w&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 4. &lt;br /&gt;
: Reading:  Complete Chapter 4.&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Chapter 4 L-comp.&lt;br /&gt;
: Quiz on Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/16_lVr_k7R0  https://youtu.be/HoNKp8MNGOw  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 3 and 4 homework&lt;br /&gt;
: Videos and L-comps on Chapter 5 &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 5:&lt;br /&gt;
: Homework: Chapter 5 (use no optimization for all exercises): Exercises 3, 4.  Chapter 6:  Exercises 1, 4, 5, 8, 9, 16,17. Make a demo video for 6.17&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 10&amp;#039;&amp;#039;&amp;#039; (Th 2/3)&lt;br /&gt;
: Quiz on Chapter 4&lt;br /&gt;
: Videos and L-comps on Chapter 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 6: https://youtu.be/YhmynLK8dTY https://youtu.be/kJ2rvqyuQzM https://youtu.be/JGBWpj5yNfY &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 11&amp;#039;&amp;#039;&amp;#039; (T 2/8)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 5 and 6 homework&lt;br /&gt;
: Videos and L-comps on Chapters 7 and 8&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos: &amp;#039;&amp;#039; On Chapter 7 &amp;amp; 8: https://youtu.be/04C3QZ7JTMs  https://youtu.be/b3aOIfClECE&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Chapter 7: Exercises 1,2. Chapter 8: Exercise 1. Chapter 9: Exercise 1. Chapter 10: Exercise 1,2.&lt;br /&gt;
: The next assignment is related, do Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Th 2/10)&lt;br /&gt;
: Quiz on Chapter 5 and 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos:&amp;#039;&amp;#039;&amp;#039; On Chapter 9, 10 &amp;amp; 11: 9, 10, https://youtu.be/Eqip-9y3mCc &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (T 2/15)&lt;br /&gt;
: Due: Homework from Chapter 7, 8, 9, 10, and the first half of Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 7 8 9 10 homework&lt;br /&gt;
: Assignment: Chapter 24 project. Create solutions for Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2, 24.5, 24.7, and 24.8.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Th 2/17)&lt;br /&gt;
: Quiz on Chapter 7 8 9 10 11&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (T 2/22)&lt;br /&gt;
: Due: Homework from Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 24 homework&lt;br /&gt;
: Assignment: First half of Chapter 28: Chapter 28 through 28.4.1. Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 2/24)&lt;br /&gt;
: Quiz on Chapter 23&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (T 3/1)&lt;br /&gt;
: Due: First half of Chapter 28, up to 28.4.9&lt;br /&gt;
: Assignment: Complete Chapter 28: 28.4.10 #5, 28.4.12 #5.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Th 3/3)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos:&amp;#039;&amp;#039;&amp;#039; https://youtu.be/eoszZpwqNgY https://youtu.be/cz9ckQUsvH8 https://youtu.be/I--miZscPxc https://youtu.be/x5bSqBKPn1U&lt;br /&gt;
: Quiz on Chapter 25 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (T 3/8)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 20&amp;#039;&amp;#039;&amp;#039; (T 3/10)&lt;br /&gt;
: Quiz on Chapter 25 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Assignment&amp;#039;&amp;#039;&amp;#039; Due by Thur 3/16 at noon&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: Sign up for a 5 minute time slot to demo your final project: TBD&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1reEmJ7B2UCTsKIef9iCSJKDipg_J4DuTVHDbNA6Ls-0/edit?usp=sharing googledoc]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Do I need to know the C language to take this course?&lt;br /&gt;
&lt;br /&gt;
A: No. But if you already know C, there is still plenty else in this course for you. If you already know C, know how to use microcontrollers for real-time control, and have a good understanding how common sensors and actuators work and how to interface to them, this course may not be for you. Consider taking ME 433 Advanced Mechatronics in the spring quarter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: Is there an independent project?&lt;br /&gt;
&lt;br /&gt;
A: There is no large independent project. There will be a two-week project at the end of the course, but there will be no machining. For a more significant project, take ME 433 Advanced Mechatronics, offered in the spring quarter. ME 333 is good preparation for ME 433.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: What kind of laptop do I need?&lt;br /&gt;
&lt;br /&gt;
A: You need a laptop with at least 2 USB ports.  Any operating system is fine.&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics&amp;diff=26364</id>
		<title>ME 333 Introduction to Mechatronics</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics&amp;diff=26364"/>
		<updated>2023-01-19T18:24:50Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Winter Quarter 2023&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;First day of class is Thursday January 5.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Section 20:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 11:00-12:20, Tech M152&lt;br /&gt;
* Section 21:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 12:30-1:50, Tech M152&lt;br /&gt;
* TA:  &lt;br /&gt;
** Rui Li&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Final demo&amp;#039;&amp;#039;&amp;#039; (in lieu of final exam):  Monday Mar 13 3-5 PM (12:30-1:50 section) and Wednesday Mar 15 9-11 AM (11-12:20 section)&lt;br /&gt;
* Office Hours: &lt;br /&gt;
** With Nick in Ford B100: Monday 10-11, Tuesday 3-4, Wednesday 11-12, Thursday 3-4, Friday 10-11&lt;br /&gt;
&lt;br /&gt;
* Quick links:&lt;br /&gt;
** [http://www.it.northwestern.edu/education/login.html Canvas Course Management System]&lt;br /&gt;
** [[NU32 Videos|NU32 Videos]]&lt;br /&gt;
** [[NU32 Software|NU32 Software]]&lt;br /&gt;
** [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form Report a typo or bug in the book]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Purpose of this Course ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this course is to &amp;#039;&amp;#039;&amp;#039;provide tools that help you express your creativity&amp;#039;&amp;#039;&amp;#039;.  Maybe you want to build a robot, or a piece of kinetic art, or an automatic ball-throwing device to entertain your dog; maybe you&amp;#039;ve identified a market for a new smart product and you&amp;#039;d like to prototype the device.  This course provides fundamentals of mechatronics to give you confidence to take on these projects.  You are encouraged to take what you learn in this course and apply it in ME 433 Advanced Mechatronics, DSGN 360 Design Competition, senior design projects, or independent projects.&lt;br /&gt;
&lt;br /&gt;
== Approximate Syllabus ==&lt;br /&gt;
&lt;br /&gt;
This course is for students who want to build microprocessor-controlled electromechanical devices.  &lt;br /&gt;
&lt;br /&gt;
To do this, ME 333 focuses on three topics: (1) general C programming; (2) Microchip PIC microcontroller architecture and C programming specific to the PIC (e.g., using the PIC&amp;#039;s peripherals, such as analog inputs, digital I/O, counters/timers, comm ports, etc.); and (3) interfacing the PIC to sensors and actuators, some theory of sensor and actuator operation, and interface circuitry and signal processing. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;You will do a lot of programming in this course!&amp;#039;&amp;#039;&amp;#039;  If you are certain you hate programming, then this is not the course for you.  But knowing how to program is very useful for any modern engineer.  The language we will use is C, a fairly low-level language that works well for microcontrollers, which is more portable and not nearly as painful and low-level as assembly language.  If you don&amp;#039;t know C, that&amp;#039;s not a problem, most students don&amp;#039;t before taking ME 333; but you should plan to learn it, and rather quickly.  You will have all the materials you need to start learning C before class starts, and &amp;#039;&amp;#039;&amp;#039;the first assignment on C is due on the first day of class&amp;#039;&amp;#039;&amp;#039;!  The reason:  even though we start out with C, that&amp;#039;s not the main goal of this course.  The main goal is to teach you about microcontrollers and mechatronics.  Plus some students already have C background.&lt;br /&gt;
&lt;br /&gt;
You will bring your laptop to each class.  As the quarter progresses, we will be handing out other equipment that you will need to bring to class, such as the parts necessary for our microcontroller, the [https://www.microchip.com/en-us/product/PIC32MX170F256B PIC32MX170F256B].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;It is essential you do the assigned reading and watch the videos in advance of class.&amp;#039;&amp;#039;&amp;#039;  You will have an assignment and/or lecture comprehension questions (L-comps) due before every class, turned in electronically on Canvas.  (This includes the very first day of class!)  Once a week we will have a short quiz.  Most classes will have a combination of a brief review, Q&amp;amp;A, and working individually or in small groups on problems while the instructors help answer any questions.&lt;br /&gt;
&lt;br /&gt;
Topics we will cover, time depending, include:&lt;br /&gt;
&lt;br /&gt;
* introduction to C programming&lt;br /&gt;
* introduction to the PIC32 hardware, and programming the PIC32 in C&lt;br /&gt;
* digital I/O&lt;br /&gt;
* counters/timers and interrupts&lt;br /&gt;
* analog input&lt;br /&gt;
* sensor smorgasbord&lt;br /&gt;
* digital signal processing:  filters and FFTs&lt;br /&gt;
* analog output and pulse-width modulation&lt;br /&gt;
* brushed permanent magnet DC motors:  theory and control&lt;br /&gt;
* stepper motors and RC servo motors&lt;br /&gt;
* communication by SPI, I2C, and RS-232&lt;br /&gt;
* communication over virtual serial port with python&lt;br /&gt;
&lt;br /&gt;
== Checklist to Complete Before the First Day of Class ==&lt;br /&gt;
&lt;br /&gt;
By the first day of class, you should:&lt;br /&gt;
&lt;br /&gt;
* Complete the reading and assignment 1, which is &amp;#039;&amp;#039;&amp;#039;due the first day of class!&amp;#039;&amp;#039;&amp;#039;  The first assignments are designed to get you up to speed on the C programming language, which we will use throughout the course.&lt;br /&gt;
* Have a laptop with at least 2 USB A-style ports.  Any operating system is fine.  One port will be used to program and communicate with your PIC microcontroller, and the other will be used for your portable oscilloscope.  &lt;br /&gt;
* Be prepared to collect your class kit, consisting of the portable nScope oscilloscope, the microcontroller board, and lots of other goodies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
  Price $125 if you are starting from scratch; $75 if you already have the nScope. &lt;br /&gt;
  &lt;br /&gt;
 * Buy your class kit [http://it.mccormick.northwestern.edu/matlab/student_license/login.php &amp;#039;&amp;#039;&amp;#039;here&amp;#039;&amp;#039;&amp;#039;].  If you already have the oscilloscope and multimeter from this year&amp;#039;s ME 233 offering, you should choose &amp;quot;ME 333 (nScope not needed ($75))&amp;quot; for the price of $75.  If you do not have the oscilloscope and multimeter, you should choose &amp;quot;ME 333 (including nScope ($125))&amp;quot; for the price of $125.  You will not be able to start the course until you have completed the purchase of your kit.  If you decide to drop the course, you will be refunded the purchase price upon return of all the equipment in working shape. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Student Contract ==&lt;br /&gt;
&lt;br /&gt;
By signing up for this course, you agree to complete the checklist above before the course starts.  You agree to stay engaged during the class period; even if your computer is open, no facebook or other distractions that will lessen your contribution to the class.  You understand that learning from classmates, and helping classmates, is encouraged, up to the stage of conceptualizing solutions.  You are not allowed to fully complete a solution in a team.  You understand that plagiarism is not tolerated.  You will report instances of plagiarism you are aware of.  Plagiarism includes, but is not limited to:&lt;br /&gt;
&lt;br /&gt;
* Allowing another student to copy your work.&lt;br /&gt;
* Copying another student&amp;#039;s work, in whole or in part.&lt;br /&gt;
* Transforming copied sections of code or solutions to try to disguise their origin.&lt;br /&gt;
* Borrowing code or solutions from others not in the course, e.g., code found on the internet, without attribution.  Borrowing code found on the internet is acceptable if the source is clearly indicated in your code comments, and if you understand how the code works.&lt;br /&gt;
&lt;br /&gt;
On our part (faculty and TAs), we commit to do our best to provide you a curriculum and set of experimental materials to get you up to speed on sophisticated mechatronics integration as quickly and efficiently as possible, while giving you a foundation in concepts needed to go further in future projects and courses.&lt;br /&gt;
&lt;br /&gt;
== Prerequisite ==&lt;br /&gt;
&lt;br /&gt;
ME 233 Electronics Design or similar (EECS 221, 225, BME 305 (pre-2020) or BME 308 (post-2020)) is required. You will be expected to analyze circuits with resistors, capacitors, inductors, diodes, transistors, and op-amps. You can find refresher material and a sample quiz at [[ME_333_Circuits_Review_Material|this page]] and in Appendix B of the book.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
&lt;br /&gt;
Required:&lt;br /&gt;
&lt;br /&gt;
* Textbook: &amp;quot;Embedded Computing and Mechatronics with the PIC32 Microcontroller&amp;quot; ([http://www.amazon.com/gp/product/0124201652/ Amazon], [http://store.elsevier.com/product.jsp?isbn=9780124201651 Elsevier]).  Sample chapters, including the appendix &amp;quot;A Crash Course in C&amp;quot; can be found in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]].  &lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;A pdf of the textbook is included in the class kit, you do not need to buy it online or at the bookstore!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Optional:  [[Media:EssentialC.pdf|Essential C]] is also a very nice intro to C.  Let us know about other online C resources you find particularly useful.&lt;br /&gt;
* [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]] &amp;#039;&amp;#039;&amp;#039;This will change to the PIC32MX100 series&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]] &amp;#039;&amp;#039;&amp;#039;This will change to the PIC32MX100 series&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Find a typo in the book or a bug in the code? Report it [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form here]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Useful, but not required:&lt;br /&gt;
* [http://www.amazon.com/Programming-32-bit-Microcontrollers-Exploring-Technology/dp/0750687096/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1294091438&amp;amp;sr=8-1-spell Programming 32-bit Microcontrollers in C:  Exploring the PIC32] by Lucio Di Jasio.  This is an easy to read and informative exploration of the PIC32.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Other C resources, such as this [[Media:CBook.pdf|pdf version]] of &amp;quot;The C Book,&amp;quot; and the classic [http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1294091625&amp;amp;sr=1-1 C Programming Language] reference book by Kernighan and Ritchie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
Grades will be approximately 40% quizzes and 60% assignments and L-comps (including the final project).  We will have short quizzes once a week at the beginning of class covering material on the previous assignment. We will have a final project and demo in lieu of a final exam.&lt;br /&gt;
&lt;br /&gt;
All quizzes, assignments, and L-comps have equal weight, regardless of how many points they are graded out of.  If one assignment is graded out of 20 points, and the next out of 40, the formula for calculating your total grade for these two assignments would be 0.5*(score1/20) + 0.5*(score2/40).&lt;br /&gt;
&lt;br /&gt;
== Homework Submission ==&lt;br /&gt;
&lt;br /&gt;
All homework will be submitted using the [http://www.it.northwestern.edu/education/login.html Canvas Course Management System].  Homework should be submitted by 11 AM on the day it is due (i.e., before the first section of the day).  Late homework will not be accepted.&lt;br /&gt;
&lt;br /&gt;
Here are a few guidelines/tips associated with homework submissions:&lt;br /&gt;
&lt;br /&gt;
* Upload files individually. No zip archives!&lt;br /&gt;
&lt;br /&gt;
* Submit written responses as PDFs or txt files. &lt;br /&gt;
&lt;br /&gt;
* If you upload a PDF of handwritten work, make sure that the text appears clearly and the picture is oriented portrait style. &lt;br /&gt;
&lt;br /&gt;
* When asked to submit C code for a given programming assignment, we are only concerned with receiving the relevant source files, i.e., all *.c and *.h files.   &lt;br /&gt;
&lt;br /&gt;
* When writing your responses, please follow any instructions on how to write your response.  For example, if we ask for a snippet of code, please do not submit your entire C program with header files and a main routine.  We typically are only expecting a few lines of code that solve the problem.&lt;br /&gt;
&lt;br /&gt;
* Be neat and make sure your answers are easy to follow.  Messy hard-to-follow assignments make TAs cranky, and you don&amp;#039;t want cranky TAs grading your assignment!&lt;br /&gt;
&lt;br /&gt;
* It helps both us and you if you format your code nicely.  Clean looking code is easier for us to grade and easier for you to debug.  Text editors with IDEs such as Visual Studio Code, Netbeans and MPLAB X have tools for auto-formatting code.  For example, highlighting a region and hitting Alt+Shift+f (Linux and Windows) will format that region according to your local formatting preferences.&lt;br /&gt;
&lt;br /&gt;
* When you compile your code, pay attention to any compiler warnings.  They are there for a reason!  You should be able to eventually get your code to produce no warnings.  Often if a piece of code is not working, the warnings will give a clue as to why.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
This course is (partially) &amp;quot;flipped&amp;quot;:  you watch video lectures and do readings in advance of class, and during class, you should have plenty of opportunity for questions and interaction with the instructors and TAs as you work on assignments.  The purpose of this is to try to maximize the value of the class time.  In a typical lecture, 80% of the material is the same every time it is given, and the other 20% is interactive and variable based on student questions.  In a flipped class, we hope to flip this percentage, to better tailor the class to student needs.  You will have time with the instructors while your brains are actually on and working on the material (not just scribbling notes), the times when you are most likely to have questions.  Making the video lectures available should also allow you to spend more or less time on the lecture portion, depending on your prior background.  If the material is difficult for you, you can pause or rewind.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Please keep track of any questions you have as you watch the videos!&amp;#039;&amp;#039;&amp;#039; Bring these questions to class; it will make for a livelier classroom.  &lt;br /&gt;
&lt;br /&gt;
All videos can be found at this page:  [[NU32 Videos|&amp;#039;&amp;#039;&amp;#039;NU32 Videos&amp;#039;&amp;#039;&amp;#039;]] and sample code at the bottom of [[NU32 Software|&amp;#039;&amp;#039;&amp;#039;NU32 Software&amp;#039;&amp;#039;&amp;#039;]].  We will cover almost all of the Appendix, a Crash Course in C, in the first 1.5 weeks of class, so you can work ahead and do all the readings, watch all the videos, and do all the problems, if you have time over the break.  But at a minimum, you must do the winter break assignment.  &lt;br /&gt;
&lt;br /&gt;
We will have video lecture comprehension questions (L-comps) due before every class, assignments due every Tuesday, and quizzes every Thursday (on the material covered in the assignment turned in on Thursday).  L-comps and assignments are turned in using Canvas before 11 AM the day of the class.  The weekly rhythm will be:&lt;br /&gt;
&lt;br /&gt;
* before Tuesday:  turn in assignment on material from previous week and L-comps on videos for the next class&lt;br /&gt;
* Tuesday in class:  discuss assignment, brief recap and Q&amp;amp;A on new videos, start on next assignment&lt;br /&gt;
* before Thursday:  turn in L-comps on videos for next class&lt;br /&gt;
* Thursday in class:  brief quiz on material in assignment turned in on Tuesday, recap and discuss videos, continue with assignment&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Winter Break&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Reading due for first class&amp;#039;&amp;#039;&amp;#039;:  pages 515-527 in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]]&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:  1-7 of Appendix A [[NU32 Videos]].  Answer the lecture comprehension (L-comp) questions in CANVAS. &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment&amp;#039;&amp;#039;&amp;#039;:  Exercises 1-4, 6-8, 10-11, 16-17 of Appendix A.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;:  Make a video of your HelloWorld.c program and upload to CANVAS.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 1&amp;#039;&amp;#039;&amp;#039; (Th 1/5)  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment due&amp;#039;&amp;#039;&amp;#039;:  L-comp and exercise solutions, and demo video, for the Winter Break assignment by 11am on CANVAS.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/6cFSmm6eX6w https://youtu.be/P9v-AxwCvHc https://youtu.be/BgNt20-Ivfw https://youtu.be/EvIfmEzMXqs&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture&amp;#039;&amp;#039;&amp;#039;: Crash Course in C&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Begin next assignment:&amp;#039;&amp;#039;&amp;#039;  Appendix A exercises 18-19, 21-22, 27-28, 30-32, 34-35.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;: Exercise 34 and 35.&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps: 8-16 of a Crash Course in C. &lt;br /&gt;
: Reading:  Through page 562 of a Crash Course in C, and the rest of the Appendix as reference.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 2&amp;#039;&amp;#039;&amp;#039; (Tu 1/10)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Answer L-comps &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/PcREfvXxJQE https://youtu.be/fMmT7FyACMI https://youtu.be/6L7qcu_-I_Q https://youtu.be/r2a4Lg2p0to&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture&amp;#039;&amp;#039;&amp;#039;: Crash Course in C&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Continue assignment&amp;#039;&amp;#039;&amp;#039;   &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  17 of a Crash Course in C.&lt;br /&gt;
: Reading:  Rest of a Crash Course in C as reference&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 3&amp;#039;&amp;#039;&amp;#039; (Th 1/12)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Turn in assignment, L-comps, and demo videos.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Review for the Quiz&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/I5wguSQcEiw https://youtu.be/LbuoWj5BM3Q&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture:&amp;#039;&amp;#039;&amp;#039; Crash Course in C&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 4&amp;#039;&amp;#039;&amp;#039; (Tu 1/17)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz review, Intro to Microcontrollers&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Circuit Diagram assignment on Canvas.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 5&amp;#039;&amp;#039;&amp;#039; (Th 1/19)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz:&amp;#039;&amp;#039;&amp;#039; on C, posted on Canvas, due by 5pm&lt;br /&gt;
: Assignment: Continue circuit Diagram assignment on Canvas. Install MPLAB C compiler, make, and terminal emulator.&lt;br /&gt;
At home:&lt;br /&gt;
: Reading:  Chapter 1 (quickstart)&lt;br /&gt;
: Download, install, and compile all software as indicated through the end of Chapter 1.3. See [[NU32 Software | NU32 Software]]&lt;br /&gt;
: Videos (no L-comps):  Chapter 1 (for your specific OS)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 6&amp;#039;&amp;#039;&amp;#039; (Tu 1/24)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039; Turn in Circuit Diagram assignment&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture:&amp;#039;&amp;#039;&amp;#039; Build and test a PIC32 circuit&lt;br /&gt;
: Reading:  Complete Chapter 1 (quickstart) and Chapter 2.  &lt;br /&gt;
At home:&lt;br /&gt;
: Assignment:  Problems 3-16 of Chapter 2.  You will need the Family Data Sheet and the PIC32 Reference Manual.&lt;br /&gt;
: Videos:  Chapter 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 7&amp;#039;&amp;#039;&amp;#039; (Th 1/26)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039; Chapter 2 L-comp questions&lt;br /&gt;
: Quiz on Chapter 1&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture:&amp;#039;&amp;#039;&amp;#039; Chapter 2&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 3. &lt;br /&gt;
: Reading:  Complete Chapter 3.&lt;br /&gt;
: Homework for Chapters 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 8&amp;#039;&amp;#039;&amp;#039; (Tu 1/31)&lt;br /&gt;
At home:&lt;br /&gt;
: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 9&amp;#039;&amp;#039;&amp;#039; (T 2/2)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/0R-aj6XtJLE https://youtu.be/NEICsIIprKU &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Turn in Homework from Chapter 2, L-comps for Chapter 3 videos, read Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/CyGwEoNJdS4 https://youtu.be/5LyWPeLY7yU https://youtu.be/UXNOx6Z1Q9w&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 4. &lt;br /&gt;
: Reading:  Complete Chapter 4.&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Chapter 4 L-comp.&lt;br /&gt;
: Quiz on Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/16_lVr_k7R0  https://youtu.be/HoNKp8MNGOw  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 3 and 4 homework&lt;br /&gt;
: Videos and L-comps on Chapter 5 &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 5:&lt;br /&gt;
: Homework: Chapter 5 (use no optimization for all exercises): Exercises 3, 4.  Chapter 6:  Exercises 1, 4, 5, 8, 9, 16,17. Make a demo video for 6.17&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 10&amp;#039;&amp;#039;&amp;#039; (Th 2/3)&lt;br /&gt;
: Quiz on Chapter 4&lt;br /&gt;
: Videos and L-comps on Chapter 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 6: https://youtu.be/YhmynLK8dTY https://youtu.be/kJ2rvqyuQzM https://youtu.be/JGBWpj5yNfY &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 11&amp;#039;&amp;#039;&amp;#039; (T 2/8)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 5 and 6 homework&lt;br /&gt;
: Videos and L-comps on Chapters 7 and 8&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos: &amp;#039;&amp;#039; On Chapter 7 &amp;amp; 8: https://youtu.be/04C3QZ7JTMs  https://youtu.be/b3aOIfClECE&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Chapter 7: Exercises 1,2. Chapter 8: Exercise 1. Chapter 9: Exercise 1. Chapter 10: Exercise 1,2.&lt;br /&gt;
: The next assignment is related, do Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Th 2/10)&lt;br /&gt;
: Quiz on Chapter 5 and 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos:&amp;#039;&amp;#039;&amp;#039; On Chapter 9, 10 &amp;amp; 11: 9, 10, https://youtu.be/Eqip-9y3mCc &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (T 2/15)&lt;br /&gt;
: Due: Homework from Chapter 7, 8, 9, 10, and the first half of Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 7 8 9 10 homework&lt;br /&gt;
: Assignment: Chapter 24 project. Create solutions for Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2, 24.5, 24.7, and 24.8.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Th 2/17)&lt;br /&gt;
: Quiz on Chapter 7 8 9 10 11&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (T 2/22)&lt;br /&gt;
: Due: Homework from Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 24 homework&lt;br /&gt;
: Assignment: First half of Chapter 28: Chapter 28 through 28.4.1. Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 2/24)&lt;br /&gt;
: Quiz on Chapter 23&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (T 3/1)&lt;br /&gt;
: Due: First half of Chapter 28, up to 28.4.9&lt;br /&gt;
: Assignment: Complete Chapter 28: 28.4.10 #5, 28.4.12 #5.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Th 3/3)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos:&amp;#039;&amp;#039;&amp;#039; https://youtu.be/eoszZpwqNgY https://youtu.be/cz9ckQUsvH8 https://youtu.be/I--miZscPxc https://youtu.be/x5bSqBKPn1U&lt;br /&gt;
: Quiz on Chapter 25 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (T 3/8)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 20&amp;#039;&amp;#039;&amp;#039; (T 3/10)&lt;br /&gt;
: Quiz on Chapter 25 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Assignment&amp;#039;&amp;#039;&amp;#039; Due by Thur 3/16 at noon&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: Sign up for a 5 minute time slot to demo your final project: TBD&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1reEmJ7B2UCTsKIef9iCSJKDipg_J4DuTVHDbNA6Ls-0/edit?usp=sharing googledoc]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Do I need to know the C language to take this course?&lt;br /&gt;
&lt;br /&gt;
A: No. But if you already know C, there is still plenty else in this course for you. If you already know C, know how to use microcontrollers for real-time control, and have a good understanding how common sensors and actuators work and how to interface to them, this course may not be for you. Consider taking ME 433 Advanced Mechatronics in the spring quarter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: Is there an independent project?&lt;br /&gt;
&lt;br /&gt;
A: There is no large independent project. There will be a two-week project at the end of the course, but there will be no machining. For a more significant project, take ME 433 Advanced Mechatronics, offered in the spring quarter. ME 333 is good preparation for ME 433.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: What kind of laptop do I need?&lt;br /&gt;
&lt;br /&gt;
A: You need a laptop with at least 2 USB ports.  Any operating system is fine.&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics&amp;diff=26363</id>
		<title>ME 333 Introduction to Mechatronics</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics&amp;diff=26363"/>
		<updated>2023-01-19T18:23:06Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Winter Quarter 2023&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;First day of class is Thursday January 5.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Section 20:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 11:00-12:20, Tech M152&lt;br /&gt;
* Section 21:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 12:30-1:50, Tech M152&lt;br /&gt;
* TA:  &lt;br /&gt;
** Rui Li&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Final demo&amp;#039;&amp;#039;&amp;#039; (in lieu of final exam):  Monday Mar 13 3-5 PM (12:30-1:50 section) and Wednesday Mar 15 9-11 AM (11-12:20 section)&lt;br /&gt;
* Office Hours: &lt;br /&gt;
** With Nick in Ford B100: Monday 10-11, Tuesday 3-4, Wednesday 11-12, Thursday 3-4, Friday 10-11&lt;br /&gt;
&lt;br /&gt;
* Quick links:&lt;br /&gt;
** [http://www.it.northwestern.edu/education/login.html Canvas Course Management System]&lt;br /&gt;
** [[NU32 Videos|NU32 Videos]]&lt;br /&gt;
** [[NU32 Software|NU32 Software]]&lt;br /&gt;
** [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form Report a typo or bug in the book]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Purpose of this Course ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this course is to &amp;#039;&amp;#039;&amp;#039;provide tools that help you express your creativity&amp;#039;&amp;#039;&amp;#039;.  Maybe you want to build a robot, or a piece of kinetic art, or an automatic ball-throwing device to entertain your dog; maybe you&amp;#039;ve identified a market for a new smart product and you&amp;#039;d like to prototype the device.  This course provides fundamentals of mechatronics to give you confidence to take on these projects.  You are encouraged to take what you learn in this course and apply it in ME 433 Advanced Mechatronics, DSGN 360 Design Competition, senior design projects, or independent projects.&lt;br /&gt;
&lt;br /&gt;
== Approximate Syllabus ==&lt;br /&gt;
&lt;br /&gt;
This course is for students who want to build microprocessor-controlled electromechanical devices.  &lt;br /&gt;
&lt;br /&gt;
To do this, ME 333 focuses on three topics: (1) general C programming; (2) Microchip PIC microcontroller architecture and C programming specific to the PIC (e.g., using the PIC&amp;#039;s peripherals, such as analog inputs, digital I/O, counters/timers, comm ports, etc.); and (3) interfacing the PIC to sensors and actuators, some theory of sensor and actuator operation, and interface circuitry and signal processing. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;You will do a lot of programming in this course!&amp;#039;&amp;#039;&amp;#039;  If you are certain you hate programming, then this is not the course for you.  But knowing how to program is very useful for any modern engineer.  The language we will use is C, a fairly low-level language that works well for microcontrollers, which is more portable and not nearly as painful and low-level as assembly language.  If you don&amp;#039;t know C, that&amp;#039;s not a problem, most students don&amp;#039;t before taking ME 333; but you should plan to learn it, and rather quickly.  You will have all the materials you need to start learning C before class starts, and &amp;#039;&amp;#039;&amp;#039;the first assignment on C is due on the first day of class&amp;#039;&amp;#039;&amp;#039;!  The reason:  even though we start out with C, that&amp;#039;s not the main goal of this course.  The main goal is to teach you about microcontrollers and mechatronics.  Plus some students already have C background.&lt;br /&gt;
&lt;br /&gt;
You will bring your laptop to each class.  As the quarter progresses, we will be handing out other equipment that you will need to bring to class, such as the parts necessary for our microcontroller, the [https://www.microchip.com/en-us/product/PIC32MX170F256B PIC32MX170F256B].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;It is essential you do the assigned reading and watch the videos in advance of class.&amp;#039;&amp;#039;&amp;#039;  You will have an assignment and/or lecture comprehension questions (L-comps) due before every class, turned in electronically on Canvas.  (This includes the very first day of class!)  Once a week we will have a short quiz.  Most classes will have a combination of a brief review, Q&amp;amp;A, and working individually or in small groups on problems while the instructors help answer any questions.&lt;br /&gt;
&lt;br /&gt;
Topics we will cover, time depending, include:&lt;br /&gt;
&lt;br /&gt;
* introduction to C programming&lt;br /&gt;
* introduction to the PIC32 hardware, and programming the PIC32 in C&lt;br /&gt;
* digital I/O&lt;br /&gt;
* counters/timers and interrupts&lt;br /&gt;
* analog input&lt;br /&gt;
* sensor smorgasbord&lt;br /&gt;
* digital signal processing:  filters and FFTs&lt;br /&gt;
* analog output and pulse-width modulation&lt;br /&gt;
* brushed permanent magnet DC motors:  theory and control&lt;br /&gt;
* stepper motors and RC servo motors&lt;br /&gt;
* communication by SPI, I2C, and RS-232&lt;br /&gt;
* communication over virtual serial port with python&lt;br /&gt;
&lt;br /&gt;
== Checklist to Complete Before the First Day of Class ==&lt;br /&gt;
&lt;br /&gt;
By the first day of class, you should:&lt;br /&gt;
&lt;br /&gt;
* Complete the reading and assignment 1, which is &amp;#039;&amp;#039;&amp;#039;due the first day of class!&amp;#039;&amp;#039;&amp;#039;  The first assignments are designed to get you up to speed on the C programming language, which we will use throughout the course.&lt;br /&gt;
* Have a laptop with at least 2 USB A-style ports.  Any operating system is fine.  One port will be used to program and communicate with your PIC microcontroller, and the other will be used for your portable oscilloscope.  &lt;br /&gt;
* Be prepared to collect your class kit, consisting of the portable nScope oscilloscope, the microcontroller board, and lots of other goodies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
  Price $125 if you are starting from scratch; $75 if you already have the nScope. &lt;br /&gt;
  &lt;br /&gt;
 * Buy your class kit [http://it.mccormick.northwestern.edu/matlab/student_license/login.php &amp;#039;&amp;#039;&amp;#039;here&amp;#039;&amp;#039;&amp;#039;].  If you already have the oscilloscope and multimeter from this year&amp;#039;s ME 233 offering, you should choose &amp;quot;ME 333 (nScope not needed ($75))&amp;quot; for the price of $75.  If you do not have the oscilloscope and multimeter, you should choose &amp;quot;ME 333 (including nScope ($125))&amp;quot; for the price of $125.  You will not be able to start the course until you have completed the purchase of your kit.  If you decide to drop the course, you will be refunded the purchase price upon return of all the equipment in working shape. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Student Contract ==&lt;br /&gt;
&lt;br /&gt;
By signing up for this course, you agree to complete the checklist above before the course starts.  You agree to stay engaged during the class period; even if your computer is open, no facebook or other distractions that will lessen your contribution to the class.  You understand that learning from classmates, and helping classmates, is encouraged, up to the stage of conceptualizing solutions.  You are not allowed to fully complete a solution in a team.  You understand that plagiarism is not tolerated.  You will report instances of plagiarism you are aware of.  Plagiarism includes, but is not limited to:&lt;br /&gt;
&lt;br /&gt;
* Allowing another student to copy your work.&lt;br /&gt;
* Copying another student&amp;#039;s work, in whole or in part.&lt;br /&gt;
* Transforming copied sections of code or solutions to try to disguise their origin.&lt;br /&gt;
* Borrowing code or solutions from others not in the course, e.g., code found on the internet, without attribution.  Borrowing code found on the internet is acceptable if the source is clearly indicated in your code comments, and if you understand how the code works.&lt;br /&gt;
&lt;br /&gt;
On our part (faculty and TAs), we commit to do our best to provide you a curriculum and set of experimental materials to get you up to speed on sophisticated mechatronics integration as quickly and efficiently as possible, while giving you a foundation in concepts needed to go further in future projects and courses.&lt;br /&gt;
&lt;br /&gt;
== Prerequisite ==&lt;br /&gt;
&lt;br /&gt;
ME 233 Electronics Design or similar (EECS 221, 225, BME 305 (pre-2020) or BME 308 (post-2020)) is required. You will be expected to analyze circuits with resistors, capacitors, inductors, diodes, transistors, and op-amps. You can find refresher material and a sample quiz at [[ME_333_Circuits_Review_Material|this page]] and in Appendix B of the book.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
&lt;br /&gt;
Required:&lt;br /&gt;
&lt;br /&gt;
* Textbook: &amp;quot;Embedded Computing and Mechatronics with the PIC32 Microcontroller&amp;quot; ([http://www.amazon.com/gp/product/0124201652/ Amazon], [http://store.elsevier.com/product.jsp?isbn=9780124201651 Elsevier]).  Sample chapters, including the appendix &amp;quot;A Crash Course in C&amp;quot; can be found in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]].  &lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;A pdf of the textbook is included in the class kit, you do not need to buy it online or at the bookstore!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Optional:  [[Media:EssentialC.pdf|Essential C]] is also a very nice intro to C.  Let us know about other online C resources you find particularly useful.&lt;br /&gt;
* [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]] &amp;#039;&amp;#039;&amp;#039;This will change to the PIC32MX100 series&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]] &amp;#039;&amp;#039;&amp;#039;This will change to the PIC32MX100 series&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Find a typo in the book or a bug in the code? Report it [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form here]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Useful, but not required:&lt;br /&gt;
* [http://www.amazon.com/Programming-32-bit-Microcontrollers-Exploring-Technology/dp/0750687096/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1294091438&amp;amp;sr=8-1-spell Programming 32-bit Microcontrollers in C:  Exploring the PIC32] by Lucio Di Jasio.  This is an easy to read and informative exploration of the PIC32.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Other C resources, such as this [[Media:CBook.pdf|pdf version]] of &amp;quot;The C Book,&amp;quot; and the classic [http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1294091625&amp;amp;sr=1-1 C Programming Language] reference book by Kernighan and Ritchie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
Grades will be approximately 40% quizzes and 60% assignments and L-comps (including the final project).  We will have short quizzes once a week at the beginning of class covering material on the previous assignment. We will have a final project and demo in lieu of a final exam.&lt;br /&gt;
&lt;br /&gt;
All quizzes, assignments, and L-comps have equal weight, regardless of how many points they are graded out of.  If one assignment is graded out of 20 points, and the next out of 40, the formula for calculating your total grade for these two assignments would be 0.5*(score1/20) + 0.5*(score2/40).&lt;br /&gt;
&lt;br /&gt;
== Homework Submission ==&lt;br /&gt;
&lt;br /&gt;
All homework will be submitted using the [http://www.it.northwestern.edu/education/login.html Canvas Course Management System].  Homework should be submitted by 11 AM on the day it is due (i.e., before the first section of the day).  Late homework will not be accepted.&lt;br /&gt;
&lt;br /&gt;
Here are a few guidelines/tips associated with homework submissions:&lt;br /&gt;
&lt;br /&gt;
* Upload files individually. No zip archives!&lt;br /&gt;
&lt;br /&gt;
* Submit written responses as PDFs or txt files. &lt;br /&gt;
&lt;br /&gt;
* If you upload a PDF of handwritten work, make sure that the text appears clearly and the picture is oriented portrait style. &lt;br /&gt;
&lt;br /&gt;
* When asked to submit C code for a given programming assignment, we are only concerned with receiving the relevant source files, i.e., all *.c and *.h files.   &lt;br /&gt;
&lt;br /&gt;
* When writing your responses, please follow any instructions on how to write your response.  For example, if we ask for a snippet of code, please do not submit your entire C program with header files and a main routine.  We typically are only expecting a few lines of code that solve the problem.&lt;br /&gt;
&lt;br /&gt;
* Be neat and make sure your answers are easy to follow.  Messy hard-to-follow assignments make TAs cranky, and you don&amp;#039;t want cranky TAs grading your assignment!&lt;br /&gt;
&lt;br /&gt;
* It helps both us and you if you format your code nicely.  Clean looking code is easier for us to grade and easier for you to debug.  Text editors with IDEs such as Visual Studio Code, Netbeans and MPLAB X have tools for auto-formatting code.  For example, highlighting a region and hitting Alt+Shift+f (Linux and Windows) will format that region according to your local formatting preferences.&lt;br /&gt;
&lt;br /&gt;
* When you compile your code, pay attention to any compiler warnings.  They are there for a reason!  You should be able to eventually get your code to produce no warnings.  Often if a piece of code is not working, the warnings will give a clue as to why.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
This course is (partially) &amp;quot;flipped&amp;quot;:  you watch video lectures and do readings in advance of class, and during class, you should have plenty of opportunity for questions and interaction with the instructors and TAs as you work on assignments.  The purpose of this is to try to maximize the value of the class time.  In a typical lecture, 80% of the material is the same every time it is given, and the other 20% is interactive and variable based on student questions.  In a flipped class, we hope to flip this percentage, to better tailor the class to student needs.  You will have time with the instructors while your brains are actually on and working on the material (not just scribbling notes), the times when you are most likely to have questions.  Making the video lectures available should also allow you to spend more or less time on the lecture portion, depending on your prior background.  If the material is difficult for you, you can pause or rewind.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Please keep track of any questions you have as you watch the videos!&amp;#039;&amp;#039;&amp;#039; Bring these questions to class; it will make for a livelier classroom.  &lt;br /&gt;
&lt;br /&gt;
All videos can be found at this page:  [[NU32 Videos|&amp;#039;&amp;#039;&amp;#039;NU32 Videos&amp;#039;&amp;#039;&amp;#039;]] and sample code at the bottom of [[NU32 Software|&amp;#039;&amp;#039;&amp;#039;NU32 Software&amp;#039;&amp;#039;&amp;#039;]].  We will cover almost all of the Appendix, a Crash Course in C, in the first 1.5 weeks of class, so you can work ahead and do all the readings, watch all the videos, and do all the problems, if you have time over the break.  But at a minimum, you must do the winter break assignment.  &lt;br /&gt;
&lt;br /&gt;
We will have video lecture comprehension questions (L-comps) due before every class, assignments due every Tuesday, and quizzes every Thursday (on the material covered in the assignment turned in on Thursday).  L-comps and assignments are turned in using Canvas before 11 AM the day of the class.  The weekly rhythm will be:&lt;br /&gt;
&lt;br /&gt;
* before Tuesday:  turn in assignment on material from previous week and L-comps on videos for the next class&lt;br /&gt;
* Tuesday in class:  discuss assignment, brief recap and Q&amp;amp;A on new videos, start on next assignment&lt;br /&gt;
* before Thursday:  turn in L-comps on videos for next class&lt;br /&gt;
* Thursday in class:  brief quiz on material in assignment turned in on Tuesday, recap and discuss videos, continue with assignment&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Winter Break&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Reading due for first class&amp;#039;&amp;#039;&amp;#039;:  pages 515-527 in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]]&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:  1-7 of Appendix A [[NU32 Videos]].  Answer the lecture comprehension (L-comp) questions in CANVAS. &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment&amp;#039;&amp;#039;&amp;#039;:  Exercises 1-4, 6-8, 10-11, 16-17 of Appendix A.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;:  Make a video of your HelloWorld.c program and upload to CANVAS.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 1&amp;#039;&amp;#039;&amp;#039; (Th 1/5)  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment due&amp;#039;&amp;#039;&amp;#039;:  L-comp and exercise solutions, and demo video, for the Winter Break assignment by 11am on CANVAS.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/6cFSmm6eX6w https://youtu.be/P9v-AxwCvHc https://youtu.be/BgNt20-Ivfw https://youtu.be/EvIfmEzMXqs&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture&amp;#039;&amp;#039;&amp;#039;: Crash Course in C&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Begin next assignment:&amp;#039;&amp;#039;&amp;#039;  Appendix A exercises 18-19, 21-22, 27-28, 30-32, 34-35.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;: Exercise 34 and 35.&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps: 8-16 of a Crash Course in C. &lt;br /&gt;
: Reading:  Through page 562 of a Crash Course in C, and the rest of the Appendix as reference.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 2&amp;#039;&amp;#039;&amp;#039; (Tu 1/10)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Answer L-comps &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/PcREfvXxJQE https://youtu.be/fMmT7FyACMI https://youtu.be/6L7qcu_-I_Q https://youtu.be/r2a4Lg2p0to&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture&amp;#039;&amp;#039;&amp;#039;: Crash Course in C&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Continue assignment&amp;#039;&amp;#039;&amp;#039;   &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  17 of a Crash Course in C.&lt;br /&gt;
: Reading:  Rest of a Crash Course in C as reference&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 3&amp;#039;&amp;#039;&amp;#039; (Th 1/12)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Turn in assignment, L-comps, and demo videos.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Review for the Quiz&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/I5wguSQcEiw https://youtu.be/LbuoWj5BM3Q&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture:&amp;#039;&amp;#039;&amp;#039; Crash Course in C&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 4&amp;#039;&amp;#039;&amp;#039; (Tu 1/17)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz review, Intro to Microcontrollers&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Circuit Diagram assignment on Canvas.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 5&amp;#039;&amp;#039;&amp;#039; (Th 1/19)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz:&amp;#039;&amp;#039;&amp;#039; on C, posted on Canvas, due by 5pm&lt;br /&gt;
: Assignment: Continue circuit Diagram assignment on Canvas. Install MPLAB C compiler, make, and terminal emulator.&lt;br /&gt;
At home:&lt;br /&gt;
: Reading:  Chapter 1 (quickstart)&lt;br /&gt;
: Download, install, and compile all software as indicated through the end of Chapter 1.3. See [[NU32 Software | NU32 Software]]&lt;br /&gt;
: Videos (no L-comps):  Chapter 1 (for your specific OS)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 6&amp;#039;&amp;#039;&amp;#039; (Tu 1/24)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039; Turn in Circuit Diagram assignment&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture:&amp;#039;&amp;#039;&amp;#039; Build and test a PIC32 circuit&lt;br /&gt;
: Reading:  Complete Chapter 1 (quickstart) and Chapter 2.  &lt;br /&gt;
At home:&lt;br /&gt;
: Assignment:  Problems 3-16 of Chapter 2.  You will need the Family Data Sheet and the PIC32 Reference Manual.&lt;br /&gt;
: Videos:  Chapter 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 7&amp;#039;&amp;#039;&amp;#039; (T 1/25)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039; Chapter 2 L-comp questions&lt;br /&gt;
: Quiz on Chapter 1&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture:&amp;#039;&amp;#039;&amp;#039; Chapter 2&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 3. &lt;br /&gt;
: Reading:  Complete Chapter 3.&lt;br /&gt;
: Homework for Chapters 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/0R-aj6XtJLE https://youtu.be/NEICsIIprKU &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Turn in Homework from Chapter 2, L-comps for Chapter 3 videos, read Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/CyGwEoNJdS4 https://youtu.be/5LyWPeLY7yU https://youtu.be/UXNOx6Z1Q9w&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 4. &lt;br /&gt;
: Reading:  Complete Chapter 4.&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 8&amp;#039;&amp;#039;&amp;#039; (Th 1/27)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Chapter 4 L-comp.&lt;br /&gt;
: Quiz on Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/16_lVr_k7R0  https://youtu.be/HoNKp8MNGOw  &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 9&amp;#039;&amp;#039;&amp;#039; (T 2/1)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 3 and 4 homework&lt;br /&gt;
: Videos and L-comps on Chapter 5 &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 5:&lt;br /&gt;
: Homework: Chapter 5 (use no optimization for all exercises): Exercises 3, 4.  Chapter 6:  Exercises 1, 4, 5, 8, 9, 16,17. Make a demo video for 6.17&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 10&amp;#039;&amp;#039;&amp;#039; (Th 2/3)&lt;br /&gt;
: Quiz on Chapter 4&lt;br /&gt;
: Videos and L-comps on Chapter 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 6: https://youtu.be/YhmynLK8dTY https://youtu.be/kJ2rvqyuQzM https://youtu.be/JGBWpj5yNfY &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 11&amp;#039;&amp;#039;&amp;#039; (T 2/8)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 5 and 6 homework&lt;br /&gt;
: Videos and L-comps on Chapters 7 and 8&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos: &amp;#039;&amp;#039; On Chapter 7 &amp;amp; 8: https://youtu.be/04C3QZ7JTMs  https://youtu.be/b3aOIfClECE&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Chapter 7: Exercises 1,2. Chapter 8: Exercise 1. Chapter 9: Exercise 1. Chapter 10: Exercise 1,2.&lt;br /&gt;
: The next assignment is related, do Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Th 2/10)&lt;br /&gt;
: Quiz on Chapter 5 and 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos:&amp;#039;&amp;#039;&amp;#039; On Chapter 9, 10 &amp;amp; 11: 9, 10, https://youtu.be/Eqip-9y3mCc &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (T 2/15)&lt;br /&gt;
: Due: Homework from Chapter 7, 8, 9, 10, and the first half of Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 7 8 9 10 homework&lt;br /&gt;
: Assignment: Chapter 24 project. Create solutions for Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2, 24.5, 24.7, and 24.8.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Th 2/17)&lt;br /&gt;
: Quiz on Chapter 7 8 9 10 11&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (T 2/22)&lt;br /&gt;
: Due: Homework from Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 24 homework&lt;br /&gt;
: Assignment: First half of Chapter 28: Chapter 28 through 28.4.1. Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 2/24)&lt;br /&gt;
: Quiz on Chapter 23&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (T 3/1)&lt;br /&gt;
: Due: First half of Chapter 28, up to 28.4.9&lt;br /&gt;
: Assignment: Complete Chapter 28: 28.4.10 #5, 28.4.12 #5.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Th 3/3)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos:&amp;#039;&amp;#039;&amp;#039; https://youtu.be/eoszZpwqNgY https://youtu.be/cz9ckQUsvH8 https://youtu.be/I--miZscPxc https://youtu.be/x5bSqBKPn1U&lt;br /&gt;
: Quiz on Chapter 25 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (T 3/8)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 20&amp;#039;&amp;#039;&amp;#039; (T 3/10)&lt;br /&gt;
: Quiz on Chapter 25 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Assignment&amp;#039;&amp;#039;&amp;#039; Due by Thur 3/16 at noon&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: Sign up for a 5 minute time slot to demo your final project: TBD&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1reEmJ7B2UCTsKIef9iCSJKDipg_J4DuTVHDbNA6Ls-0/edit?usp=sharing googledoc]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Do I need to know the C language to take this course?&lt;br /&gt;
&lt;br /&gt;
A: No. But if you already know C, there is still plenty else in this course for you. If you already know C, know how to use microcontrollers for real-time control, and have a good understanding how common sensors and actuators work and how to interface to them, this course may not be for you. Consider taking ME 433 Advanced Mechatronics in the spring quarter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: Is there an independent project?&lt;br /&gt;
&lt;br /&gt;
A: There is no large independent project. There will be a two-week project at the end of the course, but there will be no machining. For a more significant project, take ME 433 Advanced Mechatronics, offered in the spring quarter. ME 333 is good preparation for ME 433.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: What kind of laptop do I need?&lt;br /&gt;
&lt;br /&gt;
A: You need a laptop with at least 2 USB ports.  Any operating system is fine.&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics&amp;diff=26362</id>
		<title>ME 333 Introduction to Mechatronics</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics&amp;diff=26362"/>
		<updated>2023-01-19T18:11:17Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Winter Quarter 2023&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;First day of class is Thursday January 5.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Section 20:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 11:00-12:20, Tech M152&lt;br /&gt;
* Section 21:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 12:30-1:50, Tech M152&lt;br /&gt;
* TA:  &lt;br /&gt;
** Rui Li&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Final demo&amp;#039;&amp;#039;&amp;#039; (in lieu of final exam):  Monday Mar 13 3-5 PM (12:30-1:50 section) and Wednesday Mar 15 9-11 AM (11-12:20 section)&lt;br /&gt;
* Office Hours: &lt;br /&gt;
** With Nick in Ford B100: Monday 10-11, Tuesday 3-4, Wednesday 11-12, Thursday 3-4, Friday 10-11&lt;br /&gt;
&lt;br /&gt;
* Quick links:&lt;br /&gt;
** [http://www.it.northwestern.edu/education/login.html Canvas Course Management System]&lt;br /&gt;
** [[NU32 Videos|NU32 Videos]]&lt;br /&gt;
** [[NU32 Software|NU32 Software]]&lt;br /&gt;
** [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form Report a typo or bug in the book]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Purpose of this Course ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this course is to &amp;#039;&amp;#039;&amp;#039;provide tools that help you express your creativity&amp;#039;&amp;#039;&amp;#039;.  Maybe you want to build a robot, or a piece of kinetic art, or an automatic ball-throwing device to entertain your dog; maybe you&amp;#039;ve identified a market for a new smart product and you&amp;#039;d like to prototype the device.  This course provides fundamentals of mechatronics to give you confidence to take on these projects.  You are encouraged to take what you learn in this course and apply it in ME 433 Advanced Mechatronics, DSGN 360 Design Competition, senior design projects, or independent projects.&lt;br /&gt;
&lt;br /&gt;
== Approximate Syllabus ==&lt;br /&gt;
&lt;br /&gt;
This course is for students who want to build microprocessor-controlled electromechanical devices.  &lt;br /&gt;
&lt;br /&gt;
To do this, ME 333 focuses on three topics: (1) general C programming; (2) Microchip PIC microcontroller architecture and C programming specific to the PIC (e.g., using the PIC&amp;#039;s peripherals, such as analog inputs, digital I/O, counters/timers, comm ports, etc.); and (3) interfacing the PIC to sensors and actuators, some theory of sensor and actuator operation, and interface circuitry and signal processing. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;You will do a lot of programming in this course!&amp;#039;&amp;#039;&amp;#039;  If you are certain you hate programming, then this is not the course for you.  But knowing how to program is very useful for any modern engineer.  The language we will use is C, a fairly low-level language that works well for microcontrollers, which is more portable and not nearly as painful and low-level as assembly language.  If you don&amp;#039;t know C, that&amp;#039;s not a problem, most students don&amp;#039;t before taking ME 333; but you should plan to learn it, and rather quickly.  You will have all the materials you need to start learning C before class starts, and &amp;#039;&amp;#039;&amp;#039;the first assignment on C is due on the first day of class&amp;#039;&amp;#039;&amp;#039;!  The reason:  even though we start out with C, that&amp;#039;s not the main goal of this course.  The main goal is to teach you about microcontrollers and mechatronics.  Plus some students already have C background.&lt;br /&gt;
&lt;br /&gt;
You will bring your laptop to each class.  As the quarter progresses, we will be handing out other equipment that you will need to bring to class, such as the parts necessary for our microcontroller, the [https://www.microchip.com/en-us/product/PIC32MX170F256B PIC32MX170F256B].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;It is essential you do the assigned reading and watch the videos in advance of class.&amp;#039;&amp;#039;&amp;#039;  You will have an assignment and/or lecture comprehension questions (L-comps) due before every class, turned in electronically on Canvas.  (This includes the very first day of class!)  Once a week we will have a short quiz.  Most classes will have a combination of a brief review, Q&amp;amp;A, and working individually or in small groups on problems while the instructors help answer any questions.&lt;br /&gt;
&lt;br /&gt;
Topics we will cover, time depending, include:&lt;br /&gt;
&lt;br /&gt;
* introduction to C programming&lt;br /&gt;
* introduction to the PIC32 hardware, and programming the PIC32 in C&lt;br /&gt;
* digital I/O&lt;br /&gt;
* counters/timers and interrupts&lt;br /&gt;
* analog input&lt;br /&gt;
* sensor smorgasbord&lt;br /&gt;
* digital signal processing:  filters and FFTs&lt;br /&gt;
* analog output and pulse-width modulation&lt;br /&gt;
* brushed permanent magnet DC motors:  theory and control&lt;br /&gt;
* stepper motors and RC servo motors&lt;br /&gt;
* communication by SPI, I2C, and RS-232&lt;br /&gt;
* communication over virtual serial port with python&lt;br /&gt;
&lt;br /&gt;
== Checklist to Complete Before the First Day of Class ==&lt;br /&gt;
&lt;br /&gt;
By the first day of class, you should:&lt;br /&gt;
&lt;br /&gt;
* Complete the reading and assignment 1, which is &amp;#039;&amp;#039;&amp;#039;due the first day of class!&amp;#039;&amp;#039;&amp;#039;  The first assignments are designed to get you up to speed on the C programming language, which we will use throughout the course.&lt;br /&gt;
* Have a laptop with at least 2 USB A-style ports.  Any operating system is fine.  One port will be used to program and communicate with your PIC microcontroller, and the other will be used for your portable oscilloscope.  &lt;br /&gt;
* Be prepared to collect your class kit, consisting of the portable nScope oscilloscope, the microcontroller board, and lots of other goodies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
  Price $125 if you are starting from scratch; $75 if you already have the nScope. &lt;br /&gt;
  &lt;br /&gt;
 * Buy your class kit [http://it.mccormick.northwestern.edu/matlab/student_license/login.php &amp;#039;&amp;#039;&amp;#039;here&amp;#039;&amp;#039;&amp;#039;].  If you already have the oscilloscope and multimeter from this year&amp;#039;s ME 233 offering, you should choose &amp;quot;ME 333 (nScope not needed ($75))&amp;quot; for the price of $75.  If you do not have the oscilloscope and multimeter, you should choose &amp;quot;ME 333 (including nScope ($125))&amp;quot; for the price of $125.  You will not be able to start the course until you have completed the purchase of your kit.  If you decide to drop the course, you will be refunded the purchase price upon return of all the equipment in working shape. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Student Contract ==&lt;br /&gt;
&lt;br /&gt;
By signing up for this course, you agree to complete the checklist above before the course starts.  You agree to stay engaged during the class period; even if your computer is open, no facebook or other distractions that will lessen your contribution to the class.  You understand that learning from classmates, and helping classmates, is encouraged, up to the stage of conceptualizing solutions.  You are not allowed to fully complete a solution in a team.  You understand that plagiarism is not tolerated.  You will report instances of plagiarism you are aware of.  Plagiarism includes, but is not limited to:&lt;br /&gt;
&lt;br /&gt;
* Allowing another student to copy your work.&lt;br /&gt;
* Copying another student&amp;#039;s work, in whole or in part.&lt;br /&gt;
* Transforming copied sections of code or solutions to try to disguise their origin.&lt;br /&gt;
* Borrowing code or solutions from others not in the course, e.g., code found on the internet, without attribution.  Borrowing code found on the internet is acceptable if the source is clearly indicated in your code comments, and if you understand how the code works.&lt;br /&gt;
&lt;br /&gt;
On our part (faculty and TAs), we commit to do our best to provide you a curriculum and set of experimental materials to get you up to speed on sophisticated mechatronics integration as quickly and efficiently as possible, while giving you a foundation in concepts needed to go further in future projects and courses.&lt;br /&gt;
&lt;br /&gt;
== Prerequisite ==&lt;br /&gt;
&lt;br /&gt;
ME 233 Electronics Design or similar (EECS 221, 225, BME 305 (pre-2020) or BME 308 (post-2020)) is required. You will be expected to analyze circuits with resistors, capacitors, inductors, diodes, transistors, and op-amps. You can find refresher material and a sample quiz at [[ME_333_Circuits_Review_Material|this page]] and in Appendix B of the book.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
&lt;br /&gt;
Required:&lt;br /&gt;
&lt;br /&gt;
* Textbook: &amp;quot;Embedded Computing and Mechatronics with the PIC32 Microcontroller&amp;quot; ([http://www.amazon.com/gp/product/0124201652/ Amazon], [http://store.elsevier.com/product.jsp?isbn=9780124201651 Elsevier]).  Sample chapters, including the appendix &amp;quot;A Crash Course in C&amp;quot; can be found in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]].  &lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;A pdf of the textbook is included in the class kit, you do not need to buy it online or at the bookstore!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Optional:  [[Media:EssentialC.pdf|Essential C]] is also a very nice intro to C.  Let us know about other online C resources you find particularly useful.&lt;br /&gt;
* [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]] &amp;#039;&amp;#039;&amp;#039;This will change to the PIC32MX100 series&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]] &amp;#039;&amp;#039;&amp;#039;This will change to the PIC32MX100 series&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Find a typo in the book or a bug in the code? Report it [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form here]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Useful, but not required:&lt;br /&gt;
* [http://www.amazon.com/Programming-32-bit-Microcontrollers-Exploring-Technology/dp/0750687096/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1294091438&amp;amp;sr=8-1-spell Programming 32-bit Microcontrollers in C:  Exploring the PIC32] by Lucio Di Jasio.  This is an easy to read and informative exploration of the PIC32.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Other C resources, such as this [[Media:CBook.pdf|pdf version]] of &amp;quot;The C Book,&amp;quot; and the classic [http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1294091625&amp;amp;sr=1-1 C Programming Language] reference book by Kernighan and Ritchie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
Grades will be approximately 40% quizzes and 60% assignments and L-comps (including the final project).  We will have short quizzes once a week at the beginning of class covering material on the previous assignment. We will have a final project and demo in lieu of a final exam.&lt;br /&gt;
&lt;br /&gt;
All quizzes, assignments, and L-comps have equal weight, regardless of how many points they are graded out of.  If one assignment is graded out of 20 points, and the next out of 40, the formula for calculating your total grade for these two assignments would be 0.5*(score1/20) + 0.5*(score2/40).&lt;br /&gt;
&lt;br /&gt;
== Homework Submission ==&lt;br /&gt;
&lt;br /&gt;
All homework will be submitted using the [http://www.it.northwestern.edu/education/login.html Canvas Course Management System].  Homework should be submitted by 11 AM on the day it is due (i.e., before the first section of the day).  Late homework will not be accepted.&lt;br /&gt;
&lt;br /&gt;
Here are a few guidelines/tips associated with homework submissions:&lt;br /&gt;
&lt;br /&gt;
* Upload files individually. No zip archives!&lt;br /&gt;
&lt;br /&gt;
* Submit written responses as PDFs or txt files. &lt;br /&gt;
&lt;br /&gt;
* If you upload a PDF of handwritten work, make sure that the text appears clearly and the picture is oriented portrait style. &lt;br /&gt;
&lt;br /&gt;
* When asked to submit C code for a given programming assignment, we are only concerned with receiving the relevant source files, i.e., all *.c and *.h files.   &lt;br /&gt;
&lt;br /&gt;
* When writing your responses, please follow any instructions on how to write your response.  For example, if we ask for a snippet of code, please do not submit your entire C program with header files and a main routine.  We typically are only expecting a few lines of code that solve the problem.&lt;br /&gt;
&lt;br /&gt;
* Be neat and make sure your answers are easy to follow.  Messy hard-to-follow assignments make TAs cranky, and you don&amp;#039;t want cranky TAs grading your assignment!&lt;br /&gt;
&lt;br /&gt;
* It helps both us and you if you format your code nicely.  Clean looking code is easier for us to grade and easier for you to debug.  Text editors with IDEs such as Visual Studio Code, Netbeans and MPLAB X have tools for auto-formatting code.  For example, highlighting a region and hitting Alt+Shift+f (Linux and Windows) will format that region according to your local formatting preferences.&lt;br /&gt;
&lt;br /&gt;
* When you compile your code, pay attention to any compiler warnings.  They are there for a reason!  You should be able to eventually get your code to produce no warnings.  Often if a piece of code is not working, the warnings will give a clue as to why.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
This course is (partially) &amp;quot;flipped&amp;quot;:  you watch video lectures and do readings in advance of class, and during class, you should have plenty of opportunity for questions and interaction with the instructors and TAs as you work on assignments.  The purpose of this is to try to maximize the value of the class time.  In a typical lecture, 80% of the material is the same every time it is given, and the other 20% is interactive and variable based on student questions.  In a flipped class, we hope to flip this percentage, to better tailor the class to student needs.  You will have time with the instructors while your brains are actually on and working on the material (not just scribbling notes), the times when you are most likely to have questions.  Making the video lectures available should also allow you to spend more or less time on the lecture portion, depending on your prior background.  If the material is difficult for you, you can pause or rewind.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Please keep track of any questions you have as you watch the videos!&amp;#039;&amp;#039;&amp;#039; Bring these questions to class; it will make for a livelier classroom.  &lt;br /&gt;
&lt;br /&gt;
All videos can be found at this page:  [[NU32 Videos|&amp;#039;&amp;#039;&amp;#039;NU32 Videos&amp;#039;&amp;#039;&amp;#039;]] and sample code at the bottom of [[NU32 Software|&amp;#039;&amp;#039;&amp;#039;NU32 Software&amp;#039;&amp;#039;&amp;#039;]].  We will cover almost all of the Appendix, a Crash Course in C, in the first 1.5 weeks of class, so you can work ahead and do all the readings, watch all the videos, and do all the problems, if you have time over the break.  But at a minimum, you must do the winter break assignment.  &lt;br /&gt;
&lt;br /&gt;
We will have video lecture comprehension questions (L-comps) due before every class, assignments due every Tuesday, and quizzes every Thursday (on the material covered in the assignment turned in on Thursday).  L-comps and assignments are turned in using Canvas before 11 AM the day of the class.  The weekly rhythm will be:&lt;br /&gt;
&lt;br /&gt;
* before Thursday:  turn in assignment on material from previous week and L-comps on videos for the next class&lt;br /&gt;
* Thursday in class:  discuss assignment, brief recap and Q&amp;amp;A on new videos, start on next assignment&lt;br /&gt;
* before Tuesday:  turn in L-comps on videos for next class&lt;br /&gt;
* Tuesday in class:  brief quiz on material in assignment turned in on Thursday, recap and discuss videos, continue with assignment&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Winter Break&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Reading due for first class&amp;#039;&amp;#039;&amp;#039;:  pages 515-527 in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]]&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:  1-7 of Appendix A [[NU32 Videos]].  Answer the lecture comprehension (L-comp) questions in CANVAS. &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment&amp;#039;&amp;#039;&amp;#039;:  Exercises 1-4, 6-8, 10-11, 16-17 of Appendix A.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;:  Make a video of your HelloWorld.c program and upload to CANVAS.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 1&amp;#039;&amp;#039;&amp;#039; (Th 1/5)  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment due&amp;#039;&amp;#039;&amp;#039;:  L-comp and exercise solutions, and demo video, for the Winter Break assignment by 11am on CANVAS.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/6cFSmm6eX6w https://youtu.be/P9v-AxwCvHc https://youtu.be/BgNt20-Ivfw https://youtu.be/EvIfmEzMXqs&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture&amp;#039;&amp;#039;&amp;#039;: Crash Course in C&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Begin next assignment:&amp;#039;&amp;#039;&amp;#039;  Appendix A exercises 18-19, 21-22, 27-28, 30-32, 34-35.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;: Exercise 34 and 35.&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps: 8-16 of a Crash Course in C. &lt;br /&gt;
: Reading:  Through page 562 of a Crash Course in C, and the rest of the Appendix as reference.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 2&amp;#039;&amp;#039;&amp;#039; (Tu 1/10)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Answer L-comps &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/PcREfvXxJQE https://youtu.be/fMmT7FyACMI https://youtu.be/6L7qcu_-I_Q https://youtu.be/r2a4Lg2p0to&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture&amp;#039;&amp;#039;&amp;#039;: Crash Course in C&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Continue assignment&amp;#039;&amp;#039;&amp;#039;   &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  17 of a Crash Course in C.&lt;br /&gt;
: Reading:  Rest of a Crash Course in C as reference&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 3&amp;#039;&amp;#039;&amp;#039; (Th 1/12)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Turn in assignment, L-comps, and demo videos.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Review for the Quiz&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/I5wguSQcEiw https://youtu.be/LbuoWj5BM3Q&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture:&amp;#039;&amp;#039;&amp;#039; Crash Course in C&lt;br /&gt;
: Reading:  Complete Chapter 1 (quickstart) and Chapter 2.  &lt;br /&gt;
: Assignment:  Problems 3-16 of Chapter 2.  You will need the Family Data Sheet and the PIC32 Reference Manual.&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Study.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 4&amp;#039;&amp;#039;&amp;#039; (Tu 1/17)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz review on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz:&amp;#039;&amp;#039;&amp;#039; At home, on C, posted on Canvas at 3pm, due by Fri 6pm &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (no L-comps):  Chapter 1 (for your specific OS)&lt;br /&gt;
: Reading:  Chapter 1: Quickstart&lt;br /&gt;
: Download, install, and compile all software as indicated through the end of Chapter 1.3. See [[NU32 Software | NU32 Software]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 5&amp;#039;&amp;#039;&amp;#039; (T 1/18)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Homework for Chapter 2&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;In class demonstration&amp;#039;&amp;#039;&amp;#039;: Compile helloWorld and talkingPIC for NU32.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: Go over PIC32 software&amp;#039;&amp;#039;&amp;#039; - https://youtu.be/0mG7hlwUduA  https://youtu.be/ZGzbVhb_sdU&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 1,3,7,8,9&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps): 1-4 from Chapter 2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 6&amp;#039;&amp;#039;&amp;#039; (Th 1/20)&lt;br /&gt;
: Turn in Chapter 2 L-comps&lt;br /&gt;
: Quiz on Chapter 1&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/0R-aj6XtJLE https://youtu.be/NEICsIIprKU &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 3. &lt;br /&gt;
: Reading:  Complete Chapter 3.&lt;br /&gt;
: Homework for Chapters 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 7&amp;#039;&amp;#039;&amp;#039; (T 1/25)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Turn in Homework from Chapter 2, L-comps for Chapter 3 videos, read Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/CyGwEoNJdS4 https://youtu.be/5LyWPeLY7yU https://youtu.be/UXNOx6Z1Q9w&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 4. &lt;br /&gt;
: Reading:  Complete Chapter 4.&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 8&amp;#039;&amp;#039;&amp;#039; (Th 1/27)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Chapter 4 L-comp.&lt;br /&gt;
: Quiz on Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/16_lVr_k7R0  https://youtu.be/HoNKp8MNGOw  &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 9&amp;#039;&amp;#039;&amp;#039; (T 2/1)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 3 and 4 homework&lt;br /&gt;
: Videos and L-comps on Chapter 5 &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 5:&lt;br /&gt;
: Homework: Chapter 5 (use no optimization for all exercises): Exercises 3, 4.  Chapter 6:  Exercises 1, 4, 5, 8, 9, 16,17. Make a demo video for 6.17&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 10&amp;#039;&amp;#039;&amp;#039; (Th 2/3)&lt;br /&gt;
: Quiz on Chapter 4&lt;br /&gt;
: Videos and L-comps on Chapter 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 6: https://youtu.be/YhmynLK8dTY https://youtu.be/kJ2rvqyuQzM https://youtu.be/JGBWpj5yNfY &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 11&amp;#039;&amp;#039;&amp;#039; (T 2/8)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 5 and 6 homework&lt;br /&gt;
: Videos and L-comps on Chapters 7 and 8&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos: &amp;#039;&amp;#039; On Chapter 7 &amp;amp; 8: https://youtu.be/04C3QZ7JTMs  https://youtu.be/b3aOIfClECE&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Chapter 7: Exercises 1,2. Chapter 8: Exercise 1. Chapter 9: Exercise 1. Chapter 10: Exercise 1,2.&lt;br /&gt;
: The next assignment is related, do Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Th 2/10)&lt;br /&gt;
: Quiz on Chapter 5 and 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos:&amp;#039;&amp;#039;&amp;#039; On Chapter 9, 10 &amp;amp; 11: 9, 10, https://youtu.be/Eqip-9y3mCc &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (T 2/15)&lt;br /&gt;
: Due: Homework from Chapter 7, 8, 9, 10, and the first half of Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 7 8 9 10 homework&lt;br /&gt;
: Assignment: Chapter 24 project. Create solutions for Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2, 24.5, 24.7, and 24.8.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Th 2/17)&lt;br /&gt;
: Quiz on Chapter 7 8 9 10 11&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (T 2/22)&lt;br /&gt;
: Due: Homework from Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 24 homework&lt;br /&gt;
: Assignment: First half of Chapter 28: Chapter 28 through 28.4.1. Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 2/24)&lt;br /&gt;
: Quiz on Chapter 23&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (T 3/1)&lt;br /&gt;
: Due: First half of Chapter 28, up to 28.4.9&lt;br /&gt;
: Assignment: Complete Chapter 28: 28.4.10 #5, 28.4.12 #5.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Th 3/3)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos:&amp;#039;&amp;#039;&amp;#039; https://youtu.be/eoszZpwqNgY https://youtu.be/cz9ckQUsvH8 https://youtu.be/I--miZscPxc https://youtu.be/x5bSqBKPn1U&lt;br /&gt;
: Quiz on Chapter 25 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (T 3/8)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 20&amp;#039;&amp;#039;&amp;#039; (T 3/10)&lt;br /&gt;
: Quiz on Chapter 25 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Assignment&amp;#039;&amp;#039;&amp;#039; Due by Thur 3/16 at noon&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: Sign up for a 5 minute time slot to demo your final project: TBD&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1reEmJ7B2UCTsKIef9iCSJKDipg_J4DuTVHDbNA6Ls-0/edit?usp=sharing googledoc]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Do I need to know the C language to take this course?&lt;br /&gt;
&lt;br /&gt;
A: No. But if you already know C, there is still plenty else in this course for you. If you already know C, know how to use microcontrollers for real-time control, and have a good understanding how common sensors and actuators work and how to interface to them, this course may not be for you. Consider taking ME 433 Advanced Mechatronics in the spring quarter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: Is there an independent project?&lt;br /&gt;
&lt;br /&gt;
A: There is no large independent project. There will be a two-week project at the end of the course, but there will be no machining. For a more significant project, take ME 433 Advanced Mechatronics, offered in the spring quarter. ME 333 is good preparation for ME 433.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: What kind of laptop do I need?&lt;br /&gt;
&lt;br /&gt;
A: You need a laptop with at least 2 USB ports.  Any operating system is fine.&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Main_Page&amp;diff=26361</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Main_Page&amp;diff=26361"/>
		<updated>2022-12-27T23:50:33Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:mechlab.jpg|right|thumb|[http://mechatronics.mech.northwestern.edu/ Northwestern Mechatronics Design Lab]]]&lt;br /&gt;
&lt;br /&gt;
The Northwestern University mechatronics design wiki provides reference material on the theory and applications of electronics, sensors, actuators, etc., for use in mechatronics-related research and projects.  Practical applications often refer to equipment and supplies available in the [http://mechatronics.mech.northwestern.edu/ Northwestern Mechatronics Design Lab].&lt;br /&gt;
&lt;br /&gt;
The mechatronics wiki was initiated by undergraduate Ben Stephens in 2006, under the supervision of Profs. Kevin Lynch and Michael Peshkin.  Since then, many students have contributed content.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Important:  Please be sure to read the [http://mechatronics.mech.northwestern.edu/mech-rules.pdf Rules for Using the Mechatronics Design Lab].&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Here you can find the [[Old Index Page]] of the mechatronics wiki, as of May 2, 2009.  That page is now obsolete, and new material should be indexed on the pages below.  New pages may be indexed in multiple places.)&lt;br /&gt;
&lt;br /&gt;
* [[Editing the mechatronics wiki]] (or visit [[The sandbox]] to practice your wiki skills)&lt;br /&gt;
* [[NU32|Home page of the NU32 PIC32 microcontroller development board and the book &amp;quot;Embedded Computing and Mechatronics with the PIC32 Microcontroller&amp;quot;]]&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Books and Accompanying Videos and Software&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** [[Modern Robotics|&amp;quot;Modern Robotics:  Mechanics, Planning, and Control,&amp;quot; by Kevin M. Lynch and Frank C. Park]]&lt;br /&gt;
** [[NU32|&amp;quot;Embedded Computing and Mechatronics with the PIC32 Microcontroller,&amp;quot; by Kevin Lynch, Nick Marchuk, and Matt Elwin]]&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Courses&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** [[DTC]]&lt;br /&gt;
** [[EDI Bootcamp]]&lt;br /&gt;
** [[ME 224 Experimental Engineering]]&lt;br /&gt;
** [[ME 333 Introduction to Mechatronics]]&lt;br /&gt;
*** [[ME 333 final projects]] (2010 and earlier)&lt;br /&gt;
** [http://www.mech.northwestern.edu/courses/descriptions/433-advanced-mechatronics.html ME 433 Advanced Mechatronics] &lt;br /&gt;
** [[Northwestern Design Competition]]&lt;br /&gt;
** [[ME 449 Robotic Manipulation]]&lt;br /&gt;
* [[Electronics basics]]&lt;br /&gt;
* [[Sensors]]&lt;br /&gt;
* [[Actuators]]&lt;br /&gt;
* [[Communication]]&lt;br /&gt;
* Control computers and software&lt;br /&gt;
**[[Robot Club]]&lt;br /&gt;
**[[Medical Makers]]&lt;br /&gt;
**[[ASEE Robot Design Competition]]&lt;br /&gt;
**[[nScope]]&lt;br /&gt;
** [[Microchip PICs]]&lt;br /&gt;
** [[PC/104 stacks and Matlab xPC]]&lt;br /&gt;
** [[QNX]]&lt;br /&gt;
** [[Robot Operating System]]&lt;br /&gt;
** [[Processing]]&lt;br /&gt;
** [[Node.js]]&lt;br /&gt;
** [[Eagle]]&lt;br /&gt;
** [[KiCad]]&lt;br /&gt;
** [[C Compilers]]&lt;br /&gt;
* [[Tools in the lab and shop]] (software, hardware, supplies, etc.)&lt;br /&gt;
* [[Vendors and Useful Links]]&lt;br /&gt;
* [[Projects and miscellaneous]] (projects, research, and other mechatronics-related info)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[2016 ASME ME Department Heads&amp;#039; Forum]]&lt;br /&gt;
&lt;br /&gt;
[[Evaluating Form Closure Project]]&lt;br /&gt;
[[Stability of an Assembly Project]]&lt;br /&gt;
[[Writing a CSV File]]&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics&amp;diff=26360</id>
		<title>ME 333 Introduction to Mechatronics</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics&amp;diff=26360"/>
		<updated>2022-12-27T21:38:58Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Winter Quarter 2023&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;First day of class is Thursday January 5.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Section 20:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 11:00-12:20, Tech M152&lt;br /&gt;
* Section 21:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 12:30-1:50, Tech M152&lt;br /&gt;
* TA:  &lt;br /&gt;
** Rui Li&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Final demo&amp;#039;&amp;#039;&amp;#039; (in lieu of final exam):  Monday Mar 13 3-5 PM (12:30-1:50 section) and Wednesday Mar 15 9-11 AM (11-12:20 section)&lt;br /&gt;
* Office Hours: &lt;br /&gt;
** TBD&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--in Ford B100:  &lt;br /&gt;
** TuWThF 4-5pm with Prof. Marchuk in Ford B100, or by appt &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Quick links:&lt;br /&gt;
** [http://www.it.northwestern.edu/education/login.html Canvas Course Management System]&lt;br /&gt;
** [[NU32 Videos|NU32 Videos]]&lt;br /&gt;
** [[NU32 Software|NU32 Software]]&lt;br /&gt;
** [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form Report a typo or bug in the book]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Purpose of this Course ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this course is to &amp;#039;&amp;#039;&amp;#039;provide tools that help you express your creativity&amp;#039;&amp;#039;&amp;#039;.  Maybe you want to build a robot, or a piece of kinetic art, or an automatic ball-throwing device to entertain your dog; maybe you&amp;#039;ve identified a market for a new smart product and you&amp;#039;d like to prototype the device.  This course provides fundamentals of mechatronics to give you confidence to take on these projects.  You are encouraged to take what you learn in this course and apply it in ME 433 Advanced Mechatronics, DSGN 360 Design Competition, senior design projects, or independent projects.&lt;br /&gt;
&lt;br /&gt;
== Approximate Syllabus ==&lt;br /&gt;
&lt;br /&gt;
This course is for students who want to build microprocessor-controlled electromechanical devices.  &lt;br /&gt;
&lt;br /&gt;
To do this, ME 333 focuses on three topics: (1) general C programming; (2) Microchip PIC microcontroller architecture and C programming specific to the PIC (e.g., using the PIC&amp;#039;s peripherals, such as analog inputs, digital I/O, counters/timers, comm ports, etc.); and (3) interfacing the PIC to sensors and actuators, some theory of sensor and actuator operation, and interface circuitry and signal processing. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;You will do a lot of programming in this course!&amp;#039;&amp;#039;&amp;#039;  If you are certain you hate programming, then this is not the course for you.  But knowing how to program is very useful for any modern engineer.  The language we will use is C, a fairly low-level language that works well for microcontrollers, which is more portable and not nearly as painful and low-level as assembly language.  If you don&amp;#039;t know C, that&amp;#039;s not a problem, most students don&amp;#039;t before taking ME 333; but you should plan to learn it, and rather quickly.  You will have all the materials you need to start learning C before class starts, and &amp;#039;&amp;#039;&amp;#039;the first assignment on C is due on the first day of class&amp;#039;&amp;#039;&amp;#039;!  The reason:  even though we start out with C, that&amp;#039;s not the main goal of this course.  The main goal is to teach you about microcontrollers and mechatronics.  Plus some students already have C background.&lt;br /&gt;
&lt;br /&gt;
You will bring your laptop to each class.  As the quarter progresses, we will be handing out other equipment that you will need to bring to class, such as the parts necessary for our microcontroller, the [https://www.microchip.com/en-us/product/PIC32MX170F256B PIC32MX170F256B].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;It is essential you do the assigned reading and watch the videos in advance of class.&amp;#039;&amp;#039;&amp;#039;  You will have an assignment and/or lecture comprehension questions (L-comps) due before every class, turned in electronically on Canvas.  (This includes the very first day of class!)  Once a week we will have a short quiz.  Most classes will have a combination of a brief review, Q&amp;amp;A, and working individually or in small groups on problems while the instructors help answer any questions.&lt;br /&gt;
&lt;br /&gt;
Topics we will cover, time depending, include:&lt;br /&gt;
&lt;br /&gt;
* introduction to C programming&lt;br /&gt;
* introduction to the PIC32 hardware, and programming the PIC32 in C&lt;br /&gt;
* digital I/O&lt;br /&gt;
* counters/timers and interrupts&lt;br /&gt;
* analog input&lt;br /&gt;
* sensor smorgasbord&lt;br /&gt;
* digital signal processing:  filters and FFTs&lt;br /&gt;
* analog output and pulse-width modulation&lt;br /&gt;
* brushed permanent magnet DC motors:  theory and control&lt;br /&gt;
* stepper motors and RC servo motors&lt;br /&gt;
* communication by SPI, I2C, and RS-232&lt;br /&gt;
* communication over virtual serial port with python&lt;br /&gt;
&lt;br /&gt;
== Checklist to Complete Before the First Day of Class ==&lt;br /&gt;
&lt;br /&gt;
By the first day of class, you should:&lt;br /&gt;
&lt;br /&gt;
* Complete the reading and assignment 1, which is &amp;#039;&amp;#039;&amp;#039;due the first day of class!&amp;#039;&amp;#039;&amp;#039;  The first assignments are designed to get you up to speed on the C programming language, which we will use throughout the course.&lt;br /&gt;
* Have a laptop with at least 2 USB A-style ports.  Any operating system is fine.  One port will be used to program and communicate with your PIC microcontroller, and the other will be used for your portable oscilloscope.  &lt;br /&gt;
* Be prepared to collect your class kit, consisting of the portable nScope oscilloscope, the microcontroller board, and lots of other goodies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
  Price $125 if you are starting from scratch; $75 if you already have the nScope. &lt;br /&gt;
  &lt;br /&gt;
 * Buy your class kit [http://it.mccormick.northwestern.edu/matlab/student_license/login.php &amp;#039;&amp;#039;&amp;#039;here&amp;#039;&amp;#039;&amp;#039;].  If you already have the oscilloscope and multimeter from this year&amp;#039;s ME 233 offering, you should choose &amp;quot;ME 333 (nScope not needed ($75))&amp;quot; for the price of $75.  If you do not have the oscilloscope and multimeter, you should choose &amp;quot;ME 333 (including nScope ($125))&amp;quot; for the price of $125.  You will not be able to start the course until you have completed the purchase of your kit.  If you decide to drop the course, you will be refunded the purchase price upon return of all the equipment in working shape. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Student Contract ==&lt;br /&gt;
&lt;br /&gt;
By signing up for this course, you agree to complete the checklist above before the course starts.  You agree to stay engaged during the class period; even if your computer is open, no facebook or other distractions that will lessen your contribution to the class.  You understand that learning from classmates, and helping classmates, is encouraged, up to the stage of conceptualizing solutions.  You are not allowed to fully complete a solution in a team.  You understand that plagiarism is not tolerated.  You will report instances of plagiarism you are aware of.  Plagiarism includes, but is not limited to:&lt;br /&gt;
&lt;br /&gt;
* Allowing another student to copy your work.&lt;br /&gt;
* Copying another student&amp;#039;s work, in whole or in part.&lt;br /&gt;
* Transforming copied sections of code or solutions to try to disguise their origin.&lt;br /&gt;
* Borrowing code or solutions from others not in the course, e.g., code found on the internet, without attribution.  Borrowing code found on the internet is acceptable if the source is clearly indicated in your code comments, and if you understand how the code works.&lt;br /&gt;
&lt;br /&gt;
On our part (faculty and TAs), we commit to do our best to provide you a curriculum and set of experimental materials to get you up to speed on sophisticated mechatronics integration as quickly and efficiently as possible, while giving you a foundation in concepts needed to go further in future projects and courses.&lt;br /&gt;
&lt;br /&gt;
== Prerequisite ==&lt;br /&gt;
&lt;br /&gt;
ME 233 Electronics Design or similar (EECS 221, 225, BME 305 (pre-2020) or BME 308 (post-2020)) is required. You will be expected to analyze circuits with resistors, capacitors, inductors, diodes, transistors, and op-amps. You can find refresher material and a sample quiz at [[ME_333_Circuits_Review_Material|this page]] and in Appendix B of the book.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
&lt;br /&gt;
Required:&lt;br /&gt;
&lt;br /&gt;
* Textbook: &amp;quot;Embedded Computing and Mechatronics with the PIC32 Microcontroller&amp;quot; ([http://www.amazon.com/gp/product/0124201652/ Amazon], [http://store.elsevier.com/product.jsp?isbn=9780124201651 Elsevier]).  Sample chapters, including the appendix &amp;quot;A Crash Course in C&amp;quot; can be found in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]].  &lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;A pdf of the textbook is included in the class kit, you do not need to buy it online or at the bookstore!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Optional:  [[Media:EssentialC.pdf|Essential C]] is also a very nice intro to C.  Let us know about other online C resources you find particularly useful.&lt;br /&gt;
* [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]] &amp;#039;&amp;#039;&amp;#039;This will change to the PIC32MX100 series&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]] &amp;#039;&amp;#039;&amp;#039;This will change to the PIC32MX100 series&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Find a typo in the book or a bug in the code? Report it [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form here]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Useful, but not required:&lt;br /&gt;
* [http://www.amazon.com/Programming-32-bit-Microcontrollers-Exploring-Technology/dp/0750687096/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1294091438&amp;amp;sr=8-1-spell Programming 32-bit Microcontrollers in C:  Exploring the PIC32] by Lucio Di Jasio.  This is an easy to read and informative exploration of the PIC32.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Other C resources, such as this [[Media:CBook.pdf|pdf version]] of &amp;quot;The C Book,&amp;quot; and the classic [http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1294091625&amp;amp;sr=1-1 C Programming Language] reference book by Kernighan and Ritchie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
Grades will be approximately 40% quizzes and 60% assignments and L-comps (including the final project).  We will have short quizzes once a week at the beginning of class covering material on the previous assignment. We will have a final project and demo in lieu of a final exam.&lt;br /&gt;
&lt;br /&gt;
All quizzes, assignments, and L-comps have equal weight, regardless of how many points they are graded out of.  If one assignment is graded out of 20 points, and the next out of 40, the formula for calculating your total grade for these two assignments would be 0.5*(score1/20) + 0.5*(score2/40).&lt;br /&gt;
&lt;br /&gt;
== Homework Submission ==&lt;br /&gt;
&lt;br /&gt;
All homework will be submitted using the [http://www.it.northwestern.edu/education/login.html Canvas Course Management System].  Homework should be submitted by 11 AM on the day it is due (i.e., before the first section of the day).  Late homework will not be accepted.&lt;br /&gt;
&lt;br /&gt;
Here are a few guidelines/tips associated with homework submissions:&lt;br /&gt;
&lt;br /&gt;
* Upload files individually. No zip archives!&lt;br /&gt;
&lt;br /&gt;
* Submit written responses as PDFs or txt files. &lt;br /&gt;
&lt;br /&gt;
* If you upload a PDF of handwritten work, make sure that the text appears clearly and the picture is oriented portrait style. &lt;br /&gt;
&lt;br /&gt;
* When asked to submit C code for a given programming assignment, we are only concerned with receiving the relevant source files, i.e., all *.c and *.h files.   &lt;br /&gt;
&lt;br /&gt;
* When writing your responses, please follow any instructions on how to write your response.  For example, if we ask for a snippet of code, please do not submit your entire C program with header files and a main routine.  We typically are only expecting a few lines of code that solve the problem.&lt;br /&gt;
&lt;br /&gt;
* Be neat and make sure your answers are easy to follow.  Messy hard-to-follow assignments make TAs cranky, and you don&amp;#039;t want cranky TAs grading your assignment!&lt;br /&gt;
&lt;br /&gt;
* It helps both us and you if you format your code nicely.  Clean looking code is easier for us to grade and easier for you to debug.  Text editors with IDEs such as Visual Studio Code, Netbeans and MPLAB X have tools for auto-formatting code.  For example, highlighting a region and hitting Alt+Shift+f (Linux and Windows) will format that region according to your local formatting preferences.&lt;br /&gt;
&lt;br /&gt;
* When you compile your code, pay attention to any compiler warnings.  They are there for a reason!  You should be able to eventually get your code to produce no warnings.  Often if a piece of code is not working, the warnings will give a clue as to why.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
This course is (partially) &amp;quot;flipped&amp;quot;:  you watch video lectures and do readings in advance of class, and during class, you should have plenty of opportunity for questions and interaction with the instructors and TAs as you work on assignments.  The purpose of this is to try to maximize the value of the class time.  In a typical lecture, 80% of the material is the same every time it is given, and the other 20% is interactive and variable based on student questions.  In a flipped class, we hope to flip this percentage, to better tailor the class to student needs.  You will have time with the instructors while your brains are actually on and working on the material (not just scribbling notes), the times when you are most likely to have questions.  Making the video lectures available should also allow you to spend more or less time on the lecture portion, depending on your prior background.  If the material is difficult for you, you can pause or rewind.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Please keep track of any questions you have as you watch the videos!&amp;#039;&amp;#039;&amp;#039; Bring these questions to class; it will make for a livelier classroom.  &lt;br /&gt;
&lt;br /&gt;
All videos can be found at this page:  [[NU32 Videos|&amp;#039;&amp;#039;&amp;#039;NU32 Videos&amp;#039;&amp;#039;&amp;#039;]] and sample code at the bottom of [[NU32 Software|&amp;#039;&amp;#039;&amp;#039;NU32 Software&amp;#039;&amp;#039;&amp;#039;]].  We will cover almost all of the Appendix, a Crash Course in C, in the first 1.5 weeks of class, so you can work ahead and do all the readings, watch all the videos, and do all the problems, if you have time over the break.  But at a minimum, you must do the winter break assignment.  &lt;br /&gt;
&lt;br /&gt;
We will have video lecture comprehension questions (L-comps) due before every class, assignments due every Tuesday, and quizzes every Thursday (on the material covered in the assignment turned in on Thursday).  L-comps and assignments are turned in using Canvas before 11 AM the day of the class.  The weekly rhythm will be:&lt;br /&gt;
&lt;br /&gt;
* before Thursday:  turn in assignment on material from previous week and L-comps on videos for the next class&lt;br /&gt;
* Thursday in class:  discuss assignment, brief recap and Q&amp;amp;A on new videos, start on next assignment&lt;br /&gt;
* before Tuesday:  turn in L-comps on videos for next class&lt;br /&gt;
* Tuesday in class:  brief quiz on material in assignment turned in on Thursday, recap and discuss videos, continue with assignment&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Winter Break&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Reading due for first class&amp;#039;&amp;#039;&amp;#039;:  pages 515-527 in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]]&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:  1-7 of Appendix A [[NU32 Videos]].  Answer the lecture comprehension (L-comp) questions in CANVAS. &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment&amp;#039;&amp;#039;&amp;#039;:  Exercises 1-4, 6-8, 10-11, 16-17 of Appendix A.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;:  Make a video of your HelloWorld.c program and upload to CANVAS.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 1&amp;#039;&amp;#039;&amp;#039; (Th 1/5)  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment due&amp;#039;&amp;#039;&amp;#039;:  L-comp and exercise solutions, and demo video, for the Winter Break assignment by 11am on CANVAS.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/6cFSmm6eX6w https://youtu.be/P9v-AxwCvHc https://youtu.be/BgNt20-Ivfw https://youtu.be/EvIfmEzMXqs&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture&amp;#039;&amp;#039;&amp;#039;: Crash Course in C&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Begin next assignment:&amp;#039;&amp;#039;&amp;#039;  Appendix A exercises 18-19, 21-22, 27-28, 30-32, 34-35.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;: Exercise 34 and 35.&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps: 8-16 of a Crash Course in C. &lt;br /&gt;
: Reading:  Through page 562 of a Crash Course in C, and the rest of the Appendix as reference.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 2&amp;#039;&amp;#039;&amp;#039; (Tu 1/10)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Answer L-comps &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/PcREfvXxJQE https://youtu.be/fMmT7FyACMI https://youtu.be/6L7qcu_-I_Q https://youtu.be/r2a4Lg2p0to&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture&amp;#039;&amp;#039;&amp;#039;: Crash Course in C&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Continue assignment&amp;#039;&amp;#039;&amp;#039;   &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  17 of a Crash Course in C.&lt;br /&gt;
: Reading:  Rest of a Crash Course in C as reference&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 3&amp;#039;&amp;#039;&amp;#039; (Th 1/12)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Turn in assignment, L-comps, and demo videos.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Review for the Quiz&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/I5wguSQcEiw https://youtu.be/LbuoWj5BM3Q&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture:&amp;#039;&amp;#039;&amp;#039; Crash Course in C&lt;br /&gt;
: Reading:  Complete Chapter 1 (quickstart) and Chapter 2.  &lt;br /&gt;
: Assignment:  Problems 3-16 of Chapter 2.  You will need the Family Data Sheet and the PIC32 Reference Manual.&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Study.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 4&amp;#039;&amp;#039;&amp;#039; (Tu 1/17)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz review on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz:&amp;#039;&amp;#039;&amp;#039; At home, on C, posted on Canvas at 3pm, due by Fri 6pm &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (no L-comps):  Chapter 1 (for your specific OS)&lt;br /&gt;
: Reading:  Chapter 1: Quickstart&lt;br /&gt;
: Download, install, and compile all software as indicated through the end of Chapter 1.3. See [[NU32 Software | NU32 Software]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 5&amp;#039;&amp;#039;&amp;#039; (T 1/18)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Homework for Chapter 2&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;In class demonstration&amp;#039;&amp;#039;&amp;#039;: Compile helloWorld and talkingPIC for NU32.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: Go over PIC32 software&amp;#039;&amp;#039;&amp;#039; - https://youtu.be/0mG7hlwUduA  https://youtu.be/ZGzbVhb_sdU&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 1,3,7,8,9&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps): 1-4 from Chapter 2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 6&amp;#039;&amp;#039;&amp;#039; (Th 1/20)&lt;br /&gt;
: Turn in Chapter 2 L-comps&lt;br /&gt;
: Quiz on Chapter 1&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/0R-aj6XtJLE https://youtu.be/NEICsIIprKU &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 3. &lt;br /&gt;
: Reading:  Complete Chapter 3.&lt;br /&gt;
: Homework for Chapters 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 7&amp;#039;&amp;#039;&amp;#039; (T 1/25)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Turn in Homework from Chapter 2, L-comps for Chapter 3 videos, read Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/CyGwEoNJdS4 https://youtu.be/5LyWPeLY7yU https://youtu.be/UXNOx6Z1Q9w&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 4. &lt;br /&gt;
: Reading:  Complete Chapter 4.&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 8&amp;#039;&amp;#039;&amp;#039; (Th 1/27)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Chapter 4 L-comp.&lt;br /&gt;
: Quiz on Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/16_lVr_k7R0  https://youtu.be/HoNKp8MNGOw  &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 9&amp;#039;&amp;#039;&amp;#039; (T 2/1)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 3 and 4 homework&lt;br /&gt;
: Videos and L-comps on Chapter 5 &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 5:&lt;br /&gt;
: Homework: Chapter 5 (use no optimization for all exercises): Exercises 3, 4.  Chapter 6:  Exercises 1, 4, 5, 8, 9, 16,17. Make a demo video for 6.17&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 10&amp;#039;&amp;#039;&amp;#039; (Th 2/3)&lt;br /&gt;
: Quiz on Chapter 4&lt;br /&gt;
: Videos and L-comps on Chapter 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 6: https://youtu.be/YhmynLK8dTY https://youtu.be/kJ2rvqyuQzM https://youtu.be/JGBWpj5yNfY &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 11&amp;#039;&amp;#039;&amp;#039; (T 2/8)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 5 and 6 homework&lt;br /&gt;
: Videos and L-comps on Chapters 7 and 8&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos: &amp;#039;&amp;#039; On Chapter 7 &amp;amp; 8: https://youtu.be/04C3QZ7JTMs  https://youtu.be/b3aOIfClECE&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Chapter 7: Exercises 1,2. Chapter 8: Exercise 1. Chapter 9: Exercise 1. Chapter 10: Exercise 1,2.&lt;br /&gt;
: The next assignment is related, do Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Th 2/10)&lt;br /&gt;
: Quiz on Chapter 5 and 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos:&amp;#039;&amp;#039;&amp;#039; On Chapter 9, 10 &amp;amp; 11: 9, 10, https://youtu.be/Eqip-9y3mCc &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (T 2/15)&lt;br /&gt;
: Due: Homework from Chapter 7, 8, 9, 10, and the first half of Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 7 8 9 10 homework&lt;br /&gt;
: Assignment: Chapter 24 project. Create solutions for Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2, 24.5, 24.7, and 24.8.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Th 2/17)&lt;br /&gt;
: Quiz on Chapter 7 8 9 10 11&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (T 2/22)&lt;br /&gt;
: Due: Homework from Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 24 homework&lt;br /&gt;
: Assignment: First half of Chapter 28: Chapter 28 through 28.4.1. Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 2/24)&lt;br /&gt;
: Quiz on Chapter 23&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (T 3/1)&lt;br /&gt;
: Due: First half of Chapter 28, up to 28.4.9&lt;br /&gt;
: Assignment: Complete Chapter 28: 28.4.10 #5, 28.4.12 #5.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Th 3/3)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos:&amp;#039;&amp;#039;&amp;#039; https://youtu.be/eoszZpwqNgY https://youtu.be/cz9ckQUsvH8 https://youtu.be/I--miZscPxc https://youtu.be/x5bSqBKPn1U&lt;br /&gt;
: Quiz on Chapter 25 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (T 3/8)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 20&amp;#039;&amp;#039;&amp;#039; (T 3/10)&lt;br /&gt;
: Quiz on Chapter 25 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Assignment&amp;#039;&amp;#039;&amp;#039; Due by Thur 3/16 at noon&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: Sign up for a 5 minute time slot to demo your final project: TBD&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1reEmJ7B2UCTsKIef9iCSJKDipg_J4DuTVHDbNA6Ls-0/edit?usp=sharing googledoc]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Do I need to know the C language to take this course?&lt;br /&gt;
&lt;br /&gt;
A: No. But if you already know C, there is still plenty else in this course for you. If you already know C, know how to use microcontrollers for real-time control, and have a good understanding how common sensors and actuators work and how to interface to them, this course may not be for you. Consider taking ME 433 Advanced Mechatronics in the spring quarter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: Is there an independent project?&lt;br /&gt;
&lt;br /&gt;
A: There is no large independent project. There will be a two-week project at the end of the course, but there will be no machining. For a more significant project, take ME 433 Advanced Mechatronics, offered in the spring quarter. ME 333 is good preparation for ME 433.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: What kind of laptop do I need?&lt;br /&gt;
&lt;br /&gt;
A: You need a laptop with at least 2 USB ports.  Any operating system is fine.&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics&amp;diff=26359</id>
		<title>ME 333 Introduction to Mechatronics</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics&amp;diff=26359"/>
		<updated>2022-12-27T21:05:27Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Winter Quarter 2023&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;First day of class is Thursday January 5.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Section 20:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 11:00-12:20, Tech M152&lt;br /&gt;
* Section 21:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 12:30-1:50, Tech M152&lt;br /&gt;
* TA:  &lt;br /&gt;
** Rui Li&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Final demo&amp;#039;&amp;#039;&amp;#039; (in lieu of final exam):  Monday Mar 13 3-5 PM (12:30-1:50 section) and Wednesday Mar 15 9-11 AM (11-12:20 section)&lt;br /&gt;
* Office Hours: &lt;br /&gt;
** TBD&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--in Ford B100:  &lt;br /&gt;
** TuWThF 4-5pm with Prof. Marchuk in Ford B100, or by appt &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Quick links:&lt;br /&gt;
** [http://www.it.northwestern.edu/education/login.html Canvas Course Management System]&lt;br /&gt;
** [[NU32 Videos|NU32 Videos]]&lt;br /&gt;
** [[NU32 Software|NU32 Software]]&lt;br /&gt;
** [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form Report a typo or bug in the book]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Purpose of this Course ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this course is to &amp;#039;&amp;#039;&amp;#039;provide tools that help you express your creativity&amp;#039;&amp;#039;&amp;#039;.  Maybe you want to build a robot, or a piece of kinetic art, or an automatic ball-throwing device to entertain your dog; maybe you&amp;#039;ve identified a market for a new smart product and you&amp;#039;d like to prototype the device.  This course provides fundamentals of mechatronics to give you confidence to take on these projects.  You are encouraged to take what you learn in this course and apply it in ME 433 Advanced Mechatronics, DSGN 360 Design Competition, senior design projects, or independent projects.&lt;br /&gt;
&lt;br /&gt;
== Approximate Syllabus ==&lt;br /&gt;
&lt;br /&gt;
This course is for students who want to build microprocessor-controlled electromechanical devices.  &lt;br /&gt;
&lt;br /&gt;
To do this, ME 333 focuses on three topics: (1) general C programming; (2) Microchip PIC microcontroller architecture and C programming specific to the PIC (e.g., using the PIC&amp;#039;s peripherals, such as analog inputs, digital I/O, counters/timers, comm ports, etc.); and (3) interfacing the PIC to sensors and actuators, some theory of sensor and actuator operation, and interface circuitry and signal processing. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;You will do a lot of programming in this course!&amp;#039;&amp;#039;&amp;#039;  If you are certain you hate programming, then this is not the course for you.  But knowing how to program is very useful for any modern engineer.  The language we will use is C, a fairly low-level language that works well for microcontrollers, which is more portable and not nearly as painful and low-level as assembly language.  If you don&amp;#039;t know C, that&amp;#039;s not a problem, most students don&amp;#039;t before taking ME 333; but you should plan to learn it, and rather quickly.  You will have all the materials you need to start learning C before class starts, and &amp;#039;&amp;#039;&amp;#039;the first assignment on C is due on the first day of class&amp;#039;&amp;#039;&amp;#039;!  The reason:  even though we start out with C, that&amp;#039;s not the main goal of this course.  The main goal is to teach you about microcontrollers and mechatronics.  Plus some students already have C background.&lt;br /&gt;
&lt;br /&gt;
You will bring your laptop to each class.  As the quarter progresses, we will be handing out other equipment that you will need to bring to class, such as the parts necessary for our microcontroller, the [https://www.microchip.com/en-us/product/PIC32MX170F256B PIC32MX170F256B].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;It is essential you do the assigned reading and watch the videos in advance of class.&amp;#039;&amp;#039;&amp;#039;  You will have an assignment and/or lecture comprehension questions (L-comps) due before every class, turned in electronically on Canvas.  (This includes the very first day of class!)  Once a week we will have a short quiz.  Most classes will have a combination of a brief review, Q&amp;amp;A, and working individually or in small groups on problems while the instructors help answer any questions.&lt;br /&gt;
&lt;br /&gt;
Topics we will cover, time depending, include:&lt;br /&gt;
&lt;br /&gt;
* introduction to C programming&lt;br /&gt;
* introduction to the PIC32 hardware, and programming the PIC32 in C&lt;br /&gt;
* digital I/O&lt;br /&gt;
* counters/timers and interrupts&lt;br /&gt;
* analog input&lt;br /&gt;
* sensor smorgasbord&lt;br /&gt;
* digital signal processing:  filters and FFTs&lt;br /&gt;
* analog output and pulse-width modulation&lt;br /&gt;
* brushed permanent magnet DC motors:  theory and control&lt;br /&gt;
* stepper motors and RC servo motors&lt;br /&gt;
* communication by SPI, I2C, and RS-232&lt;br /&gt;
* communication over virtual serial port with python&lt;br /&gt;
&lt;br /&gt;
== Checklist to Complete Before the First Day of Class ==&lt;br /&gt;
&lt;br /&gt;
By the first day of class, you should:&lt;br /&gt;
&lt;br /&gt;
* Complete the reading and assignment 1, which is &amp;#039;&amp;#039;&amp;#039;due the first day of class!&amp;#039;&amp;#039;&amp;#039;  The first assignments are designed to get you up to speed on the C programming language, which we will use throughout the course.&lt;br /&gt;
* Have a laptop with at least 2 USB A-style ports.  Any operating system is fine.  One port will be used to program and communicate with your PIC microcontroller, and the other will be used for your portable oscilloscope.  &lt;br /&gt;
* Be prepared to collect your class kit, consisting of the portable nScope oscilloscope, the microcontroller board, and lots of other goodies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
  Price $125 if you are starting from scratch; $75 if you already have the nScope. &lt;br /&gt;
  &lt;br /&gt;
 * Buy your class kit [http://it.mccormick.northwestern.edu/matlab/student_license/login.php &amp;#039;&amp;#039;&amp;#039;here&amp;#039;&amp;#039;&amp;#039;].  If you already have the oscilloscope and multimeter from this year&amp;#039;s ME 233 offering, you should choose &amp;quot;ME 333 (nScope not needed ($75))&amp;quot; for the price of $75.  If you do not have the oscilloscope and multimeter, you should choose &amp;quot;ME 333 (including nScope ($125))&amp;quot; for the price of $125.  You will not be able to start the course until you have completed the purchase of your kit.  If you decide to drop the course, you will be refunded the purchase price upon return of all the equipment in working shape. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Student Contract ==&lt;br /&gt;
&lt;br /&gt;
By signing up for this course, you agree to complete the checklist above before the course starts.  You agree to stay engaged during the class period; even if your computer is open, no facebook or other distractions that will lessen your contribution to the class.  You understand that learning from classmates, and helping classmates, is encouraged, up to the stage of conceptualizing solutions.  You are not allowed to fully complete a solution in a team.  You understand that plagiarism is not tolerated.  You will report instances of plagiarism you are aware of.  Plagiarism includes, but is not limited to:&lt;br /&gt;
&lt;br /&gt;
* Allowing another student to copy your work.&lt;br /&gt;
* Copying another student&amp;#039;s work, in whole or in part.&lt;br /&gt;
* Transforming copied sections of code or solutions to try to disguise their origin.&lt;br /&gt;
* Borrowing code or solutions from others not in the course, e.g., code found on the internet, without attribution.  Borrowing code found on the internet is acceptable if the source is clearly indicated in your code comments, and if you understand how the code works.&lt;br /&gt;
&lt;br /&gt;
On our part (faculty and TAs), we commit to do our best to provide you a curriculum and set of experimental materials to get you up to speed on sophisticated mechatronics integration as quickly and efficiently as possible, while giving you a foundation in concepts needed to go further in future projects and courses.&lt;br /&gt;
&lt;br /&gt;
== Prerequisite ==&lt;br /&gt;
&lt;br /&gt;
ME 233 Electronics Design or similar (EECS 221, 225, BME 305 (pre-2020) or BME 308 (post-2020)) is required. You will be expected to analyze circuits with resistors, capacitors, inductors, diodes, transistors, and op-amps. You can find refresher material and a sample quiz at [[ME_333_Circuits_Review_Material|this page]] and in Appendix B of the book.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
&lt;br /&gt;
Required:&lt;br /&gt;
&lt;br /&gt;
* Textbook: &amp;quot;Embedded Computing and Mechatronics with the PIC32 Microcontroller&amp;quot; ([http://www.amazon.com/gp/product/0124201652/ Amazon], [http://store.elsevier.com/product.jsp?isbn=9780124201651 Elsevier]).  Sample chapters, including the appendix &amp;quot;A Crash Course in C&amp;quot; can be found in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]].  &lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;A pdf of the textbook is included in the class kit, you do not need to buy it online or at the bookstore!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Optional:  [[Media:EssentialC.pdf|Essential C]] is also a very nice intro to C.  Let us know about other online C resources you find particularly useful.&lt;br /&gt;
* [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]] &amp;#039;&amp;#039;&amp;#039;This will change to the PIC32MX100 series&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]] &amp;#039;&amp;#039;&amp;#039;This will change to the PIC32MX100 series&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Find a typo in the book or a bug in the code? Report it [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form here]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Useful, but not required:&lt;br /&gt;
* [http://www.amazon.com/Programming-32-bit-Microcontrollers-Exploring-Technology/dp/0750687096/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1294091438&amp;amp;sr=8-1-spell Programming 32-bit Microcontrollers in C:  Exploring the PIC32] by Lucio Di Jasio.  This is an easy to read and informative exploration of the PIC32.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Other C resources, such as this [[Media:CBook.pdf|pdf version]] of &amp;quot;The C Book,&amp;quot; and the classic [http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1294091625&amp;amp;sr=1-1 C Programming Language] reference book by Kernighan and Ritchie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
Grades will be approximately 40% quizzes and 60% assignments and L-comps (including the final project).  We will have short quizzes once a week at the beginning of class covering material on the previous assignment. We will have a final project and demo in lieu of a final exam.&lt;br /&gt;
&lt;br /&gt;
All quizzes, assignments, and L-comps have equal weight, regardless of how many points they are graded out of.  If one assignment is graded out of 20 points, and the next out of 40, the formula for calculating your total grade for these two assignments would be 0.5*(score1/20) + 0.5*(score2/40).&lt;br /&gt;
&lt;br /&gt;
== Homework Submission ==&lt;br /&gt;
&lt;br /&gt;
All homework will be submitted using the [http://www.it.northwestern.edu/education/login.html Canvas Course Management System].  Homework should be submitted by 11 AM on the day it is due (i.e., before the first section of the day).  Late homework will not be accepted.&lt;br /&gt;
&lt;br /&gt;
Here are a few guidelines/tips associated with homework submissions:&lt;br /&gt;
&lt;br /&gt;
* Upload files individually. No zip archives!&lt;br /&gt;
&lt;br /&gt;
* Submit written responses as PDFs or txt files. &lt;br /&gt;
&lt;br /&gt;
* If you upload a PDF of handwritten work, make sure that the text appears clearly and the picture is oriented portrait style. &lt;br /&gt;
&lt;br /&gt;
* When asked to submit C code for a given programming assignment, we are only concerned with receiving the relevant source files, i.e., all *.c and *.h files.   &lt;br /&gt;
&lt;br /&gt;
* When writing your responses, please follow any instructions on how to write your response.  For example, if we ask for a snippet of code, please do not submit your entire C program with header files and a main routine.  We typically are only expecting a few lines of code that solve the problem.&lt;br /&gt;
&lt;br /&gt;
* Be neat and make sure your answers are easy to follow.  Messy hard-to-follow assignments make TAs cranky, and you don&amp;#039;t want cranky TAs grading your assignment!&lt;br /&gt;
&lt;br /&gt;
* It helps both us and you if you format your code nicely.  Clean looking code is easier for us to grade and easier for you to debug.  Text editors with IDEs such as Visual Studio Code, Netbeans and MPLAB X have tools for auto-formatting code.  For example, highlighting a region and hitting Alt+Shift+f (Linux and Windows) will format that region according to your local formatting preferences.&lt;br /&gt;
&lt;br /&gt;
* When you compile your code, pay attention to any compiler warnings.  They are there for a reason!  You should be able to eventually get your code to produce no warnings.  Often if a piece of code is not working, the warnings will give a clue as to why.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
This course is (partially) &amp;quot;flipped&amp;quot;:  you watch video lectures and do readings in advance of class, and during class, you should have plenty of opportunity for questions and interaction with the instructors and TAs as you work on assignments.  The purpose of this is to try to maximize the value of the class time.  In a typical lecture, 80% of the material is the same every time it is given, and the other 20% is interactive and variable based on student questions.  In a flipped class, we hope to flip this percentage, to better tailor the class to student needs.  You will have time with the instructors while your brains are actually on and working on the material (not just scribbling notes), the times when you are most likely to have questions.  Making the video lectures available should also allow you to spend more or less time on the lecture portion, depending on your prior background.  If the material is difficult for you, you can pause or rewind.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Please keep track of any questions you have as you watch the videos!&amp;#039;&amp;#039;&amp;#039; Bring these questions to class; it will make for a livelier classroom.  &lt;br /&gt;
&lt;br /&gt;
All videos can be found at this page:  [[NU32 Videos|&amp;#039;&amp;#039;&amp;#039;NU32 Videos&amp;#039;&amp;#039;&amp;#039;]] and sample code at the bottom of [[NU32 Software|&amp;#039;&amp;#039;&amp;#039;NU32 Software&amp;#039;&amp;#039;&amp;#039;]].  We will cover almost all of the Appendix, a Crash Course in C, in the first 1.5 weeks of class, so you can work ahead and do all the readings, watch all the videos, and do all the problems, if you have time over the break.  But at a minimum, you must do the winter break assignment.  &lt;br /&gt;
&lt;br /&gt;
We will have video lecture comprehension questions (L-comps) due before every class, assignments due every Tuesday, and quizzes every Thursday (on the material covered in the assignment turned in on Thursday).  L-comps and assignments are turned in using Canvas before 11 AM the day of the class.  The weekly rhythm will be:&lt;br /&gt;
&lt;br /&gt;
* before Thursday:  turn in assignment on material from previous week and L-comps on videos for the next class&lt;br /&gt;
* Thursday in class:  discuss assignment, brief recap and Q&amp;amp;A on new videos, start on next assignment&lt;br /&gt;
* before Tuesday:  turn in L-comps on videos for next class&lt;br /&gt;
* Tuesday in class:  brief quiz on material in assignment turned in on Thursday, recap and discuss videos, continue with assignment&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Winter Break&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Reading due for first class&amp;#039;&amp;#039;&amp;#039;:  pages 515-527 in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]]&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:  1-7 of Appendix A [[NU32 Videos]].  Answer the lecture comprehension (L-comp) questions in CANVAS. &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment&amp;#039;&amp;#039;&amp;#039;:  Exercises 1-4, 6-8, 10-11, 16-17 of Appendix A.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;:  Make a video of your HelloWorld.c program and upload to CANVAS.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 1&amp;#039;&amp;#039;&amp;#039; (Th 1/5)  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment due&amp;#039;&amp;#039;&amp;#039;:  L-comp and exercise solutions, and demo video, for the Winter Break assignment by 11am on CANVAS.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/6cFSmm6eX6w https://youtu.be/P9v-AxwCvHc https://youtu.be/BgNt20-Ivfw https://youtu.be/EvIfmEzMXqs&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture&amp;#039;&amp;#039;&amp;#039;: Crash Course in C&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Begin next assignment:&amp;#039;&amp;#039;&amp;#039;  Appendix A exercises 18-19, 21-22, 27-28, 30-32, 34-35.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;: Exercise 34 and 35.&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps: 8-16 of a Crash Course in C. &lt;br /&gt;
: Reading:  Through page 562 of a Crash Course in C, and the rest of the Appendix as reference.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 2&amp;#039;&amp;#039;&amp;#039; (Tu 1/10)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Answer L-comps &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/PcREfvXxJQE https://youtu.be/fMmT7FyACMI https://youtu.be/6L7qcu_-I_Q https://youtu.be/r2a4Lg2p0to&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture&amp;#039;&amp;#039;&amp;#039;: Crash Course in C&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Continue assignment&amp;#039;&amp;#039;&amp;#039;   &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  17 of a Crash Course in C.&lt;br /&gt;
: Reading:  Rest of a Crash Course in C as reference&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 3&amp;#039;&amp;#039;&amp;#039; (Th 1/12)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Turn in assignment, L-comps, and demo videos.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Review for the Quiz&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from previous years&amp;#039;&amp;#039;&amp;#039; https://youtu.be/I5wguSQcEiw https://youtu.be/LbuoWj5BM3Q&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Reading:  Complete Chapter 1 (quickstart) and Chapter 2.  &lt;br /&gt;
: Assignment:  Problems 3-16 of Chapter 2.  You will need the [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]] and the [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]].&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Study.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 4&amp;#039;&amp;#039;&amp;#039; (Tu 1/17)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz review on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz:&amp;#039;&amp;#039;&amp;#039; At home, on C, posted on Canvas at 3pm, due by Fri 6pm &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (no L-comps):  Chapter 1 (for your specific OS)&lt;br /&gt;
: Reading:  Chapter 1: Quickstart&lt;br /&gt;
: Download, install, and compile all software as indicated through the end of Chapter 1.3. See [[NU32 Software | NU32 Software]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 5&amp;#039;&amp;#039;&amp;#039; (T 1/18)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Homework for Chapter 2&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;In class demonstration&amp;#039;&amp;#039;&amp;#039;: Compile helloWorld and talkingPIC for NU32.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: Go over PIC32 software&amp;#039;&amp;#039;&amp;#039; - https://youtu.be/0mG7hlwUduA  https://youtu.be/ZGzbVhb_sdU&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 1,3,7,8,9&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps): 1-4 from Chapter 2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 6&amp;#039;&amp;#039;&amp;#039; (Th 1/20)&lt;br /&gt;
: Turn in Chapter 2 L-comps&lt;br /&gt;
: Quiz on Chapter 1&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/0R-aj6XtJLE https://youtu.be/NEICsIIprKU &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 3. &lt;br /&gt;
: Reading:  Complete Chapter 3.&lt;br /&gt;
: Homework for Chapters 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 7&amp;#039;&amp;#039;&amp;#039; (T 1/25)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Turn in Homework from Chapter 2, L-comps for Chapter 3 videos, read Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/CyGwEoNJdS4 https://youtu.be/5LyWPeLY7yU https://youtu.be/UXNOx6Z1Q9w&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 4. &lt;br /&gt;
: Reading:  Complete Chapter 4.&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 8&amp;#039;&amp;#039;&amp;#039; (Th 1/27)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Chapter 4 L-comp.&lt;br /&gt;
: Quiz on Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/16_lVr_k7R0  https://youtu.be/HoNKp8MNGOw  &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 9&amp;#039;&amp;#039;&amp;#039; (T 2/1)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 3 and 4 homework&lt;br /&gt;
: Videos and L-comps on Chapter 5 &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 5:&lt;br /&gt;
: Homework: Chapter 5 (use no optimization for all exercises): Exercises 3, 4.  Chapter 6:  Exercises 1, 4, 5, 8, 9, 16,17. Make a demo video for 6.17&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 10&amp;#039;&amp;#039;&amp;#039; (Th 2/3)&lt;br /&gt;
: Quiz on Chapter 4&lt;br /&gt;
: Videos and L-comps on Chapter 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 6: https://youtu.be/YhmynLK8dTY https://youtu.be/kJ2rvqyuQzM https://youtu.be/JGBWpj5yNfY &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 11&amp;#039;&amp;#039;&amp;#039; (T 2/8)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 5 and 6 homework&lt;br /&gt;
: Videos and L-comps on Chapters 7 and 8&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos: &amp;#039;&amp;#039; On Chapter 7 &amp;amp; 8: https://youtu.be/04C3QZ7JTMs  https://youtu.be/b3aOIfClECE&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Chapter 7: Exercises 1,2. Chapter 8: Exercise 1. Chapter 9: Exercise 1. Chapter 10: Exercise 1,2.&lt;br /&gt;
: The next assignment is related, do Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Th 2/10)&lt;br /&gt;
: Quiz on Chapter 5 and 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos:&amp;#039;&amp;#039;&amp;#039; On Chapter 9, 10 &amp;amp; 11: 9, 10, https://youtu.be/Eqip-9y3mCc &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (T 2/15)&lt;br /&gt;
: Due: Homework from Chapter 7, 8, 9, 10, and the first half of Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 7 8 9 10 homework&lt;br /&gt;
: Assignment: Chapter 24 project. Create solutions for Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2, 24.5, 24.7, and 24.8.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Th 2/17)&lt;br /&gt;
: Quiz on Chapter 7 8 9 10 11&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (T 2/22)&lt;br /&gt;
: Due: Homework from Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 24 homework&lt;br /&gt;
: Assignment: First half of Chapter 28: Chapter 28 through 28.4.1. Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 2/24)&lt;br /&gt;
: Quiz on Chapter 23&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (T 3/1)&lt;br /&gt;
: Due: First half of Chapter 28, up to 28.4.9&lt;br /&gt;
: Assignment: Complete Chapter 28: 28.4.10 #5, 28.4.12 #5.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Th 3/3)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos:&amp;#039;&amp;#039;&amp;#039; https://youtu.be/eoszZpwqNgY https://youtu.be/cz9ckQUsvH8 https://youtu.be/I--miZscPxc https://youtu.be/x5bSqBKPn1U&lt;br /&gt;
: Quiz on Chapter 25 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (T 3/8)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 20&amp;#039;&amp;#039;&amp;#039; (T 3/10)&lt;br /&gt;
: Quiz on Chapter 25 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Assignment&amp;#039;&amp;#039;&amp;#039; Due by Thur 3/16 at noon&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: Sign up for a 5 minute time slot to demo your final project: TBD&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1reEmJ7B2UCTsKIef9iCSJKDipg_J4DuTVHDbNA6Ls-0/edit?usp=sharing googledoc]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Do I need to know the C language to take this course?&lt;br /&gt;
&lt;br /&gt;
A: No. But if you already know C, there is still plenty else in this course for you. If you already know C, know how to use microcontrollers for real-time control, and have a good understanding how common sensors and actuators work and how to interface to them, this course may not be for you. Consider taking ME 433 Advanced Mechatronics in the spring quarter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: Is there an independent project?&lt;br /&gt;
&lt;br /&gt;
A: There is no large independent project. There will be a two-week project at the end of the course, but there will be no machining. For a more significant project, take ME 433 Advanced Mechatronics, offered in the spring quarter. ME 333 is good preparation for ME 433.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: What kind of laptop do I need?&lt;br /&gt;
&lt;br /&gt;
A: You need a laptop with at least 2 USB ports.  Any operating system is fine.&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics&amp;diff=26358</id>
		<title>ME 333 Introduction to Mechatronics</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics&amp;diff=26358"/>
		<updated>2022-12-27T20:42:54Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: moved ME 333 Introduction to Mechatronics to ME 333 Introduction to Mechatronics (Archive Winter 2022)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[ME 333 Introduction to Mechatronics (Archive Winter 2022)]]&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics_(Archive_Winter_2022)&amp;diff=26357</id>
		<title>ME 333 Introduction to Mechatronics (Archive Winter 2022)</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics_(Archive_Winter_2022)&amp;diff=26357"/>
		<updated>2022-12-27T20:42:54Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: moved ME 333 Introduction to Mechatronics to ME 333 Introduction to Mechatronics (Archive Winter 2022)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Winter Quarter 2022&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;First day of class is Tuesday January 4.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Section 20:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 11:00-12:20, Tech A110 starting 1/18&lt;br /&gt;
* Section 21:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 12:30-1:50, Francis Searle 2407 1/18&lt;br /&gt;
* TAs:  &lt;br /&gt;
** Tito Fernandez&lt;br /&gt;
** Huan Weng&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Final demo&amp;#039;&amp;#039;&amp;#039; (in lieu of final exam):  Monday Mar 14 3-5 PM (12:30-1:50 section) and Wednesday Mar 16 9-11 AM (11-12:20 section)&lt;br /&gt;
* Office Hours: &lt;br /&gt;
** Tito: Monday 1-2:30pm&lt;br /&gt;
** Huan: Wednesday 2-4pm in Ford B100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--in Ford B100:  &lt;br /&gt;
** TuWThF 4-5pm with Prof. Marchuk in Ford B100, or by appt --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Quick links:&lt;br /&gt;
** [http://www.it.northwestern.edu/education/login.html Canvas Course Management System]&lt;br /&gt;
** [[NU32 Videos|NU32 Videos]]&lt;br /&gt;
** [[NU32 Software|NU32 Software]]&lt;br /&gt;
** [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form Report a typo or bug in the book]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Purpose of this Course ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this course is to &amp;#039;&amp;#039;&amp;#039;provide tools that help you express your creativity&amp;#039;&amp;#039;&amp;#039;.  Maybe you want to build a robot, or a piece of kinetic art, or an automatic ball-throwing device to entertain your dog; maybe you&amp;#039;ve identified a market for a new smart product and you&amp;#039;d like to prototype the device.  This course provides fundamentals of mechatronics to give you confidence to take on these projects.  You are encouraged to take what you learn in this course and apply it in ME 433 Advanced Mechatronics, DSGN 360 Design Competition, senior design projects, or independent projects.&lt;br /&gt;
&lt;br /&gt;
== Approximate Syllabus ==&lt;br /&gt;
&lt;br /&gt;
This course is for students who want to build microprocessor-controlled electromechanical devices.  &lt;br /&gt;
&lt;br /&gt;
To do this, ME 333 focuses on three topics: (1) general C programming; (2) Microchip PIC microcontroller architecture and C programming specific to the PIC (e.g., using the PIC&amp;#039;s peripherals, such as analog inputs, digital I/O, counters/timers, comm ports, etc.); and (3) interfacing the PIC to sensors and actuators, some theory of sensor and actuator operation, and interface circuitry and signal processing. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;You will do a lot of programming in this course!&amp;#039;&amp;#039;&amp;#039;  If you are certain you hate programming, then this is not the course for you.  But knowing how to program is very useful for any modern engineer.  The language we will use is C, a fairly low-level language that works well for microcontrollers, which is more portable and not nearly as painful and low-level as assembly language.  If you don&amp;#039;t know C, that&amp;#039;s not a problem, most students don&amp;#039;t before taking ME 333; but you should plan to learn it, and rather quickly.  You will have all the materials you need to start learning C before class starts, and &amp;#039;&amp;#039;&amp;#039;the first assignment on C is due on the first day of class&amp;#039;&amp;#039;&amp;#039;!  The reason:  even though we start out with C, that&amp;#039;s not the main goal of this course.  The main goal is to teach you about microcontrollers and mechatronics.  Plus some students already have C background.&lt;br /&gt;
&lt;br /&gt;
You will bring your laptop to each class.  As the quarter progresses, we will be handing out other equipment that you will need to bring to class, such as the NU32 development board that breaks out the [http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC32MX795F512H PIC32MX795F512H] microcontroller.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;It is essential you do the assigned reading and watch the videos in advance of class.&amp;#039;&amp;#039;&amp;#039;  You will have an assignment and/or lecture comprehension questions (L-comps) due before every class, turned in electronically on Canvas.  (This includes the very first day of class!)  Once a week we will have a short quiz.  Most classes will have a combination of a brief review, Q&amp;amp;A, and working individually or in small groups on problems while the instructors help answer any questions.&lt;br /&gt;
&lt;br /&gt;
Topics we will cover, time depending, include:&lt;br /&gt;
&lt;br /&gt;
* introduction to C programming&lt;br /&gt;
* introduction to the PIC32 hardware, and programming the PIC32 in C&lt;br /&gt;
* digital I/O&lt;br /&gt;
* counters/timers and interrupts&lt;br /&gt;
* analog input&lt;br /&gt;
* sensor smorgasbord&lt;br /&gt;
* digital signal processing:  filters and FFTs&lt;br /&gt;
* analog output and pulse-width modulation&lt;br /&gt;
* brushed permanent magnet DC motors:  theory and control&lt;br /&gt;
* stepper motors and RC servo motors&lt;br /&gt;
* communication by SPI, I2C, and RS-232&lt;br /&gt;
&lt;br /&gt;
== Checklist to Complete Before the First Day of Class ==&lt;br /&gt;
&lt;br /&gt;
By the first day of class, you should:&lt;br /&gt;
&lt;br /&gt;
* Complete the reading and assignment 1, which is &amp;#039;&amp;#039;&amp;#039;due the first day of class!&amp;#039;&amp;#039;&amp;#039;  The first assignments are designed to get you up to speed on the C programming language, which we will use throughout the course.&lt;br /&gt;
* Have a laptop with at least 2 USB A-style ports.  Any operating system is fine.  One port will be used to program and communicate with your PIC microcontroller, and the other will be used for your portable oscilloscope.  &lt;br /&gt;
* Be prepared to buy your class kit, consisting of the portable nScope oscilloscope, the NU32 PIC32 development board, and lots of other goodies.  Price $125 if you are starting from scratch; $75 if you already have the nScope. &lt;br /&gt;
&amp;lt;!--  &lt;br /&gt;
 * Buy your class kit [http://it.mccormick.northwestern.edu/matlab/student_license/login.php &amp;#039;&amp;#039;&amp;#039;here&amp;#039;&amp;#039;&amp;#039;].  If you already have the oscilloscope and multimeter from this year&amp;#039;s ME 233 offering, you should choose &amp;quot;ME 333 (nScope not needed ($75))&amp;quot; for the price of $75.  If you do not have the oscilloscope and multimeter, you should choose &amp;quot;ME 333 (including nScope ($125))&amp;quot; for the price of $125.  You will not be able to start the course until you have completed the purchase of your kit.  If you decide to drop the course, you will be refunded the purchase price upon return of all the equipment in working shape. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Student Contract ==&lt;br /&gt;
&lt;br /&gt;
By signing up for this course, you agree to complete the checklist above before the course starts.  You agree to stay engaged during the class period; even if your computer is open, no facebook or other distractions that will lessen your contribution to the class.  You understand that learning from classmates, and helping classmates, is encouraged, up to the stage of conceptualizing solutions.  You are not allowed to fully complete a solution in a team.  You understand that plagiarism is not tolerated.  You will report instances of plagiarism you are aware of.  Plagiarism includes, but is not limited to:&lt;br /&gt;
&lt;br /&gt;
* Allowing another student to copy your work.&lt;br /&gt;
* Copying another student&amp;#039;s work, in whole or in part.&lt;br /&gt;
* Transforming copied sections of code or solutions to try to disguise their origin.&lt;br /&gt;
* Borrowing code or solutions from others not in the course, e.g., code found on the internet, without attribution.  Borrowing code found on the internet is acceptable if the source is clearly indicated in your code comments, and if you understand how the code works.&lt;br /&gt;
&lt;br /&gt;
On our part (faculty and TAs), we commit to do our best to provide you a curriculum and set of experimental materials to get you up to speed on sophisticated mechatronics integration as quickly and efficiently as possible, while giving you a foundation in concepts needed to go further in future projects and courses.&lt;br /&gt;
&lt;br /&gt;
== Prerequisite ==&lt;br /&gt;
&lt;br /&gt;
ME 233 Electronics Design or similar (EECS 221, 225, BME 305 (pre-2020) or BME 308 (post-2020)) is required. You will be expected to analyze circuits with resistors, capacitors, inductors, diodes, transistors, and op-amps. You can find refresher material and a sample quiz at [[ME_333_Circuits_Review_Material|this page]] and in Appendix B of the book.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
&lt;br /&gt;
Required:&lt;br /&gt;
&lt;br /&gt;
* Textbook: &amp;quot;Embedded Computing and Mechatronics with the PIC32 Microcontroller&amp;quot; ([http://www.amazon.com/gp/product/0124201652/ Amazon], [http://store.elsevier.com/product.jsp?isbn=9780124201651 Elsevier]).  Sample chapters, including the appendix &amp;quot;A Crash Course in C&amp;quot; can be found in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]].  &lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;A pdf of the textbook is included in the class kit, you do not need to buy it online or at the bookstore!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Optional:  [[Media:EssentialC.pdf|Essential C]] is also a very nice intro to C.  Let us know about other online C resources you find particularly useful.&lt;br /&gt;
* [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]]&lt;br /&gt;
* [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]]&lt;br /&gt;
&lt;br /&gt;
Find a typo in the book or a bug in the code? Report it [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form here]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Useful, but not required:&lt;br /&gt;
* [http://www.amazon.com/Programming-32-bit-Microcontrollers-Exploring-Technology/dp/0750687096/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1294091438&amp;amp;sr=8-1-spell Programming 32-bit Microcontrollers in C:  Exploring the PIC32] by Lucio Di Jasio.  This is an easy to read and informative exploration of the PIC32.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Other C resources, such as this [[Media:CBook.pdf|pdf version]] of &amp;quot;The C Book,&amp;quot; and the classic [http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1294091625&amp;amp;sr=1-1 C Programming Language] reference book by Kernighan and Ritchie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
Grades will be approximately 40% quizzes and 60% assignments and L-comps (including the final project).  We will have short quizzes once a week at the beginning of class covering material on the previous assignment. We will have a final project and demo in lieu of a final exam.&lt;br /&gt;
&lt;br /&gt;
All quizzes, assignments, and L-comps have equal weight, regardless of how many points they are graded out of.  If one assignment is graded out of 20 points, and the next out of 40, the formula for calculating your total grade for these two assignments would be 0.5*(score1/20) + 0.5*(score2/40).&lt;br /&gt;
&lt;br /&gt;
== Homework Submission ==&lt;br /&gt;
&lt;br /&gt;
All homework will be submitted using the [http://www.it.northwestern.edu/education/login.html Canvas Course Management System].  Homework should be submitted by 11 AM on the day it is due (i.e., before the first section of the day).  Late homework will not be accepted.&lt;br /&gt;
&lt;br /&gt;
Here are a few guidelines/tips associated with homework submissions:&lt;br /&gt;
&lt;br /&gt;
* Upload files individually. No zip archives!&lt;br /&gt;
&lt;br /&gt;
* Submit written responses as PDFs. &lt;br /&gt;
&lt;br /&gt;
* If you upload a PDF of handwritten work, make sure that the text appears clearly and the picture is oriented portrait style. &lt;br /&gt;
&lt;br /&gt;
* When asked to submit C code for a given programming assignment, we are only concerned with receiving the relevant source files, i.e., all *.c and *.h files.   &lt;br /&gt;
&lt;br /&gt;
* When writing your responses, please follow any instructions on how to write your response.  For example, if we ask for a snippet of code, please do not submit your entire C program with header files and a main routine.  We typically are only expecting a few lines of code that solve the problem.&lt;br /&gt;
&lt;br /&gt;
* Be neat and make sure your answers are easy to follow.  Messy hard-to-follow assignments make TAs cranky, and you don&amp;#039;t want cranky TAs grading your assignment!&lt;br /&gt;
&lt;br /&gt;
* It helps both us and you if you format your code nicely.  Clean looking code is easier for us to grade and easier for you to debug.  Text editors with IDEs such as Visual Studio Code, Netbeans and MPLAB X have tools for auto-formatting code.  For example, highlighting a region and hitting Alt+Shift+f (Linux and Windows) will format that region according to your local formatting preferences.&lt;br /&gt;
&lt;br /&gt;
* When you compile your code, pay attention to any compiler warnings.  They are there for a reason!  You should be able to eventually get your code to produce no warnings.  Often if a piece of code is not working, the warnings will give a clue as to why.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
This course is (partially) &amp;quot;flipped&amp;quot;:  you watch video lectures and do readings in advance of class, and during class, you should have plenty of opportunity for questions and interaction with the instructors and TAs as you work on assignments.  The purpose of this is to try to maximize the value of the class time.  In a typical lecture, 80% of the material is the same every time it is given, and the other 20% is interactive and variable based on student questions.  In a flipped class, we hope to flip this percentage, to better tailor the class to student needs.  You will have time with the instructors while your brains are actually on and working on the material (not just scribbling notes), the times when you are most likely to have questions.  Making the video lectures available should also allow you to spend more or less time on the lecture portion, depending on your prior background.  If the material is difficult for you, you can pause or rewind.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Please keep track of any questions you have as you watch the videos!&amp;#039;&amp;#039;&amp;#039; Bring these questions to class; it will make for a livelier classroom.  &lt;br /&gt;
&lt;br /&gt;
All videos can be found at this page:  [[NU32 Videos|&amp;#039;&amp;#039;&amp;#039;NU32 Videos&amp;#039;&amp;#039;&amp;#039;]] and sample code at the bottom of [[NU32 Software|&amp;#039;&amp;#039;&amp;#039;NU32 Software&amp;#039;&amp;#039;&amp;#039;]].  We will cover almost all of the Appendix, a Crash Course in C, in the first 1.5 weeks of class, so you can work ahead and do all the readings, watch all the videos, and do all the problems, if you have time over the break.  But at a minimum, you must do the winter break assignment.  &lt;br /&gt;
&lt;br /&gt;
We will have video lecture comprehension questions (L-comps) due before every class, assignments due every Tuesday, and quizzes every Thursday (on the material covered in the assignment turned in on Thursday).  L-comps and assignments are turned in using Canvas before 11 AM the day of the class.  The weekly rhythm will be:&lt;br /&gt;
&lt;br /&gt;
* before Tuesday:  turn in assignment on material from previous week and L-comps on videos for the next class&lt;br /&gt;
* Tuesday in class:  discuss assignment, brief recap and Q&amp;amp;A on new videos, start on next assignment&lt;br /&gt;
* before Thursday:  turn in L-comps on videos for next class&lt;br /&gt;
* Thursday in class:  brief quiz on material in assignment turned in on Thursday, recap and discuss videos, continue with assignment&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Winter Break&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Reading due for first class&amp;#039;&amp;#039;&amp;#039;:  pages 515-527 in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]]&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:  1-7 of Appendix A [[NU32 Videos]].  Answer the lecture comprehension (L-comp) questions in CANVAS. &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment&amp;#039;&amp;#039;&amp;#039;:  Exercises 1-4, 6-8, 10-11, 16-17 of Appendix A.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;:  Make a video of your HelloWorld.c program and upload in CANVAS.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 1&amp;#039;&amp;#039;&amp;#039; (T 1/4)  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment due&amp;#039;&amp;#039;&amp;#039;:  L-comp and exercise solutions, and demo video, for the Winter Break assignment by 11am on CANVAS.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from last year&amp;#039;&amp;#039;&amp;#039; https://youtu.be/6cFSmm6eX6w https://youtu.be/P9v-AxwCvHc https://youtu.be/BgNt20-Ivfw https://youtu.be/EvIfmEzMXqs&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Begin next assignment:&amp;#039;&amp;#039;&amp;#039;  Appendix A exercises 18-19, 21-22, 27-28, 30-32, 34-35.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;: Exercise 34 and 35.&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps: 8-16 of a Crash Course in C. &lt;br /&gt;
: Reading:  Through page 562 of a Crash Course in C, and the rest of the Appendix as reference.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 2&amp;#039;&amp;#039;&amp;#039; (Th 1/6)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Answer L-comps &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from last year&amp;#039;&amp;#039;&amp;#039; https://youtu.be/PcREfvXxJQE https://youtu.be/fMmT7FyACMI https://youtu.be/6L7qcu_-I_Q https://youtu.be/r2a4Lg2p0to&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Continue assignment&amp;#039;&amp;#039;&amp;#039;   &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  17 of a Crash Course in C.&lt;br /&gt;
: Reading:  Rest of a Crash Course in C as reference&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 3&amp;#039;&amp;#039;&amp;#039; (T 1/11)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Turn in assignment, L-comps, and demo videos.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Review for the Quiz&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from last year&amp;#039;&amp;#039;&amp;#039; https://youtu.be/I5wguSQcEiw https://youtu.be/LbuoWj5BM3Q&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Reading:  Complete Chapter 1 (quickstart) and Chapter 2.  &lt;br /&gt;
: Assignment:  Problems 3-16 of Chapter 2.  You will need the [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]] and the [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]].&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Study.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 4&amp;#039;&amp;#039;&amp;#039; (Th 1/13)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz review on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz:&amp;#039;&amp;#039;&amp;#039; At home, on C, posted on Canvas at 3pm, due by Fri 6pm &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (no L-comps):  Chapter 1 (for your specific OS)&lt;br /&gt;
: Reading:  Chapter 1: Quickstart&lt;br /&gt;
: Download, install, and compile all software as indicated through the end of Chapter 1.3. See [[NU32 Software | NU32 Software]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 5&amp;#039;&amp;#039;&amp;#039; (T 1/18)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Homework for Chapter 2&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;In class demonstration&amp;#039;&amp;#039;&amp;#039;: Compile helloWorld and talkingPIC for NU32.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: Go over PIC32 software&amp;#039;&amp;#039;&amp;#039; - https://youtu.be/0mG7hlwUduA  https://youtu.be/ZGzbVhb_sdU&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 1,3,7,8,9&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps): 1-4 from Chapter 2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 6&amp;#039;&amp;#039;&amp;#039; (Th 1/20)&lt;br /&gt;
: Turn in Chapter 2 L-comps&lt;br /&gt;
: Quiz on Chapter 1&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/0R-aj6XtJLE https://youtu.be/NEICsIIprKU &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 3. &lt;br /&gt;
: Reading:  Complete Chapter 3.&lt;br /&gt;
: Homework for Chapters 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 7&amp;#039;&amp;#039;&amp;#039; (T 1/25)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Turn in Homework from Chapter 2, L-comps for Chapter 3 videos, read Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/CyGwEoNJdS4 https://youtu.be/5LyWPeLY7yU https://youtu.be/UXNOx6Z1Q9w&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 4. &lt;br /&gt;
: Reading:  Complete Chapter 4.&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 8&amp;#039;&amp;#039;&amp;#039; (Th 1/27)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Chapter 4 L-comp.&lt;br /&gt;
: Quiz on Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/16_lVr_k7R0  https://youtu.be/HoNKp8MNGOw  &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 9&amp;#039;&amp;#039;&amp;#039; (T 2/1)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 3 and 4 homework&lt;br /&gt;
: Videos and L-comps on Chapter 5 &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 5:&lt;br /&gt;
: Homework: Chapter 5 (use no optimization for all exercises): Exercises 3, 4.  Chapter 6:  Exercises 1, 4, 5, 8, 9, 16,17. Make a demo video for 6.17&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 10&amp;#039;&amp;#039;&amp;#039; (Th 2/3)&lt;br /&gt;
: Quiz on Chapter 4&lt;br /&gt;
: Videos and L-comps on Chapter 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 6: https://youtu.be/YhmynLK8dTY https://youtu.be/kJ2rvqyuQzM https://youtu.be/JGBWpj5yNfY &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 11&amp;#039;&amp;#039;&amp;#039; (T 2/8)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 5 and 6 homework&lt;br /&gt;
: Videos and L-comps on Chapters 7 and 8&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos: &amp;#039;&amp;#039; On Chapter 7 &amp;amp; 8: https://youtu.be/04C3QZ7JTMs  https://youtu.be/b3aOIfClECE&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Chapter 7: Exercises 1,2. Chapter 8: Exercise 1. Chapter 9: Exercise 1. Chapter 10: Exercise 1,2.&lt;br /&gt;
: The next assignment is related, do Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Th 2/10)&lt;br /&gt;
: Quiz on Chapter 5 and 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos:&amp;#039;&amp;#039;&amp;#039; On Chapter 9, 10 &amp;amp; 11: 9, 10, https://youtu.be/Eqip-9y3mCc &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (T 2/15)&lt;br /&gt;
: Due: Homework from Chapter 7, 8, 9, 10, and the first half of Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 7 8 9 10 homework&lt;br /&gt;
: Assignment: Chapter 24 project. Create solutions for Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2, 24.5, 24.7, and 24.8.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Th 2/17)&lt;br /&gt;
: Quiz on Chapter 7 8 9 10 11&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
: Pay for your equipment.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (T 2/22)&lt;br /&gt;
: Due: Homework from Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 24 homework&lt;br /&gt;
: Assignment: First half of Chapter 28: Chapter 28 through 28.4.1. Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 2/24)&lt;br /&gt;
: Quiz on Chapter 23&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (T 3/1)&lt;br /&gt;
: Due: First half of Chapter 28, up to 28.4.9&lt;br /&gt;
: Assignment: Complete Chapter 28: 28.4.10 #5, 28.4.12 #5.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Th 3/3)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos:&amp;#039;&amp;#039;&amp;#039; https://youtu.be/eoszZpwqNgY https://youtu.be/cz9ckQUsvH8 https://youtu.be/I--miZscPxc https://youtu.be/x5bSqBKPn1U&lt;br /&gt;
: Quiz on Chapter 25 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (T 3/8)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 20&amp;#039;&amp;#039;&amp;#039; (T 3/10)&lt;br /&gt;
: Quiz on Chapter 25 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Assignment&amp;#039;&amp;#039;&amp;#039; Due by Thur 3/16 at noon&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: Sign up for a 5 minute time slot to demo your final project: TBD&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1reEmJ7B2UCTsKIef9iCSJKDipg_J4DuTVHDbNA6Ls-0/edit?usp=sharing googledoc]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Do I need to know the C language to take this course?&lt;br /&gt;
&lt;br /&gt;
A: No. But if you already know C, there is still plenty else in this course for you. If you already know C, know how to use microcontrollers for real-time control, and have a good understanding how common sensors and actuators work and how to interface to them, this course may not be for you. Consider taking ME 433 Advanced Mechatronics in the spring quarter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: Is there an independent project?&lt;br /&gt;
&lt;br /&gt;
A: There is no large independent project. There will be a two-week project at the end of the course, but there will be no machining. For a more significant project, take ME 433 Advanced Mechatronics, offered in the spring quarter. ME 333 is good preparation for ME 433.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: What kind of laptop do I need?&lt;br /&gt;
&lt;br /&gt;
A: You need a laptop with at least 2 USB ports.  Any operating system is fine.&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:KOtaVsYKa0.pdf&amp;diff=26341</id>
		<title>File:KOtaVsYKa0.pdf</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:KOtaVsYKa0.pdf&amp;diff=26341"/>
		<updated>2022-10-22T15:53:01Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:KHONFi4jAM.pdf&amp;diff=26340</id>
		<title>File:KHONFi4jAM.pdf</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:KHONFi4jAM.pdf&amp;diff=26340"/>
		<updated>2022-10-22T15:53:00Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:K6qzyYOWmW.pdf&amp;diff=26339</id>
		<title>File:K6qzyYOWmW.pdf</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:K6qzyYOWmW.pdf&amp;diff=26339"/>
		<updated>2022-10-22T15:52:59Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:JVEEhlznPo.pdf&amp;diff=26338</id>
		<title>File:JVEEhlznPo.pdf</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:JVEEhlznPo.pdf&amp;diff=26338"/>
		<updated>2022-10-22T15:52:58Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:IV5TBTy6xN.pdf&amp;diff=26337</id>
		<title>File:IV5TBTy6xN.pdf</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:IV5TBTy6xN.pdf&amp;diff=26337"/>
		<updated>2022-10-22T15:52:56Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:IMn5LDZcb.pdf&amp;diff=26336</id>
		<title>File:IMn5LDZcb.pdf</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:IMn5LDZcb.pdf&amp;diff=26336"/>
		<updated>2022-10-22T15:52:55Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:IMjurboSX9.pdf&amp;diff=26335</id>
		<title>File:IMjurboSX9.pdf</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:IMjurboSX9.pdf&amp;diff=26335"/>
		<updated>2022-10-22T15:52:54Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:IHZ7KO7zz.pdf&amp;diff=26334</id>
		<title>File:IHZ7KO7zz.pdf</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:IHZ7KO7zz.pdf&amp;diff=26334"/>
		<updated>2022-10-22T15:52:52Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:IfdCvbFgh.pdf&amp;diff=26333</id>
		<title>File:IfdCvbFgh.pdf</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:IfdCvbFgh.pdf&amp;diff=26333"/>
		<updated>2022-10-22T15:52:51Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:IdYC8MpqX.pdf&amp;diff=26332</id>
		<title>File:IdYC8MpqX.pdf</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:IdYC8MpqX.pdf&amp;diff=26332"/>
		<updated>2022-10-22T15:52:50Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:Ic3ad7nItp.pdf&amp;diff=26331</id>
		<title>File:Ic3ad7nItp.pdf</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:Ic3ad7nItp.pdf&amp;diff=26331"/>
		<updated>2022-10-22T15:52:49Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:IaDdfwHBoJ.pdf&amp;diff=26330</id>
		<title>File:IaDdfwHBoJ.pdf</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:IaDdfwHBoJ.pdf&amp;diff=26330"/>
		<updated>2022-10-22T15:52:48Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:CvpVLxkQd8BBhks.pdf&amp;diff=26329</id>
		<title>File:CvpVLxkQd8BBhks.pdf</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:CvpVLxkQd8BBhks.pdf&amp;diff=26329"/>
		<updated>2022-10-22T15:52:47Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:CVFmlg87VLyixFM.pdf&amp;diff=26328</id>
		<title>File:CVFmlg87VLyixFM.pdf</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:CVFmlg87VLyixFM.pdf&amp;diff=26328"/>
		<updated>2022-10-22T15:52:46Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:Cve3REyoNxvGL8H.pdf&amp;diff=26327</id>
		<title>File:Cve3REyoNxvGL8H.pdf</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:Cve3REyoNxvGL8H.pdf&amp;diff=26327"/>
		<updated>2022-10-22T15:52:45Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:CTEsfgKUKn8j6SS.pdf&amp;diff=26326</id>
		<title>File:CTEsfgKUKn8j6SS.pdf</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:CTEsfgKUKn8j6SS.pdf&amp;diff=26326"/>
		<updated>2022-10-22T15:52:43Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:3SogK5Aci.pdf&amp;diff=26325</id>
		<title>File:3SogK5Aci.pdf</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:3SogK5Aci.pdf&amp;diff=26325"/>
		<updated>2022-10-22T15:52:41Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:3S65S8snZ.pdf&amp;diff=26324</id>
		<title>File:3S65S8snZ.pdf</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:3S65S8snZ.pdf&amp;diff=26324"/>
		<updated>2022-10-22T15:52:40Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:3cxcoebLq.pdf&amp;diff=26323</id>
		<title>File:3cxcoebLq.pdf</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:3cxcoebLq.pdf&amp;diff=26323"/>
		<updated>2022-10-22T15:52:37Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:2WWKAxVjR.pdf&amp;diff=26322</id>
		<title>File:2WWKAxVjR.pdf</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:2WWKAxVjR.pdf&amp;diff=26322"/>
		<updated>2022-10-22T15:51:30Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:A11.pdf&amp;diff=26321</id>
		<title>File:A11.pdf</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:A11.pdf&amp;diff=26321"/>
		<updated>2022-10-22T15:43:45Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Northwestern_Design_Competition&amp;diff=26278</id>
		<title>Northwestern Design Competition</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Northwestern_Design_Competition&amp;diff=26278"/>
		<updated>2022-04-28T23:01:07Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://sites.google.com/site/dcnuinfo/ Official Website for DC (including the rules of the game)]&lt;br /&gt;
&lt;br /&gt;
==DC2022==&lt;br /&gt;
* [https://sites.google.com/site/dcnuinfo/2022-competition-rules Rules for 2022]&lt;br /&gt;
* [[File:DC2022_arena.png|300px]]&lt;br /&gt;
* [https://docs.google.com/document/d/19CDSv24-iL6sQEPk23IntHzJ62CeN_h5s8g_O9VBCxY/edit?usp=sharing Link to google doc instructions]&lt;br /&gt;
&lt;br /&gt;
==DC2020==&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/document/d/10vbqSass9Q4EwrzKbiaRp0NKIJUN1RRLcr8fXFYhWYo/edit?usp=sharing Link to google doc instructions]&lt;br /&gt;
&lt;br /&gt;
==DC2019==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Thursday 5/9/19&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Example Teensy 3.2 code, reads position from two Vive sensors: [[Media:dc2019_teensy_vive.ino | here]]&lt;br /&gt;
*** Vive sensors got to pins 11 and 19. &lt;br /&gt;
** Example ESP32 code, receives position code from Teensy: [[Media:dc2019_esp32_vive.ino | here]]&lt;br /&gt;
*** ESP RX pin goes to Teensy pin 8, ESP TX pin goes to Teensy pin 7&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Thursday 5/2/19&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Competition arena:&lt;br /&gt;
[[File:DC2019_arena.png|300px]]&lt;br /&gt;
** Barriers must be placed in the purple squares&lt;br /&gt;
** Ships can be placed at any location&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tuesday 4/16/19&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Get a [https://www.pololu.com/product/2961 MAX14870 Pololu motor driver] and solder the header pins so that the text side faces up&lt;br /&gt;
** Get a [https://www.pololu.com/product/3043 12V 160rpm Pololu N20 motor]&lt;br /&gt;
** Solder &amp;#039;&amp;#039;&amp;#039;28 gauge stranded wire&amp;#039;&amp;#039;&amp;#039; to the motor terminals. &amp;#039;&amp;#039;&amp;#039;DO NOT USE SOLID CORE WIRE, THE TABS WILL BREAK OFF&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Try this sample code to run the motor in both directions: [[Media:dc2019_esp32_pwm.ino | dc2019_esp32_pwm.ino]]&lt;br /&gt;
*** The motor is connected to M1 and M2&lt;br /&gt;
*** Both GND pins go to GND&lt;br /&gt;
*** VIN can go t the ESP32 USB pin (5V). Later this will be 12V from a battery&lt;br /&gt;
*** PWM goes to 14 in the sample code, but this can be changed to any pin&lt;br /&gt;
*** DIR does to 32 in the sample code, but this can be changed to any pin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tuesday 4/9/19&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Get a [https://www.adafruit.com/product/3405?gclid=CjwKCAjwhbHlBRAMEiwAoDA3406yot4JUOpQRyfZo-j31kbjLpQNH8ZtqxRJY5qz51xaGbn4um-VRBoC1C4QAvD_BwE ESP32 Feather], breadboard, and USB cable. Run the sample code from 3/14&lt;br /&gt;
** Build a simple retroreflective tape sensor: &lt;br /&gt;
[[File:dc2019_simple_retroreflective_sensor.png]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Thursday 4/4/19&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** [https://sites.google.com/site/dcnuinfo/2019-competition-rules Competition rules]&lt;br /&gt;
** [https://docs.google.com/spreadsheets/d/1wL4jkZFC5ykPM817-85twrntaJ1v8eXz8ZzvYTZZVB4/edit?usp=sharing Enter your team here]&lt;br /&gt;
** [https://docs.google.com/document/d/190IQkECB7-QzemgUd3-PhDiczV75WIe8uKVIsWdrt9M/edit?usp=sharing Copy the build log from here] and share it with Nick&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Thursday 3/14/19&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Example ESP32 code, using the [https://www.adafruit.com/product/3405?gclid=CjwKCAjwhbHlBRAMEiwAoDA3406yot4JUOpQRyfZo-j31kbjLpQNH8ZtqxRJY5qz51xaGbn4um-VRBoC1C4QAvD_BwE ESP32 Feather]: [[Media:dc2019_example_streaming.ino | here]]&lt;br /&gt;
** Example python code, using [https://codewith.mu/ Mu]: [[Media:dc2019_example_streaming.txt | here]]&lt;br /&gt;
&lt;br /&gt;
==DC2018==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tuesday 5/8/18&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** The initial example code is [[Media:dc_2018_example.ino | here]]&lt;br /&gt;
** The example that reads two vive sensors code is [[Media:dc_2018_vive_example.ino | here]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tuesday 4/24/18, 6pm in Ford B100&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Driving motors with a 12V battery and h-bridge&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tuesday 4/17/18, 6pm in Ford B100&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Detecting retroreflective tape with a laser pointer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tuesday 4/10/18, 6pm in Ford B100&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Laser cutting and 3d printing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Friday 4/6/18&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Competition arena:&lt;br /&gt;
[[File:DC2018_arena.png|300px]]&lt;br /&gt;
** The objects are 2&amp;quot; steel cubes and 3.5&amp;quot; diameter 2&amp;quot; tall steel cylinders&lt;br /&gt;
** There are 12 of each object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Thursday 2/15/18&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** The sample code for the amazon robot kit is [[Media:dc2018_amazon_sample.ino | here]]&lt;br /&gt;
** The pcb design for the amazon robot kit is [[Media:dc2018_amazon_pcb.zip | here]]&lt;br /&gt;
&lt;br /&gt;
==DC2017==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Saturday, 5/7/17&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** The vive code on the hunter robot is [[Media:vive_hunter.ino | here]]&lt;br /&gt;
** The vive code on the hunted robot is [[Media:vive_hunted.ino | here]]&lt;br /&gt;
** The circuit for the hunter robot looks like [[File:DC2017_vive_xbee.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Thursday, 3/30/17, 6pm in Ford B100&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** The hunter robot is about 12&amp;quot; in diameter, 6&amp;quot; high, covered in retroreflective tape&lt;br /&gt;
** The microcontroller is the Teensy 3.5&lt;br /&gt;
** The motor driver is the Pololu MAX14870 Single Brushed DC Motor Driver Carrier&lt;br /&gt;
** The voltage regulator is the Pololu 5V Step-Up/Step-Down S10V4F5&lt;br /&gt;
** Use a 100 ohm resistor in series with the laser to prevent dimming and burnouts&lt;br /&gt;
** To read the phototransistor, turn off the laser, read the voltage, turn on the laser, read the voltage, and if the voltage has changed a lot, you are looking at a retroreflective object&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Thursday, 2/23/17, 6pm in Ford B100&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Introduction to the competition rules&lt;br /&gt;
** Demo of the remote controlled robot&lt;br /&gt;
** How to design a DC robot&lt;br /&gt;
** Sensors review: laser scanner&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Winter Kickoff Meeting&amp;#039;&amp;#039;&amp;#039; 1/26/2017, 6-7pm, in Tech M152&lt;br /&gt;
** Review the [https://sites.google.com/site/dcnuinfo/2017-competition-rules Competition Rules]&lt;br /&gt;
** Teambuilding exercise&lt;br /&gt;
** Pizza!&lt;br /&gt;
&lt;br /&gt;
==DC2016==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Winter Kickoff Meeting&amp;#039;&amp;#039;&amp;#039; 1/8/2016, 6-8pm, in Tech M152&lt;br /&gt;
** Review the [https://sites.google.com/site/dcnuinfo/2016-competition-rules Competition Rules]&lt;br /&gt;
** Teambuilding exercise&lt;br /&gt;
** Pizza!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 1&amp;#039;&amp;#039;&amp;#039; Due Thur, 1/21/2016, 6pm in Ford B100&lt;br /&gt;
** CAD&lt;br /&gt;
*** You can use NX, Solidworks (installed on the computers in B100), or sign up for [https://www.onshape.com/ OnShape], a free, browser based CAD program.&lt;br /&gt;
*** I&amp;#039;ll assume you are using OnShape, since there is no installation necessary. Check out their online tutorial videos:&lt;br /&gt;
**** Definitely watch the first 12 videos on the [https://www.onshape.com/learn/tutorials OnShape Tutorials page]&lt;br /&gt;
**** You may also want to watch [https://www.onshape.com/learn/introduction-to-cad OnShape Intro to CAD]&lt;br /&gt;
**** and [https://www.onshape.com/learn/essential-training-series OnShape Essential Training]&lt;br /&gt;
**** Use a real mouse, with scroll wheel. You can get by using your laptop trackpad, but a mouse makes things so much easier.&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Assignment:&amp;#039;&amp;#039;&amp;#039; Design a mount for an N20 size gear motor (example: [https://www.pololu.com/product/989 Pololu gearmotor mount])&lt;br /&gt;
*** If you want to follow along, you can watch how I would do it [https://www.youtube.com/watch?v=SjZh0hdmgdE here]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 2&amp;#039;&amp;#039;&amp;#039; Due Wed, 1/27/2016, 6pm in Ford B100&lt;br /&gt;
** 3D printing&lt;br /&gt;
*** Save your CAD model as a .stl file, and print it on one of the three [https://www.monoprice.com/product?p_id=11614 Monoprice 3D printers] in B100 using [https://www.simplify3d.com/ Simplify3D].&lt;br /&gt;
*** Use the standard temperature, speed, and dimension settings. The blue tape does not need to be perfect, try to print on a flat spot until all of the tape has been printed on, then replace it.&lt;br /&gt;
*** Practice loading and unloading the printer. Use the printer menu to turn on &amp;quot;Preheat&amp;quot;. When the extruder is hot, push the lever to disengage the drive motor, gently push the filament into the nozzle, then pull it out. To load, feed the new filament in until plastic starts coming out of the nozzle, as if it were a glue gun.&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Assignment:&amp;#039;&amp;#039;&amp;#039; Design and print a 1&amp;quot;x0.75&amp;quot; rectangle 0.5&amp;quot; thick, with a 0.5&amp;quot; diameter hole in the middle. Measure each dimension with calipers and note how much the size differs from your digital model, and email Nick the results.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 3&amp;#039;&amp;#039;&amp;#039; Due Thur, 2/4/2016, 6pm in Ford B100&lt;br /&gt;
** Design for Laser cutting&lt;br /&gt;
*** Our laser cutters can only make 90 degree cuts. To build something in 3D, you have to design 2D objects that fit together like puzzle pieces, using crenellation or right-angle dovetails. Rather than using glue, embed nuts and slots for screws to assemble the parts.&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Assignment:&amp;#039;&amp;#039;&amp;#039; Design 3 sides of a 2&amp;quot; cube that assemble with right-angle dovetails and 4-40 t-slots. Assemble the design in CAD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 4&amp;#039;&amp;#039;&amp;#039; Due Thur, 2/11/2016, 6pm in Ford B100&lt;br /&gt;
** Arduino coding&lt;br /&gt;
*** Pick up your [https://www.adafruit.com/product/2590 Arduino Metro Mini] or [https://www.sparkfun.com/products/13664 SAMD21 Mini] and breadboard, and [[EDI Bootcamp | solder the header pins]]&lt;br /&gt;
**** The Metro Mini is a smaller version of the Arduino UNO. There is a lot of code available for the UNO, but it is slow, with limited memory.&lt;br /&gt;
**** The SAMD21 is similar to the Arduino Zero. It is fast with lots of memory, but the sample code you find online might not always work. Install the [https://learn.sparkfun.com/tutorials/samd21-minidev-breakout-hookup-guide/hardware-setup drivers] and [https://learn.sparkfun.com/tutorials/samd21-minidev-breakout-hookup-guide/setting-up-arduino add the board profile to the Arduino IDE]. &lt;br /&gt;
*** Build a potentiometer, pushbutton, and LED circuit&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Assignment:&amp;#039;&amp;#039;&amp;#039; Write code that, when you push the button, reads the potentiometer, sends the value to the computer, and sets the LED brightness proportional to the potentiometer angle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 5: No meeting on 2/10/2016 or 2/11/2016&amp;#039;&amp;#039;&amp;#039; Due Thur, 2/18/2016, at 6pm in Ford B100&lt;br /&gt;
** Continue Arduino coding&lt;br /&gt;
*** Edit your circuit to have 1 potentiometer, 2 push buttons, and 2 LEDs (on PWM pins)&lt;br /&gt;
*** Edit your code so that:&lt;br /&gt;
**** When no buttons are pushed, both LEDs are at 75% brightness&lt;br /&gt;
**** When one button is pushed, both LEDs are at 25% for 1 second, then one LED is at 0% and the other at 100% for 1 second, then continue&lt;br /&gt;
**** When the other button is pushed, both LEDs are at 25% for 1 second, then the other LED is at 0% and the first at 100% for 1 second, then continue&lt;br /&gt;
**** If the potentiometer is ever between 3 and 4 volts, the LEDs blink alternately at 10 Hz&lt;br /&gt;
**** After 1 minute has passed, the LEDs turn off forever&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Meeting 7&amp;#039;&amp;#039;&amp;#039; Due Thur, 3/3/2016, 6pm in Ford B100&lt;br /&gt;
** Motors, motor drivers, batteries&lt;br /&gt;
*** Pick up a DC motor, hbridge, and battery pack&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Assignment:&amp;#039;&amp;#039;&amp;#039; 3D print or laser cut a mount for the motor. Write code to set the speed of the motor proportional to the potentiometer angle and match the servo angle to the potentiometer angle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Notes about equipment:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** The SAMD21 breakout board has a max input voltage of 6V. &amp;#039;&amp;#039;&amp;#039;It will burn up if you use 12V.&amp;#039;&amp;#039;&amp;#039; Use a USB battery to power the board, or wire up your own 3.3V regulator.&lt;br /&gt;
** The Metro Mini breakout board has a max input voltage of 16V, so it should be ok to power it off 12V.&lt;br /&gt;
** The h-bridge is from [https://www.pololu.com/product/2960 Pololu].&lt;br /&gt;
*** VIN is the motor voltage, between 2 and 16V (use 12V from the battery).&lt;br /&gt;
*** VCC is the logic voltage (3.3V or 5V). &amp;#039;&amp;#039;&amp;#039;Do not use 12V&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*** Wire the PWM pin to VCC, then use a PWM signal on INA to set the motor speed and a DIO pin on INB to set the motor direction.&lt;br /&gt;
** Each team gets [http://www.amazon.com/Bosch-SKC120-202L-Lithium-Ion-Batteries-L-BOXX-1/dp/B009K1H350 2 12V rechargeable lithium ion batteries and a charger]. &amp;#039;&amp;#039;&amp;#039;Shorting the battery will draw more than 10A, generating a huge spark and destroying your circuit. Be very careful!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*** Use a [http://www.mcmaster.com/#7060k25/=11dwll8 quick-disconnect terminal] to plug into the battery.&lt;br /&gt;
*** First, pull off the insulation (pull hard!) [[File:DC2016_crimp_removeInsulation.jpg|300px]]&lt;br /&gt;
*** Next, strip off some wire, so that you can crimp onto the insulation and the wire. [[File:DC2016_crimp_stripWire.jpg|300px]]&lt;br /&gt;
*** Then, crimp the back of the connector, on the insulation of the wire. [[File:DC2016_crimp_crimpBack.jpg|300px]]&lt;br /&gt;
*** Then crimp the front of the wire. [[File:DC2016_crimp_crimpFront.jpg|300px]]&lt;br /&gt;
*** This is what the compete crimp looks like: [[File:DC2016_crimp_complete.jpg|300px]]&lt;br /&gt;
*** The top of the battery is labeled with the positive and negative terminals: [[File:DC2016_crimp_batteryTop.jpg|300px]]&lt;br /&gt;
*** Make a red wire for the positive connection and a black wire for the negative, and test how well they plug in: [[File:DC2016_crimp_batteryPlug.jpg|300px]]&lt;br /&gt;
*** See if you can 3d print something to hold the red and black wires, so that it can be plugged in only one way (to prevent accidental backwards connections that will destroy your circuit).&lt;br /&gt;
&lt;br /&gt;
==DC2015==&lt;br /&gt;
Winter 2015 Schedule&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Winter Kickoff&amp;#039;&amp;#039;&amp;#039; Workshop 1 - 2/24/15, 6-8pm in Ford B100&lt;br /&gt;
** Build a DC2015 Control Board: the blue board!&lt;br /&gt;
*** [[How to solder]]&lt;br /&gt;
*** [[The brains of the operation]]&lt;br /&gt;
*** [[Building the blue board]]&lt;br /&gt;
*** [[Programming the blue board]]&lt;br /&gt;
*** [[Useful code for the blue board]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Workshop 2 - 3/3/15, 6-8pm in Ford B100&lt;br /&gt;
** Build a DC2015 Expansion board: the black board!&lt;br /&gt;
*** [[Making things move with the black board]]&lt;br /&gt;
*** [[Building the black board]]&lt;br /&gt;
*** Something about attaching to motors&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Workshop 3 - 3/10/15, 6-8pm in Ford B100&lt;br /&gt;
** Build a DC2015 Protoboard: the green board!&lt;br /&gt;
*** [[Prototyping circuits]]&lt;br /&gt;
*** [[Buttons, pots and light sensors]]&lt;br /&gt;
*** [[Sensing retroreflective blocks]]&lt;br /&gt;
*** [[Building the green board]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fall 2014 Schedule&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;NU Robotics Workshop 1 - Soldering&amp;#039;&amp;#039;&amp;#039; - 10/22/14 in Ford B100&lt;br /&gt;
** Learn how to solder&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;DC Kickoff&amp;#039;&amp;#039;&amp;#039; - Around 11/5/14&lt;br /&gt;
&lt;br /&gt;
==DC2014==&lt;br /&gt;
Winter 2014 Schedule&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kickoff&amp;#039;&amp;#039;&amp;#039; - 1/15/14, 5pm in Tech A110&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Sponsor Talk&amp;#039;&amp;#039;&amp;#039; - MISUMI&lt;br /&gt;
** Tue, 1/28/2014, 5pm, Tech M128&lt;br /&gt;
** Designing with MISUMI&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 1&amp;#039;&amp;#039;&amp;#039; - Robot simulation&lt;br /&gt;
** Thur, 1/30/2014, 5pm, Ford B100&lt;br /&gt;
** Using a simulator to test robot algorithms&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 1&amp;#039;&amp;#039;&amp;#039; - Maze solving robot&lt;br /&gt;
** Due by Wed, 2/5/2014&lt;br /&gt;
** Show off your robot code solving a maze&lt;br /&gt;
** [[Media:DC14Workshop1.pdf | Workshop1 Assignment]]&lt;br /&gt;
** [[Media:DC14Workshop1.zip | Workshop1 Files]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 2&amp;#039;&amp;#039;&amp;#039; - Makerbot and advanced robot simulation&lt;br /&gt;
** Thur, 2/6/2014, 5pm, Ford B100&lt;br /&gt;
** Using CAD and the Makerbot&lt;br /&gt;
** Better dead reckoning in simulation&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 3&amp;#039;&amp;#039;&amp;#039; - Makerbot linkages and advanced robot simulation&lt;br /&gt;
** Thur, 2/13/2014, 5pm, Ford B100&lt;br /&gt;
** Designing 4-bar linkages and printing them on the Makerbot&lt;br /&gt;
** Radar and LIDAR in simulation&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 2 and 3&amp;#039;&amp;#039;&amp;#039; - Maze solving robot and 3D printed motor mount&lt;br /&gt;
** Due by Wed, 3/5/2014&lt;br /&gt;
** Design, print and assemble a simple mechanism with the Makerbot&lt;br /&gt;
** Use sensors for wall-following&lt;br /&gt;
** [[Media:DC14Workshop2.pdf | Workshop2 Assignment]]&lt;br /&gt;
** [[Media:DC14Workshop2.zip | Workshop2 Files]]&lt;br /&gt;
** Design, print and assemble a 4-bar linkage with the Makerbot&lt;br /&gt;
** Use LIDAR for maze solving&lt;br /&gt;
** [[Media:DC14Workshop3.pdf | Workshop3 Assignment]]&lt;br /&gt;
** [[Media:DC14Workshop3.zip | Workshop3 Files]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Competition Format&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** 3 competitions: [[Media:DC14CompetitionFormat.pdf | Competition Format]]&lt;br /&gt;
** Milestone 4 Due Monday, 4/14/14, by email to Nick&lt;br /&gt;
*** Rough mechanical design of your robot. Sketches of legs and drive mechanism, description of mechanism, material list (motors, servo, bearings, etc.)&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 5&amp;#039;&amp;#039;&amp;#039; - Roland mill PCBs&lt;br /&gt;
** Wed, 4/23/2014, 4pm, Ford B100&lt;br /&gt;
** Designing printed circuit boards to be milled on the Roland CNC desktop mill&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 5&amp;#039;&amp;#039;&amp;#039; - Robot PCB&lt;br /&gt;
** Due by Fri, 4/25/2014&lt;br /&gt;
** Design, mill, solder and program a PIC32MX150 PCB for your robot&lt;br /&gt;
** [[Media:DC14Workshop5.zip | Workshop5 Files]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 6&amp;#039;&amp;#039;&amp;#039; - Robot PCB&lt;br /&gt;
** Instructions on using the PCB mill (beta) :&lt;br /&gt;
*** [[Media:DC14Workshop6.pdf | Workshop6.pdf]]&lt;br /&gt;
** Sample code for a simple line following robot using 2 DC drive motors, 3 analog inputs from IR line sensors, output to the Nokia LCD. Also included, sample code for the IR proximity range finder for the NU32, and an .stl for a range finder cap to block light from the LED hitting the sensor.&lt;br /&gt;
*** [[Media:DC14Workshop6.zip | Workshop6 Files]]&lt;br /&gt;
*** [[Media:DC14IRwallstl.zip | IR wall stl file]]&lt;br /&gt;
&lt;br /&gt;
==DC2013==&lt;br /&gt;
Spring Quarter Schedule&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 6&amp;#039;&amp;#039;&amp;#039; - H-Bridges, DC motor control, wheel sensing&lt;br /&gt;
** Wed, 4/3/2013, 6pm in mechatronics lab&lt;br /&gt;
** [[Media:workshop6.c | workshop6.c - drive a DC motor using PWM with an h-bridge and sense its position with a reflectance sensor]]&lt;br /&gt;
** [[Media:DC2013_hbridge_motors.pdf | How to use an h-bridge and a DC motor]]&lt;br /&gt;
** [[Media:encoder.docx | Encoder template]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 6&amp;#039;&amp;#039;&amp;#039; - Wheel control&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Meeting in the mechatronics lab at 6pm 4/17&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Demo due by 4/17/2013&lt;br /&gt;
** Press the USER button, and the wheel rotates 180 degrees&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 7&amp;#039;&amp;#039;&amp;#039; - Complete chassis&lt;br /&gt;
**[[Media:DC2013_3dprinting_design.pdf | How to design parts that can be 3D printed]] &lt;br /&gt;
** Demo due by 4/24/2013&lt;br /&gt;
** Demo your chassis&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 8&amp;#039;&amp;#039;&amp;#039; - Driving and sensing the world&lt;br /&gt;
** Demo due by 5/1/2013&lt;br /&gt;
** Demo your robot driving around the arena and sensing things&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 9&amp;#039;&amp;#039;&amp;#039; - Identify prey and drive towards them&lt;br /&gt;
** Demo due by 5/8/2013&lt;br /&gt;
** Demo your robot chasing Prey&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 10&amp;#039;&amp;#039;&amp;#039; - Operational robot, demo for E-Week&lt;br /&gt;
** Demo due by 5/15/2013, demo at E-Week in Tech lobby&lt;br /&gt;
** Show how your robot works&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;COMPETITION!!!!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** 5/18/2013, Noon in the machine shop&lt;br /&gt;
&lt;br /&gt;
Useful things:&lt;br /&gt;
* Arena and breakout board&lt;br /&gt;
** [[Media:DC2013breakout_eagle.zip | Breakout board EAGLE files]]&lt;br /&gt;
[[File:DC2013arena.jpg|700px]]&lt;br /&gt;
** [[Media:DC2013arena.pdf | DC2013arena.pdf]]&lt;br /&gt;
* Write-ups&lt;br /&gt;
** [[Media:DC2013milestone2.pdf | DC2013milestone2.pdf]]&lt;br /&gt;
** [[Media:DC2013milestone3.pdf | DC2013milestone3.pdf]]&lt;br /&gt;
** [[Media:DC2013_laser_cutter_design.pdf | How to design parts that can be made on the laser cutter]] &lt;br /&gt;
** [[Media:workshop5.dxf | workshop5.dxf - parts that mount the laser, sensors and servo]] for reference&lt;br /&gt;
** [[Media:DC2013_hbridge_motors.pdf | How to use an h-bridge and a DC motor]]&lt;br /&gt;
** [[Media:DC2013_3dprinting_design.pdf | How to design parts that can be 3D printed]]  &lt;br /&gt;
* Code&lt;br /&gt;
** [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]]&lt;br /&gt;
** [[Media:DC2013_Milestone2.c| DC2013_Milestone2.c]]&lt;br /&gt;
** [[Media:DC2013_milestone3.c| DC2013_milestone3.c]]&lt;br /&gt;
** [[Media:workshop5.c | workshop5.c - sweep the servo when the user button is pressed, save the data to an array]]&lt;br /&gt;
** [[Media:workshop6.c | workshop6.c - drive a DC motor using PWM with an h-bridge and sense its position with a reflectance sensor]]&lt;br /&gt;
&lt;br /&gt;
* NU32&lt;br /&gt;
** Download: MPLAB X IDE and MPLAB XC32 Compiler from [http://www.microchip.com/pagehandler/en-us/family/mplabx/#downloads http://www.microchip.com/pagehandler/en-us/family/mplabx/#downloads]&lt;br /&gt;
** Download: FTDI Drivers from [http://www.ftdichip.com/Drivers/VCP.htm http://www.ftdichip.com/Drivers/VCP.htm]&lt;br /&gt;
** Download: NU32_Utility from [[NU32:_Software_to_Install]]&lt;br /&gt;
* NU32 from 2012&lt;br /&gt;
** We have a lot of left over boards from 2012 but you have to use NU32_Utility_v5 from [[NU32:_Software_to_Install]]&lt;br /&gt;
** and [[Media:NU32_2012.c| NU32_2012.c]], [[Media:NU32_2012.h | NU32_2012.h]] instead of NU32.c and NU32.h&lt;br /&gt;
&lt;br /&gt;
Winter 2013 Schedule&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 1&amp;#039;&amp;#039;&amp;#039; - Prey robot deconstruction&lt;br /&gt;
** Tue, 1/15/2013, 6pm, Ford B100&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 1&amp;#039;&amp;#039;&amp;#039; - Prey robot -&amp;gt; Demobot&lt;br /&gt;
** Due by Wed, 1/23/2013&lt;br /&gt;
** Show off your Demobot, made from a deconstructed Prey robot &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 2&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32&lt;br /&gt;
** Begin Wed, 1/23/2013, meeting in the Mechatronics lab at 6pm&lt;br /&gt;
** How to program the PIC32 on the NU32&lt;br /&gt;
** Sample code - [[Media:NU32test.hex | NU32test.hex]], [[Media:SimplePIC.c | SimplePIC.c]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]], [[Media:talkingPIC.c | talkingPIC.c]], [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 2&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32&lt;br /&gt;
** Due by Wed, 1/30/2013&lt;br /&gt;
** Code Template: [[Media:DC2013_Milestone2.c| DC2013_Milestone2.c]], [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]]&lt;br /&gt;
** Complete the assignment here: [[Media:DC2013milestone2.pdf | DC2013milestone2.pdf]] &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 3&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32&lt;br /&gt;
** Begin Wed, 1/30/2013, meeting in the Mechatronics lab at 6pm&lt;br /&gt;
** How to program the PIC32 on the NU32, sensors and actuators, soldering&lt;br /&gt;
** Sample code - [[Media:DC2013_milestone3.c| DC2013_milestone3.c]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 3&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32, sensors and actuators&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Due by Wed, 2/6/2013&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Potentiometers, phototransistors, RC servos, ultrasonic distance sensors&lt;br /&gt;
** Complete the assignment here: [[Media:DC2013milestone3.pdf | DC2013milestone3.pdf]] &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 4&amp;#039;&amp;#039;&amp;#039; - Using the laser cutter&lt;br /&gt;
** Begin Wed, 2/6/2013&lt;br /&gt;
** [[Media:DC2013_laser_cutter_design.pdf | How to design parts that can be made on the laser cutter]] &lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 4&amp;#039;&amp;#039;&amp;#039; - Laser cutter training&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Due By Wed, 2/20/2013&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Get trained on the laser cutter&lt;br /&gt;
** Design and build a robot gripper or mechanism &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 5&amp;#039;&amp;#039;&amp;#039; - RC servo and Laser detection&lt;br /&gt;
** Begin Wed, 2/13/2013, &amp;#039;&amp;#039;&amp;#039;at 6pm in the mechatronics lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** How to use a laser to detect retroreflective tape&lt;br /&gt;
** How to buffer and analyse data&lt;br /&gt;
** Combining the laser and RC servo to make a moving sensor&lt;br /&gt;
** [[Media:workshop5.dxf | workshop5.dxf - parts that mount the laser, sensors and servo]] for reference&lt;br /&gt;
** [[Media:workshop5.c | workshop5.c - sweep the servo when the user button is pressed, save the data to an array]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 5&amp;#039;&amp;#039;&amp;#039; - Target hunting&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Due by Wed, 2/20/2013&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Mount the laser on the servo&lt;br /&gt;
** Sweep the laser, find the target, and point at it &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reading week 6/11-5, finals week 6/18-22, break 3/25-29&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==DC2012==&lt;br /&gt;
Scale arena:&lt;br /&gt;
[[Image:DC2012Arena.png|thumb|500px|Dimensions of the arena for 2012|center]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Equipment&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*NU32, USB cable, 6V power supply&lt;br /&gt;
*2 drive motors, 2 motor mounts, 2 wheels&lt;br /&gt;
*large and small RC servos&lt;br /&gt;
*red and IR lasers&lt;br /&gt;
*12&amp;quot;x24&amp;quot;x0.118&amp;quot; clear acrylic sheets&lt;br /&gt;
*AA batteries and packs&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PCB&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[Image:DC2012PCBlayout.png|thumb|500px|The PCB breakout for DC2012|center]]&lt;br /&gt;
[[Media:DC2012PCBSchematic.pdf | Schematic of PCB for 2012]]&lt;br /&gt;
&lt;br /&gt;
[[Image:DC2012SheetMetalCutter.png|thumb|500px|Use the straight cut sheet metal cutter to slice up the PCB|center]]&lt;br /&gt;
[[Image:DC2012CuttingThePCB.png|thumb|500px|Like this|center]]&lt;br /&gt;
[[Image:DC2012CutUpPCB.png|thumb|500px|So that you separate all the boards|center]]&lt;br /&gt;
[[Image:DC2012FemaleHeader.png|thumb|500px|Use female header pins to attach the NU32. The headers come is sets of 20 pins, so you will have to cut one up.|center]]&lt;br /&gt;
[[Image:DC2012LaserPCB.png|thumb|500px|Attach lasers with hot glue|center]]&lt;br /&gt;
[[Image:DC2012LEDPCB.png|thumb|500px|Note the orientation of the LED an phototransistor, they are polarized!|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Workshop 1, Wednesday 1/18 5:30-7pm Tech L221, makeup Thursday 1/19 9-11am Mechatronics Lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*How to program in MPLABX&lt;br /&gt;
*How to use the bootloader to put code on the NU32&lt;br /&gt;
*Digital output I/O (read a button and flash an LED)&lt;br /&gt;
*Analog input&lt;br /&gt;
*PWM output&lt;br /&gt;
*Sample code:[[Media:DC2012_Workshot1.zip | Sample code for Workshop 1]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 1, due by 1/27&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*If a pushbutton is pressed, read the value of a potentiometer and change the brightness of an LED to the corresponding value with PWM&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Workshop 2, Thursday 2/9 6-7pm Tech L221, makeup Friday 2/10 9-11am Mechatronics Lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Optical isolation for motors and RC servos&lt;br /&gt;
*Powering a motor with an h-bridge&lt;br /&gt;
*Writing to the 16x2 character LCD&lt;br /&gt;
*Laser detection of retroreflective tape / Optical line detection&lt;br /&gt;
*2 1/2D design&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 2, Due week of Feb 27&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Optically isolate a motor&lt;br /&gt;
*Read a potentiometer and write its voltage to the LCD&lt;br /&gt;
*Control the motor velocity based on the potentiometer reading&lt;br /&gt;
*Control an RC servo&lt;br /&gt;
*Detect a 3/4&amp;quot; wide black line on white paper with a phototransistor and LED&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Laser cutting Workshop, Week of Apr 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Laser cutting&lt;br /&gt;
*2.5D design&lt;br /&gt;
*Making a chassis, mounting motors and sensors&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Chassis Milestone, Due Apr 13&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Demonstrate a robot chassis that can drive around the arena, bonus points for following a line, detecting and moving towards the moving goals, and detecting and moving towards a crate&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Midterm Milestone, Due Apr 30 / May 1 / May 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Demonstrate some strategy - from the starting position, go get a crate and bring to back towards the goal&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pre-competition Milestone, Due May 9&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Demonstrate some advanced strategy - score several points&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Competition May 19!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==DC2011==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*On a button press, read the value of a potentiometer and change the brightness of an LED accordingly using PWM. &amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Do not use an h-bridge or motor as previously assigned.&lt;br /&gt;
*Due before Workshop 2 on Wed, 2/9.&lt;br /&gt;
*[[Media:NU32v2_DC2011_workshop1.zip | Sample code from Workshop 1]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Due before Workshop 3 on Wed, 2/23.&lt;br /&gt;
*Goals:&lt;br /&gt;
**Use code from [[NU32v2: Nokia 5110 LCD]] and [[NU32v2: Analog Input]] to read a potentiometer and print the voltage to the Nokia 5110&lt;br /&gt;
**Optically isolate a motor and control its velocity based on the potentiometer reading&lt;br /&gt;
**Do 1 of the following:&lt;br /&gt;
***Mount a phototransistor to a laser and detect a cake &amp;#039;&amp;#039;&amp;#039;OR&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
***Detect a line of electrical tape on white paper with an optoreflector&lt;br /&gt;
*Datasheets&lt;br /&gt;
**[[Media:HBridge_L293D.pdf|HBridge_L293D.pdf]] - H-bridge for driving a DC motor&lt;br /&gt;
**[[Media:Optocoupler_A847.pdf|Optocoupler_A847.pdf]] - Optocoupler to optically isolate your H-bridge&lt;br /&gt;
**[[Media:HexInverter_74HC04.pdf|HexInverter_74HC04.pdf]] - Inverting chip to digitize optocoupler output&lt;br /&gt;
**[[Media:Optoreflector_OPB740.pdf|Optoreflector_OPB740.pdf]] - Optoreflector to detect lines or color&lt;br /&gt;
**[[Media:Optoreflector_QRE1113.pdf|Optoreflector_QRE1113.pdf]] - Optoreflector to detect lines or color&lt;br /&gt;
**[[Media:Phototransistor_SFH310.pdf|Phototransistor_SFH310.pdf]] - Phototransistor to detect lines, color, or laser reflections&lt;br /&gt;
*Notes&lt;br /&gt;
**[[Media:DC2011_WS2_OpticalIsolation.pdf|DC2011_WS2_OpticalIsolation.pdf]] - How to optically isolate an h-bridge and servo motor using the A847 and 74HC04&lt;br /&gt;
**[[Media:DC2011_WS2_OpticalSensors.pdf|DC2011_WS2_OpticalSensors.pdf]] - How to use the SFH310 to detect a cake and use the OPB740 or QRE1113 for line following&lt;br /&gt;
**[[Media:DC2011_WS2_Code.zip|DC2011_WS2_Code.zip]] - Example code for the NU32v2 that will:&lt;br /&gt;
***Control a DC motor hooked up to an optically isolated h-bridge, and control an optically isolated RC servo motor&lt;br /&gt;
***Respond to serial commands to control the motors, write to the Nokia 5110, and read two analog signals&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 4&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Due before Wed, 3/16&lt;br /&gt;
*Finish laser training, at least one person per team&lt;br /&gt;
*Construct a prototype chassis for your robot&lt;br /&gt;
*Do one of the following:&lt;br /&gt;
**Follow part of the line on the 36&amp;quot; x 96&amp;quot; printout of [[Media:DC2011LineFOllowing.pdf|this pdf]]&lt;br /&gt;
**Detect a cake somewhere on the floor and drive to it&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Breakout Boards&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*[[Media:DC2011Breakouts.pdf|Image of the breakout boards]]&lt;br /&gt;
*[[Media:DC2011BreakoutsSchematic.pdf|Circuit schematic of the breakout boards]]&lt;br /&gt;
*This board contains:&lt;br /&gt;
**A spot to plug in the NU32v2 with some prototyping area&lt;br /&gt;
**The optical isolation circuit with some prototyping area, the same size as the NU32v2 breakout board so it can be stacked on top&lt;br /&gt;
**8 SFH310 with LED breakout boards&lt;br /&gt;
**4 SFH310 with laser diode breakout boards&lt;br /&gt;
**1 LIS352AX accelerometer breakout board&lt;br /&gt;
**1 LSM303DHL tilt-compensated compass breakout board&lt;br /&gt;
**1 LPY550AL gyroscope breakout board&lt;br /&gt;
**1 LS7366R encoder decoder breakout board&lt;br /&gt;
**1 TCS3103 color sensor breakout board&lt;br /&gt;
*How to use the boards:&lt;br /&gt;
**[[Image:nu32v2_breakoutboard.jpg|thumb|500px|Solder female header pins to the NU32v2 Breakout Board so that you can plug in and remove your NU32v2|center]]&lt;br /&gt;
**[[Image:nu32v2_opticalisolationbreakoutboard.jpg|thumb|500px|Solder sockets to the Optically Isolated Motor Board so you can remove burnt out chips|center]]&lt;br /&gt;
**[[Image:nu32v2_phototransistorbreakoutboards.jpg|thumb|500px|The LED and Laser Phototransistor breakout boards will make it easier to attach wires to the sensors|center]]&lt;br /&gt;
**[[Image:nu32v2_stackedboards.jpg|thumb|500px|You can stack the NU32v2 breakout board with the Optically Isolated board|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Brochure for 2011&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*[[Media:DC2011_brochure.pdf|Brochure for 2011]]&lt;br /&gt;
&lt;br /&gt;
==Previous Years==&lt;br /&gt;
&lt;br /&gt;
Wiki pages on sensors, actuators, programming, and microcontrollers: use pages below&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* [http://www.mech.northwestern.edu/courses/433/Writeups/QuickStart/ Parts in the DC2008 quick start pack]&lt;br /&gt;
* [http://peshkin.mech.northwestern.edu/pic/info/piccintro_2008-01-24.pdf PIC C intro slides, as presented 2008/01/24 (pdf)]&lt;br /&gt;
* [http://peshkin.mech.northwestern.edu/pic/info/picinterfacing_2008-01-28.pdf PIC interfacing slides, as presented 2008/01/28 (pdf)]&lt;br /&gt;
* &amp;lt;b&amp;gt;[http://peshkin.mech.northwestern.edu/pic/code Link to all sample PIC code here.]&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sensors and actuators for DC&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[Using Solderless Breadboard|Solderless Breadboard &amp;amp; wiring that works]]&lt;br /&gt;
* [[Using LEDs &amp;amp; IREDs]]&lt;br /&gt;
* [[Using a laser]]&lt;br /&gt;
* [[Sensing optical tape|Infrared reflectivity]]&lt;br /&gt;
** Using phototransistors&lt;br /&gt;
** Sensing optical tape&lt;br /&gt;
* [[Comparators | Comparators : the analog digital interface]]&lt;br /&gt;
* [http://www.robotroom.com/FaulhaberGearmotor.html Faulhaber MiniMotor SA gearmotor with encoder], as well as [[Actuators_Available_in_the_Mechatronics_Lab#Faulhaber_1524E006S_motor_with_141:1_gearhead_and_HES164A_magnetic_quadrature_encoder|the local wiki page]]&lt;br /&gt;
* [[Adding a magnetic encoder to a GM3 Gearmotor]]&lt;br /&gt;
** Using magnetic switches (Hall Effect)&lt;br /&gt;
* [[High-current devices|Driving high-current devices: several options]]&lt;br /&gt;
* [[Driving a Stepper Motor]]&lt;br /&gt;
* [[Driving an RC Servo]]&lt;br /&gt;
* [[Accelerometers]]&lt;br /&gt;
* [[Strain gauges]]&lt;br /&gt;
* [[Using the Basic Stamp Microcontroller|Basic Stamp Microcontroller]] &amp;lt;b&amp;gt;Not recommended for DC2008&amp;lt;/b&amp;gt;&lt;br /&gt;
* [http://www.mech.northwestern.edu/courses/433/Writeups/Battery_NiMH/ NiMH rechargable batteries and chargers]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt; [http://peshkin.mech.northwestern.edu/datasheets Prof. Peshkin&amp;#039;s favorite datasheets]&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:DC2022_arena.png&amp;diff=26277</id>
		<title>File:DC2022 arena.png</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:DC2022_arena.png&amp;diff=26277"/>
		<updated>2022-04-28T22:43:32Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Northwestern_Design_Competition&amp;diff=26276</id>
		<title>Northwestern Design Competition</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Northwestern_Design_Competition&amp;diff=26276"/>
		<updated>2022-04-28T22:43:09Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://sites.google.com/site/dcnuinfo/ Official Website for DC (including the rules of the game)]&lt;br /&gt;
&lt;br /&gt;
==DC2022==&lt;br /&gt;
* [https://sites.google.com/site/dcnuinfo/2022-competition-rules Rules for 2022]&lt;br /&gt;
* [[File:DC2022_arena.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==DC2020==&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/document/d/10vbqSass9Q4EwrzKbiaRp0NKIJUN1RRLcr8fXFYhWYo/edit?usp=sharing Link to google doc instructions]&lt;br /&gt;
&lt;br /&gt;
==DC2019==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Thursday 5/9/19&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Example Teensy 3.2 code, reads position from two Vive sensors: [[Media:dc2019_teensy_vive.ino | here]]&lt;br /&gt;
*** Vive sensors got to pins 11 and 19. &lt;br /&gt;
** Example ESP32 code, receives position code from Teensy: [[Media:dc2019_esp32_vive.ino | here]]&lt;br /&gt;
*** ESP RX pin goes to Teensy pin 8, ESP TX pin goes to Teensy pin 7&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Thursday 5/2/19&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Competition arena:&lt;br /&gt;
[[File:DC2019_arena.png|300px]]&lt;br /&gt;
** Barriers must be placed in the purple squares&lt;br /&gt;
** Ships can be placed at any location&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tuesday 4/16/19&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Get a [https://www.pololu.com/product/2961 MAX14870 Pololu motor driver] and solder the header pins so that the text side faces up&lt;br /&gt;
** Get a [https://www.pololu.com/product/3043 12V 160rpm Pololu N20 motor]&lt;br /&gt;
** Solder &amp;#039;&amp;#039;&amp;#039;28 gauge stranded wire&amp;#039;&amp;#039;&amp;#039; to the motor terminals. &amp;#039;&amp;#039;&amp;#039;DO NOT USE SOLID CORE WIRE, THE TABS WILL BREAK OFF&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Try this sample code to run the motor in both directions: [[Media:dc2019_esp32_pwm.ino | dc2019_esp32_pwm.ino]]&lt;br /&gt;
*** The motor is connected to M1 and M2&lt;br /&gt;
*** Both GND pins go to GND&lt;br /&gt;
*** VIN can go t the ESP32 USB pin (5V). Later this will be 12V from a battery&lt;br /&gt;
*** PWM goes to 14 in the sample code, but this can be changed to any pin&lt;br /&gt;
*** DIR does to 32 in the sample code, but this can be changed to any pin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tuesday 4/9/19&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Get a [https://www.adafruit.com/product/3405?gclid=CjwKCAjwhbHlBRAMEiwAoDA3406yot4JUOpQRyfZo-j31kbjLpQNH8ZtqxRJY5qz51xaGbn4um-VRBoC1C4QAvD_BwE ESP32 Feather], breadboard, and USB cable. Run the sample code from 3/14&lt;br /&gt;
** Build a simple retroreflective tape sensor: &lt;br /&gt;
[[File:dc2019_simple_retroreflective_sensor.png]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Thursday 4/4/19&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** [https://sites.google.com/site/dcnuinfo/2019-competition-rules Competition rules]&lt;br /&gt;
** [https://docs.google.com/spreadsheets/d/1wL4jkZFC5ykPM817-85twrntaJ1v8eXz8ZzvYTZZVB4/edit?usp=sharing Enter your team here]&lt;br /&gt;
** [https://docs.google.com/document/d/190IQkECB7-QzemgUd3-PhDiczV75WIe8uKVIsWdrt9M/edit?usp=sharing Copy the build log from here] and share it with Nick&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Thursday 3/14/19&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Example ESP32 code, using the [https://www.adafruit.com/product/3405?gclid=CjwKCAjwhbHlBRAMEiwAoDA3406yot4JUOpQRyfZo-j31kbjLpQNH8ZtqxRJY5qz51xaGbn4um-VRBoC1C4QAvD_BwE ESP32 Feather]: [[Media:dc2019_example_streaming.ino | here]]&lt;br /&gt;
** Example python code, using [https://codewith.mu/ Mu]: [[Media:dc2019_example_streaming.txt | here]]&lt;br /&gt;
&lt;br /&gt;
==DC2018==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tuesday 5/8/18&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** The initial example code is [[Media:dc_2018_example.ino | here]]&lt;br /&gt;
** The example that reads two vive sensors code is [[Media:dc_2018_vive_example.ino | here]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tuesday 4/24/18, 6pm in Ford B100&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Driving motors with a 12V battery and h-bridge&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tuesday 4/17/18, 6pm in Ford B100&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Detecting retroreflective tape with a laser pointer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tuesday 4/10/18, 6pm in Ford B100&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Laser cutting and 3d printing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Friday 4/6/18&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Competition arena:&lt;br /&gt;
[[File:DC2018_arena.png|300px]]&lt;br /&gt;
** The objects are 2&amp;quot; steel cubes and 3.5&amp;quot; diameter 2&amp;quot; tall steel cylinders&lt;br /&gt;
** There are 12 of each object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Thursday 2/15/18&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** The sample code for the amazon robot kit is [[Media:dc2018_amazon_sample.ino | here]]&lt;br /&gt;
** The pcb design for the amazon robot kit is [[Media:dc2018_amazon_pcb.zip | here]]&lt;br /&gt;
&lt;br /&gt;
==DC2017==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Saturday, 5/7/17&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** The vive code on the hunter robot is [[Media:vive_hunter.ino | here]]&lt;br /&gt;
** The vive code on the hunted robot is [[Media:vive_hunted.ino | here]]&lt;br /&gt;
** The circuit for the hunter robot looks like [[File:DC2017_vive_xbee.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Thursday, 3/30/17, 6pm in Ford B100&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** The hunter robot is about 12&amp;quot; in diameter, 6&amp;quot; high, covered in retroreflective tape&lt;br /&gt;
** The microcontroller is the Teensy 3.5&lt;br /&gt;
** The motor driver is the Pololu MAX14870 Single Brushed DC Motor Driver Carrier&lt;br /&gt;
** The voltage regulator is the Pololu 5V Step-Up/Step-Down S10V4F5&lt;br /&gt;
** Use a 100 ohm resistor in series with the laser to prevent dimming and burnouts&lt;br /&gt;
** To read the phototransistor, turn off the laser, read the voltage, turn on the laser, read the voltage, and if the voltage has changed a lot, you are looking at a retroreflective object&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Thursday, 2/23/17, 6pm in Ford B100&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Introduction to the competition rules&lt;br /&gt;
** Demo of the remote controlled robot&lt;br /&gt;
** How to design a DC robot&lt;br /&gt;
** Sensors review: laser scanner&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Winter Kickoff Meeting&amp;#039;&amp;#039;&amp;#039; 1/26/2017, 6-7pm, in Tech M152&lt;br /&gt;
** Review the [https://sites.google.com/site/dcnuinfo/2017-competition-rules Competition Rules]&lt;br /&gt;
** Teambuilding exercise&lt;br /&gt;
** Pizza!&lt;br /&gt;
&lt;br /&gt;
==DC2016==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Winter Kickoff Meeting&amp;#039;&amp;#039;&amp;#039; 1/8/2016, 6-8pm, in Tech M152&lt;br /&gt;
** Review the [https://sites.google.com/site/dcnuinfo/2016-competition-rules Competition Rules]&lt;br /&gt;
** Teambuilding exercise&lt;br /&gt;
** Pizza!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 1&amp;#039;&amp;#039;&amp;#039; Due Thur, 1/21/2016, 6pm in Ford B100&lt;br /&gt;
** CAD&lt;br /&gt;
*** You can use NX, Solidworks (installed on the computers in B100), or sign up for [https://www.onshape.com/ OnShape], a free, browser based CAD program.&lt;br /&gt;
*** I&amp;#039;ll assume you are using OnShape, since there is no installation necessary. Check out their online tutorial videos:&lt;br /&gt;
**** Definitely watch the first 12 videos on the [https://www.onshape.com/learn/tutorials OnShape Tutorials page]&lt;br /&gt;
**** You may also want to watch [https://www.onshape.com/learn/introduction-to-cad OnShape Intro to CAD]&lt;br /&gt;
**** and [https://www.onshape.com/learn/essential-training-series OnShape Essential Training]&lt;br /&gt;
**** Use a real mouse, with scroll wheel. You can get by using your laptop trackpad, but a mouse makes things so much easier.&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Assignment:&amp;#039;&amp;#039;&amp;#039; Design a mount for an N20 size gear motor (example: [https://www.pololu.com/product/989 Pololu gearmotor mount])&lt;br /&gt;
*** If you want to follow along, you can watch how I would do it [https://www.youtube.com/watch?v=SjZh0hdmgdE here]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 2&amp;#039;&amp;#039;&amp;#039; Due Wed, 1/27/2016, 6pm in Ford B100&lt;br /&gt;
** 3D printing&lt;br /&gt;
*** Save your CAD model as a .stl file, and print it on one of the three [https://www.monoprice.com/product?p_id=11614 Monoprice 3D printers] in B100 using [https://www.simplify3d.com/ Simplify3D].&lt;br /&gt;
*** Use the standard temperature, speed, and dimension settings. The blue tape does not need to be perfect, try to print on a flat spot until all of the tape has been printed on, then replace it.&lt;br /&gt;
*** Practice loading and unloading the printer. Use the printer menu to turn on &amp;quot;Preheat&amp;quot;. When the extruder is hot, push the lever to disengage the drive motor, gently push the filament into the nozzle, then pull it out. To load, feed the new filament in until plastic starts coming out of the nozzle, as if it were a glue gun.&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Assignment:&amp;#039;&amp;#039;&amp;#039; Design and print a 1&amp;quot;x0.75&amp;quot; rectangle 0.5&amp;quot; thick, with a 0.5&amp;quot; diameter hole in the middle. Measure each dimension with calipers and note how much the size differs from your digital model, and email Nick the results.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 3&amp;#039;&amp;#039;&amp;#039; Due Thur, 2/4/2016, 6pm in Ford B100&lt;br /&gt;
** Design for Laser cutting&lt;br /&gt;
*** Our laser cutters can only make 90 degree cuts. To build something in 3D, you have to design 2D objects that fit together like puzzle pieces, using crenellation or right-angle dovetails. Rather than using glue, embed nuts and slots for screws to assemble the parts.&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Assignment:&amp;#039;&amp;#039;&amp;#039; Design 3 sides of a 2&amp;quot; cube that assemble with right-angle dovetails and 4-40 t-slots. Assemble the design in CAD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 4&amp;#039;&amp;#039;&amp;#039; Due Thur, 2/11/2016, 6pm in Ford B100&lt;br /&gt;
** Arduino coding&lt;br /&gt;
*** Pick up your [https://www.adafruit.com/product/2590 Arduino Metro Mini] or [https://www.sparkfun.com/products/13664 SAMD21 Mini] and breadboard, and [[EDI Bootcamp | solder the header pins]]&lt;br /&gt;
**** The Metro Mini is a smaller version of the Arduino UNO. There is a lot of code available for the UNO, but it is slow, with limited memory.&lt;br /&gt;
**** The SAMD21 is similar to the Arduino Zero. It is fast with lots of memory, but the sample code you find online might not always work. Install the [https://learn.sparkfun.com/tutorials/samd21-minidev-breakout-hookup-guide/hardware-setup drivers] and [https://learn.sparkfun.com/tutorials/samd21-minidev-breakout-hookup-guide/setting-up-arduino add the board profile to the Arduino IDE]. &lt;br /&gt;
*** Build a potentiometer, pushbutton, and LED circuit&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Assignment:&amp;#039;&amp;#039;&amp;#039; Write code that, when you push the button, reads the potentiometer, sends the value to the computer, and sets the LED brightness proportional to the potentiometer angle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 5: No meeting on 2/10/2016 or 2/11/2016&amp;#039;&amp;#039;&amp;#039; Due Thur, 2/18/2016, at 6pm in Ford B100&lt;br /&gt;
** Continue Arduino coding&lt;br /&gt;
*** Edit your circuit to have 1 potentiometer, 2 push buttons, and 2 LEDs (on PWM pins)&lt;br /&gt;
*** Edit your code so that:&lt;br /&gt;
**** When no buttons are pushed, both LEDs are at 75% brightness&lt;br /&gt;
**** When one button is pushed, both LEDs are at 25% for 1 second, then one LED is at 0% and the other at 100% for 1 second, then continue&lt;br /&gt;
**** When the other button is pushed, both LEDs are at 25% for 1 second, then the other LED is at 0% and the first at 100% for 1 second, then continue&lt;br /&gt;
**** If the potentiometer is ever between 3 and 4 volts, the LEDs blink alternately at 10 Hz&lt;br /&gt;
**** After 1 minute has passed, the LEDs turn off forever&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Meeting 7&amp;#039;&amp;#039;&amp;#039; Due Thur, 3/3/2016, 6pm in Ford B100&lt;br /&gt;
** Motors, motor drivers, batteries&lt;br /&gt;
*** Pick up a DC motor, hbridge, and battery pack&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Assignment:&amp;#039;&amp;#039;&amp;#039; 3D print or laser cut a mount for the motor. Write code to set the speed of the motor proportional to the potentiometer angle and match the servo angle to the potentiometer angle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Notes about equipment:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** The SAMD21 breakout board has a max input voltage of 6V. &amp;#039;&amp;#039;&amp;#039;It will burn up if you use 12V.&amp;#039;&amp;#039;&amp;#039; Use a USB battery to power the board, or wire up your own 3.3V regulator.&lt;br /&gt;
** The Metro Mini breakout board has a max input voltage of 16V, so it should be ok to power it off 12V.&lt;br /&gt;
** The h-bridge is from [https://www.pololu.com/product/2960 Pololu].&lt;br /&gt;
*** VIN is the motor voltage, between 2 and 16V (use 12V from the battery).&lt;br /&gt;
*** VCC is the logic voltage (3.3V or 5V). &amp;#039;&amp;#039;&amp;#039;Do not use 12V&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*** Wire the PWM pin to VCC, then use a PWM signal on INA to set the motor speed and a DIO pin on INB to set the motor direction.&lt;br /&gt;
** Each team gets [http://www.amazon.com/Bosch-SKC120-202L-Lithium-Ion-Batteries-L-BOXX-1/dp/B009K1H350 2 12V rechargeable lithium ion batteries and a charger]. &amp;#039;&amp;#039;&amp;#039;Shorting the battery will draw more than 10A, generating a huge spark and destroying your circuit. Be very careful!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*** Use a [http://www.mcmaster.com/#7060k25/=11dwll8 quick-disconnect terminal] to plug into the battery.&lt;br /&gt;
*** First, pull off the insulation (pull hard!) [[File:DC2016_crimp_removeInsulation.jpg|300px]]&lt;br /&gt;
*** Next, strip off some wire, so that you can crimp onto the insulation and the wire. [[File:DC2016_crimp_stripWire.jpg|300px]]&lt;br /&gt;
*** Then, crimp the back of the connector, on the insulation of the wire. [[File:DC2016_crimp_crimpBack.jpg|300px]]&lt;br /&gt;
*** Then crimp the front of the wire. [[File:DC2016_crimp_crimpFront.jpg|300px]]&lt;br /&gt;
*** This is what the compete crimp looks like: [[File:DC2016_crimp_complete.jpg|300px]]&lt;br /&gt;
*** The top of the battery is labeled with the positive and negative terminals: [[File:DC2016_crimp_batteryTop.jpg|300px]]&lt;br /&gt;
*** Make a red wire for the positive connection and a black wire for the negative, and test how well they plug in: [[File:DC2016_crimp_batteryPlug.jpg|300px]]&lt;br /&gt;
*** See if you can 3d print something to hold the red and black wires, so that it can be plugged in only one way (to prevent accidental backwards connections that will destroy your circuit).&lt;br /&gt;
&lt;br /&gt;
==DC2015==&lt;br /&gt;
Winter 2015 Schedule&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Winter Kickoff&amp;#039;&amp;#039;&amp;#039; Workshop 1 - 2/24/15, 6-8pm in Ford B100&lt;br /&gt;
** Build a DC2015 Control Board: the blue board!&lt;br /&gt;
*** [[How to solder]]&lt;br /&gt;
*** [[The brains of the operation]]&lt;br /&gt;
*** [[Building the blue board]]&lt;br /&gt;
*** [[Programming the blue board]]&lt;br /&gt;
*** [[Useful code for the blue board]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Workshop 2 - 3/3/15, 6-8pm in Ford B100&lt;br /&gt;
** Build a DC2015 Expansion board: the black board!&lt;br /&gt;
*** [[Making things move with the black board]]&lt;br /&gt;
*** [[Building the black board]]&lt;br /&gt;
*** Something about attaching to motors&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Workshop 3 - 3/10/15, 6-8pm in Ford B100&lt;br /&gt;
** Build a DC2015 Protoboard: the green board!&lt;br /&gt;
*** [[Prototyping circuits]]&lt;br /&gt;
*** [[Buttons, pots and light sensors]]&lt;br /&gt;
*** [[Sensing retroreflective blocks]]&lt;br /&gt;
*** [[Building the green board]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fall 2014 Schedule&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;NU Robotics Workshop 1 - Soldering&amp;#039;&amp;#039;&amp;#039; - 10/22/14 in Ford B100&lt;br /&gt;
** Learn how to solder&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;DC Kickoff&amp;#039;&amp;#039;&amp;#039; - Around 11/5/14&lt;br /&gt;
&lt;br /&gt;
==DC2014==&lt;br /&gt;
Winter 2014 Schedule&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kickoff&amp;#039;&amp;#039;&amp;#039; - 1/15/14, 5pm in Tech A110&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Sponsor Talk&amp;#039;&amp;#039;&amp;#039; - MISUMI&lt;br /&gt;
** Tue, 1/28/2014, 5pm, Tech M128&lt;br /&gt;
** Designing with MISUMI&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 1&amp;#039;&amp;#039;&amp;#039; - Robot simulation&lt;br /&gt;
** Thur, 1/30/2014, 5pm, Ford B100&lt;br /&gt;
** Using a simulator to test robot algorithms&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 1&amp;#039;&amp;#039;&amp;#039; - Maze solving robot&lt;br /&gt;
** Due by Wed, 2/5/2014&lt;br /&gt;
** Show off your robot code solving a maze&lt;br /&gt;
** [[Media:DC14Workshop1.pdf | Workshop1 Assignment]]&lt;br /&gt;
** [[Media:DC14Workshop1.zip | Workshop1 Files]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 2&amp;#039;&amp;#039;&amp;#039; - Makerbot and advanced robot simulation&lt;br /&gt;
** Thur, 2/6/2014, 5pm, Ford B100&lt;br /&gt;
** Using CAD and the Makerbot&lt;br /&gt;
** Better dead reckoning in simulation&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 3&amp;#039;&amp;#039;&amp;#039; - Makerbot linkages and advanced robot simulation&lt;br /&gt;
** Thur, 2/13/2014, 5pm, Ford B100&lt;br /&gt;
** Designing 4-bar linkages and printing them on the Makerbot&lt;br /&gt;
** Radar and LIDAR in simulation&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 2 and 3&amp;#039;&amp;#039;&amp;#039; - Maze solving robot and 3D printed motor mount&lt;br /&gt;
** Due by Wed, 3/5/2014&lt;br /&gt;
** Design, print and assemble a simple mechanism with the Makerbot&lt;br /&gt;
** Use sensors for wall-following&lt;br /&gt;
** [[Media:DC14Workshop2.pdf | Workshop2 Assignment]]&lt;br /&gt;
** [[Media:DC14Workshop2.zip | Workshop2 Files]]&lt;br /&gt;
** Design, print and assemble a 4-bar linkage with the Makerbot&lt;br /&gt;
** Use LIDAR for maze solving&lt;br /&gt;
** [[Media:DC14Workshop3.pdf | Workshop3 Assignment]]&lt;br /&gt;
** [[Media:DC14Workshop3.zip | Workshop3 Files]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Competition Format&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** 3 competitions: [[Media:DC14CompetitionFormat.pdf | Competition Format]]&lt;br /&gt;
** Milestone 4 Due Monday, 4/14/14, by email to Nick&lt;br /&gt;
*** Rough mechanical design of your robot. Sketches of legs and drive mechanism, description of mechanism, material list (motors, servo, bearings, etc.)&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 5&amp;#039;&amp;#039;&amp;#039; - Roland mill PCBs&lt;br /&gt;
** Wed, 4/23/2014, 4pm, Ford B100&lt;br /&gt;
** Designing printed circuit boards to be milled on the Roland CNC desktop mill&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 5&amp;#039;&amp;#039;&amp;#039; - Robot PCB&lt;br /&gt;
** Due by Fri, 4/25/2014&lt;br /&gt;
** Design, mill, solder and program a PIC32MX150 PCB for your robot&lt;br /&gt;
** [[Media:DC14Workshop5.zip | Workshop5 Files]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 6&amp;#039;&amp;#039;&amp;#039; - Robot PCB&lt;br /&gt;
** Instructions on using the PCB mill (beta) :&lt;br /&gt;
*** [[Media:DC14Workshop6.pdf | Workshop6.pdf]]&lt;br /&gt;
** Sample code for a simple line following robot using 2 DC drive motors, 3 analog inputs from IR line sensors, output to the Nokia LCD. Also included, sample code for the IR proximity range finder for the NU32, and an .stl for a range finder cap to block light from the LED hitting the sensor.&lt;br /&gt;
*** [[Media:DC14Workshop6.zip | Workshop6 Files]]&lt;br /&gt;
*** [[Media:DC14IRwallstl.zip | IR wall stl file]]&lt;br /&gt;
&lt;br /&gt;
==DC2013==&lt;br /&gt;
Spring Quarter Schedule&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 6&amp;#039;&amp;#039;&amp;#039; - H-Bridges, DC motor control, wheel sensing&lt;br /&gt;
** Wed, 4/3/2013, 6pm in mechatronics lab&lt;br /&gt;
** [[Media:workshop6.c | workshop6.c - drive a DC motor using PWM with an h-bridge and sense its position with a reflectance sensor]]&lt;br /&gt;
** [[Media:DC2013_hbridge_motors.pdf | How to use an h-bridge and a DC motor]]&lt;br /&gt;
** [[Media:encoder.docx | Encoder template]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 6&amp;#039;&amp;#039;&amp;#039; - Wheel control&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Meeting in the mechatronics lab at 6pm 4/17&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Demo due by 4/17/2013&lt;br /&gt;
** Press the USER button, and the wheel rotates 180 degrees&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 7&amp;#039;&amp;#039;&amp;#039; - Complete chassis&lt;br /&gt;
**[[Media:DC2013_3dprinting_design.pdf | How to design parts that can be 3D printed]] &lt;br /&gt;
** Demo due by 4/24/2013&lt;br /&gt;
** Demo your chassis&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 8&amp;#039;&amp;#039;&amp;#039; - Driving and sensing the world&lt;br /&gt;
** Demo due by 5/1/2013&lt;br /&gt;
** Demo your robot driving around the arena and sensing things&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 9&amp;#039;&amp;#039;&amp;#039; - Identify prey and drive towards them&lt;br /&gt;
** Demo due by 5/8/2013&lt;br /&gt;
** Demo your robot chasing Prey&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 10&amp;#039;&amp;#039;&amp;#039; - Operational robot, demo for E-Week&lt;br /&gt;
** Demo due by 5/15/2013, demo at E-Week in Tech lobby&lt;br /&gt;
** Show how your robot works&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;COMPETITION!!!!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** 5/18/2013, Noon in the machine shop&lt;br /&gt;
&lt;br /&gt;
Useful things:&lt;br /&gt;
* Arena and breakout board&lt;br /&gt;
** [[Media:DC2013breakout_eagle.zip | Breakout board EAGLE files]]&lt;br /&gt;
[[File:DC2013arena.jpg|700px]]&lt;br /&gt;
** [[Media:DC2013arena.pdf | DC2013arena.pdf]]&lt;br /&gt;
* Write-ups&lt;br /&gt;
** [[Media:DC2013milestone2.pdf | DC2013milestone2.pdf]]&lt;br /&gt;
** [[Media:DC2013milestone3.pdf | DC2013milestone3.pdf]]&lt;br /&gt;
** [[Media:DC2013_laser_cutter_design.pdf | How to design parts that can be made on the laser cutter]] &lt;br /&gt;
** [[Media:workshop5.dxf | workshop5.dxf - parts that mount the laser, sensors and servo]] for reference&lt;br /&gt;
** [[Media:DC2013_hbridge_motors.pdf | How to use an h-bridge and a DC motor]]&lt;br /&gt;
** [[Media:DC2013_3dprinting_design.pdf | How to design parts that can be 3D printed]]  &lt;br /&gt;
* Code&lt;br /&gt;
** [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]]&lt;br /&gt;
** [[Media:DC2013_Milestone2.c| DC2013_Milestone2.c]]&lt;br /&gt;
** [[Media:DC2013_milestone3.c| DC2013_milestone3.c]]&lt;br /&gt;
** [[Media:workshop5.c | workshop5.c - sweep the servo when the user button is pressed, save the data to an array]]&lt;br /&gt;
** [[Media:workshop6.c | workshop6.c - drive a DC motor using PWM with an h-bridge and sense its position with a reflectance sensor]]&lt;br /&gt;
&lt;br /&gt;
* NU32&lt;br /&gt;
** Download: MPLAB X IDE and MPLAB XC32 Compiler from [http://www.microchip.com/pagehandler/en-us/family/mplabx/#downloads http://www.microchip.com/pagehandler/en-us/family/mplabx/#downloads]&lt;br /&gt;
** Download: FTDI Drivers from [http://www.ftdichip.com/Drivers/VCP.htm http://www.ftdichip.com/Drivers/VCP.htm]&lt;br /&gt;
** Download: NU32_Utility from [[NU32:_Software_to_Install]]&lt;br /&gt;
* NU32 from 2012&lt;br /&gt;
** We have a lot of left over boards from 2012 but you have to use NU32_Utility_v5 from [[NU32:_Software_to_Install]]&lt;br /&gt;
** and [[Media:NU32_2012.c| NU32_2012.c]], [[Media:NU32_2012.h | NU32_2012.h]] instead of NU32.c and NU32.h&lt;br /&gt;
&lt;br /&gt;
Winter 2013 Schedule&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 1&amp;#039;&amp;#039;&amp;#039; - Prey robot deconstruction&lt;br /&gt;
** Tue, 1/15/2013, 6pm, Ford B100&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 1&amp;#039;&amp;#039;&amp;#039; - Prey robot -&amp;gt; Demobot&lt;br /&gt;
** Due by Wed, 1/23/2013&lt;br /&gt;
** Show off your Demobot, made from a deconstructed Prey robot &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 2&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32&lt;br /&gt;
** Begin Wed, 1/23/2013, meeting in the Mechatronics lab at 6pm&lt;br /&gt;
** How to program the PIC32 on the NU32&lt;br /&gt;
** Sample code - [[Media:NU32test.hex | NU32test.hex]], [[Media:SimplePIC.c | SimplePIC.c]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]], [[Media:talkingPIC.c | talkingPIC.c]], [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 2&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32&lt;br /&gt;
** Due by Wed, 1/30/2013&lt;br /&gt;
** Code Template: [[Media:DC2013_Milestone2.c| DC2013_Milestone2.c]], [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]]&lt;br /&gt;
** Complete the assignment here: [[Media:DC2013milestone2.pdf | DC2013milestone2.pdf]] &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 3&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32&lt;br /&gt;
** Begin Wed, 1/30/2013, meeting in the Mechatronics lab at 6pm&lt;br /&gt;
** How to program the PIC32 on the NU32, sensors and actuators, soldering&lt;br /&gt;
** Sample code - [[Media:DC2013_milestone3.c| DC2013_milestone3.c]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 3&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32, sensors and actuators&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Due by Wed, 2/6/2013&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Potentiometers, phototransistors, RC servos, ultrasonic distance sensors&lt;br /&gt;
** Complete the assignment here: [[Media:DC2013milestone3.pdf | DC2013milestone3.pdf]] &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 4&amp;#039;&amp;#039;&amp;#039; - Using the laser cutter&lt;br /&gt;
** Begin Wed, 2/6/2013&lt;br /&gt;
** [[Media:DC2013_laser_cutter_design.pdf | How to design parts that can be made on the laser cutter]] &lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 4&amp;#039;&amp;#039;&amp;#039; - Laser cutter training&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Due By Wed, 2/20/2013&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Get trained on the laser cutter&lt;br /&gt;
** Design and build a robot gripper or mechanism &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 5&amp;#039;&amp;#039;&amp;#039; - RC servo and Laser detection&lt;br /&gt;
** Begin Wed, 2/13/2013, &amp;#039;&amp;#039;&amp;#039;at 6pm in the mechatronics lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** How to use a laser to detect retroreflective tape&lt;br /&gt;
** How to buffer and analyse data&lt;br /&gt;
** Combining the laser and RC servo to make a moving sensor&lt;br /&gt;
** [[Media:workshop5.dxf | workshop5.dxf - parts that mount the laser, sensors and servo]] for reference&lt;br /&gt;
** [[Media:workshop5.c | workshop5.c - sweep the servo when the user button is pressed, save the data to an array]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 5&amp;#039;&amp;#039;&amp;#039; - Target hunting&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Due by Wed, 2/20/2013&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Mount the laser on the servo&lt;br /&gt;
** Sweep the laser, find the target, and point at it &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reading week 6/11-5, finals week 6/18-22, break 3/25-29&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==DC2012==&lt;br /&gt;
Scale arena:&lt;br /&gt;
[[Image:DC2012Arena.png|thumb|500px|Dimensions of the arena for 2012|center]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Equipment&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*NU32, USB cable, 6V power supply&lt;br /&gt;
*2 drive motors, 2 motor mounts, 2 wheels&lt;br /&gt;
*large and small RC servos&lt;br /&gt;
*red and IR lasers&lt;br /&gt;
*12&amp;quot;x24&amp;quot;x0.118&amp;quot; clear acrylic sheets&lt;br /&gt;
*AA batteries and packs&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PCB&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[Image:DC2012PCBlayout.png|thumb|500px|The PCB breakout for DC2012|center]]&lt;br /&gt;
[[Media:DC2012PCBSchematic.pdf | Schematic of PCB for 2012]]&lt;br /&gt;
&lt;br /&gt;
[[Image:DC2012SheetMetalCutter.png|thumb|500px|Use the straight cut sheet metal cutter to slice up the PCB|center]]&lt;br /&gt;
[[Image:DC2012CuttingThePCB.png|thumb|500px|Like this|center]]&lt;br /&gt;
[[Image:DC2012CutUpPCB.png|thumb|500px|So that you separate all the boards|center]]&lt;br /&gt;
[[Image:DC2012FemaleHeader.png|thumb|500px|Use female header pins to attach the NU32. The headers come is sets of 20 pins, so you will have to cut one up.|center]]&lt;br /&gt;
[[Image:DC2012LaserPCB.png|thumb|500px|Attach lasers with hot glue|center]]&lt;br /&gt;
[[Image:DC2012LEDPCB.png|thumb|500px|Note the orientation of the LED an phototransistor, they are polarized!|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Workshop 1, Wednesday 1/18 5:30-7pm Tech L221, makeup Thursday 1/19 9-11am Mechatronics Lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*How to program in MPLABX&lt;br /&gt;
*How to use the bootloader to put code on the NU32&lt;br /&gt;
*Digital output I/O (read a button and flash an LED)&lt;br /&gt;
*Analog input&lt;br /&gt;
*PWM output&lt;br /&gt;
*Sample code:[[Media:DC2012_Workshot1.zip | Sample code for Workshop 1]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 1, due by 1/27&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*If a pushbutton is pressed, read the value of a potentiometer and change the brightness of an LED to the corresponding value with PWM&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Workshop 2, Thursday 2/9 6-7pm Tech L221, makeup Friday 2/10 9-11am Mechatronics Lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Optical isolation for motors and RC servos&lt;br /&gt;
*Powering a motor with an h-bridge&lt;br /&gt;
*Writing to the 16x2 character LCD&lt;br /&gt;
*Laser detection of retroreflective tape / Optical line detection&lt;br /&gt;
*2 1/2D design&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 2, Due week of Feb 27&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Optically isolate a motor&lt;br /&gt;
*Read a potentiometer and write its voltage to the LCD&lt;br /&gt;
*Control the motor velocity based on the potentiometer reading&lt;br /&gt;
*Control an RC servo&lt;br /&gt;
*Detect a 3/4&amp;quot; wide black line on white paper with a phototransistor and LED&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Laser cutting Workshop, Week of Apr 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Laser cutting&lt;br /&gt;
*2.5D design&lt;br /&gt;
*Making a chassis, mounting motors and sensors&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Chassis Milestone, Due Apr 13&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Demonstrate a robot chassis that can drive around the arena, bonus points for following a line, detecting and moving towards the moving goals, and detecting and moving towards a crate&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Midterm Milestone, Due Apr 30 / May 1 / May 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Demonstrate some strategy - from the starting position, go get a crate and bring to back towards the goal&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pre-competition Milestone, Due May 9&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Demonstrate some advanced strategy - score several points&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Competition May 19!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==DC2011==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*On a button press, read the value of a potentiometer and change the brightness of an LED accordingly using PWM. &amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Do not use an h-bridge or motor as previously assigned.&lt;br /&gt;
*Due before Workshop 2 on Wed, 2/9.&lt;br /&gt;
*[[Media:NU32v2_DC2011_workshop1.zip | Sample code from Workshop 1]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Due before Workshop 3 on Wed, 2/23.&lt;br /&gt;
*Goals:&lt;br /&gt;
**Use code from [[NU32v2: Nokia 5110 LCD]] and [[NU32v2: Analog Input]] to read a potentiometer and print the voltage to the Nokia 5110&lt;br /&gt;
**Optically isolate a motor and control its velocity based on the potentiometer reading&lt;br /&gt;
**Do 1 of the following:&lt;br /&gt;
***Mount a phototransistor to a laser and detect a cake &amp;#039;&amp;#039;&amp;#039;OR&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
***Detect a line of electrical tape on white paper with an optoreflector&lt;br /&gt;
*Datasheets&lt;br /&gt;
**[[Media:HBridge_L293D.pdf|HBridge_L293D.pdf]] - H-bridge for driving a DC motor&lt;br /&gt;
**[[Media:Optocoupler_A847.pdf|Optocoupler_A847.pdf]] - Optocoupler to optically isolate your H-bridge&lt;br /&gt;
**[[Media:HexInverter_74HC04.pdf|HexInverter_74HC04.pdf]] - Inverting chip to digitize optocoupler output&lt;br /&gt;
**[[Media:Optoreflector_OPB740.pdf|Optoreflector_OPB740.pdf]] - Optoreflector to detect lines or color&lt;br /&gt;
**[[Media:Optoreflector_QRE1113.pdf|Optoreflector_QRE1113.pdf]] - Optoreflector to detect lines or color&lt;br /&gt;
**[[Media:Phototransistor_SFH310.pdf|Phototransistor_SFH310.pdf]] - Phototransistor to detect lines, color, or laser reflections&lt;br /&gt;
*Notes&lt;br /&gt;
**[[Media:DC2011_WS2_OpticalIsolation.pdf|DC2011_WS2_OpticalIsolation.pdf]] - How to optically isolate an h-bridge and servo motor using the A847 and 74HC04&lt;br /&gt;
**[[Media:DC2011_WS2_OpticalSensors.pdf|DC2011_WS2_OpticalSensors.pdf]] - How to use the SFH310 to detect a cake and use the OPB740 or QRE1113 for line following&lt;br /&gt;
**[[Media:DC2011_WS2_Code.zip|DC2011_WS2_Code.zip]] - Example code for the NU32v2 that will:&lt;br /&gt;
***Control a DC motor hooked up to an optically isolated h-bridge, and control an optically isolated RC servo motor&lt;br /&gt;
***Respond to serial commands to control the motors, write to the Nokia 5110, and read two analog signals&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 4&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Due before Wed, 3/16&lt;br /&gt;
*Finish laser training, at least one person per team&lt;br /&gt;
*Construct a prototype chassis for your robot&lt;br /&gt;
*Do one of the following:&lt;br /&gt;
**Follow part of the line on the 36&amp;quot; x 96&amp;quot; printout of [[Media:DC2011LineFOllowing.pdf|this pdf]]&lt;br /&gt;
**Detect a cake somewhere on the floor and drive to it&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Breakout Boards&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*[[Media:DC2011Breakouts.pdf|Image of the breakout boards]]&lt;br /&gt;
*[[Media:DC2011BreakoutsSchematic.pdf|Circuit schematic of the breakout boards]]&lt;br /&gt;
*This board contains:&lt;br /&gt;
**A spot to plug in the NU32v2 with some prototyping area&lt;br /&gt;
**The optical isolation circuit with some prototyping area, the same size as the NU32v2 breakout board so it can be stacked on top&lt;br /&gt;
**8 SFH310 with LED breakout boards&lt;br /&gt;
**4 SFH310 with laser diode breakout boards&lt;br /&gt;
**1 LIS352AX accelerometer breakout board&lt;br /&gt;
**1 LSM303DHL tilt-compensated compass breakout board&lt;br /&gt;
**1 LPY550AL gyroscope breakout board&lt;br /&gt;
**1 LS7366R encoder decoder breakout board&lt;br /&gt;
**1 TCS3103 color sensor breakout board&lt;br /&gt;
*How to use the boards:&lt;br /&gt;
**[[Image:nu32v2_breakoutboard.jpg|thumb|500px|Solder female header pins to the NU32v2 Breakout Board so that you can plug in and remove your NU32v2|center]]&lt;br /&gt;
**[[Image:nu32v2_opticalisolationbreakoutboard.jpg|thumb|500px|Solder sockets to the Optically Isolated Motor Board so you can remove burnt out chips|center]]&lt;br /&gt;
**[[Image:nu32v2_phototransistorbreakoutboards.jpg|thumb|500px|The LED and Laser Phototransistor breakout boards will make it easier to attach wires to the sensors|center]]&lt;br /&gt;
**[[Image:nu32v2_stackedboards.jpg|thumb|500px|You can stack the NU32v2 breakout board with the Optically Isolated board|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Brochure for 2011&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*[[Media:DC2011_brochure.pdf|Brochure for 2011]]&lt;br /&gt;
&lt;br /&gt;
==Previous Years==&lt;br /&gt;
&lt;br /&gt;
Wiki pages on sensors, actuators, programming, and microcontrollers: use pages below&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* [http://www.mech.northwestern.edu/courses/433/Writeups/QuickStart/ Parts in the DC2008 quick start pack]&lt;br /&gt;
* [http://peshkin.mech.northwestern.edu/pic/info/piccintro_2008-01-24.pdf PIC C intro slides, as presented 2008/01/24 (pdf)]&lt;br /&gt;
* [http://peshkin.mech.northwestern.edu/pic/info/picinterfacing_2008-01-28.pdf PIC interfacing slides, as presented 2008/01/28 (pdf)]&lt;br /&gt;
* &amp;lt;b&amp;gt;[http://peshkin.mech.northwestern.edu/pic/code Link to all sample PIC code here.]&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sensors and actuators for DC&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[Using Solderless Breadboard|Solderless Breadboard &amp;amp; wiring that works]]&lt;br /&gt;
* [[Using LEDs &amp;amp; IREDs]]&lt;br /&gt;
* [[Using a laser]]&lt;br /&gt;
* [[Sensing optical tape|Infrared reflectivity]]&lt;br /&gt;
** Using phototransistors&lt;br /&gt;
** Sensing optical tape&lt;br /&gt;
* [[Comparators | Comparators : the analog digital interface]]&lt;br /&gt;
* [http://www.robotroom.com/FaulhaberGearmotor.html Faulhaber MiniMotor SA gearmotor with encoder], as well as [[Actuators_Available_in_the_Mechatronics_Lab#Faulhaber_1524E006S_motor_with_141:1_gearhead_and_HES164A_magnetic_quadrature_encoder|the local wiki page]]&lt;br /&gt;
* [[Adding a magnetic encoder to a GM3 Gearmotor]]&lt;br /&gt;
** Using magnetic switches (Hall Effect)&lt;br /&gt;
* [[High-current devices|Driving high-current devices: several options]]&lt;br /&gt;
* [[Driving a Stepper Motor]]&lt;br /&gt;
* [[Driving an RC Servo]]&lt;br /&gt;
* [[Accelerometers]]&lt;br /&gt;
* [[Strain gauges]]&lt;br /&gt;
* [[Using the Basic Stamp Microcontroller|Basic Stamp Microcontroller]] &amp;lt;b&amp;gt;Not recommended for DC2008&amp;lt;/b&amp;gt;&lt;br /&gt;
* [http://www.mech.northwestern.edu/courses/433/Writeups/Battery_NiMH/ NiMH rechargable batteries and chargers]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt; [http://peshkin.mech.northwestern.edu/datasheets Prof. Peshkin&amp;#039;s favorite datasheets]&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics_(Archive_Winter_2022)&amp;diff=26275</id>
		<title>ME 333 Introduction to Mechatronics (Archive Winter 2022)</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics_(Archive_Winter_2022)&amp;diff=26275"/>
		<updated>2022-02-04T19:17:45Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Winter Quarter 2022&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;First day of class is Tuesday January 4.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Section 20:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 11:00-12:20, Tech A110 starting 1/18&lt;br /&gt;
* Section 21:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 12:30-1:50, Francis Searle 2407 1/18&lt;br /&gt;
* TAs:  &lt;br /&gt;
** Tito Fernandez&lt;br /&gt;
** Huan Weng&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Final demo&amp;#039;&amp;#039;&amp;#039; (in lieu of final exam):  Monday Mar 14 3-5 PM (12:30-1:50 section) and Wednesday Mar 16 9-11 AM (11-12:20 section)&lt;br /&gt;
* Office Hours: &lt;br /&gt;
** Tito: Monday 1-2:30pm&lt;br /&gt;
** Huan: Wednesday 2-4pm in Ford B100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--in Ford B100:  &lt;br /&gt;
** TuWThF 4-5pm with Prof. Marchuk in Ford B100, or by appt --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Quick links:&lt;br /&gt;
** [http://www.it.northwestern.edu/education/login.html Canvas Course Management System]&lt;br /&gt;
** [[NU32 Videos|NU32 Videos]]&lt;br /&gt;
** [[NU32 Software|NU32 Software]]&lt;br /&gt;
** [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form Report a typo or bug in the book]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Purpose of this Course ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this course is to &amp;#039;&amp;#039;&amp;#039;provide tools that help you express your creativity&amp;#039;&amp;#039;&amp;#039;.  Maybe you want to build a robot, or a piece of kinetic art, or an automatic ball-throwing device to entertain your dog; maybe you&amp;#039;ve identified a market for a new smart product and you&amp;#039;d like to prototype the device.  This course provides fundamentals of mechatronics to give you confidence to take on these projects.  You are encouraged to take what you learn in this course and apply it in ME 433 Advanced Mechatronics, DSGN 360 Design Competition, senior design projects, or independent projects.&lt;br /&gt;
&lt;br /&gt;
== Approximate Syllabus ==&lt;br /&gt;
&lt;br /&gt;
This course is for students who want to build microprocessor-controlled electromechanical devices.  &lt;br /&gt;
&lt;br /&gt;
To do this, ME 333 focuses on three topics: (1) general C programming; (2) Microchip PIC microcontroller architecture and C programming specific to the PIC (e.g., using the PIC&amp;#039;s peripherals, such as analog inputs, digital I/O, counters/timers, comm ports, etc.); and (3) interfacing the PIC to sensors and actuators, some theory of sensor and actuator operation, and interface circuitry and signal processing. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;You will do a lot of programming in this course!&amp;#039;&amp;#039;&amp;#039;  If you are certain you hate programming, then this is not the course for you.  But knowing how to program is very useful for any modern engineer.  The language we will use is C, a fairly low-level language that works well for microcontrollers, which is more portable and not nearly as painful and low-level as assembly language.  If you don&amp;#039;t know C, that&amp;#039;s not a problem, most students don&amp;#039;t before taking ME 333; but you should plan to learn it, and rather quickly.  You will have all the materials you need to start learning C before class starts, and &amp;#039;&amp;#039;&amp;#039;the first assignment on C is due on the first day of class&amp;#039;&amp;#039;&amp;#039;!  The reason:  even though we start out with C, that&amp;#039;s not the main goal of this course.  The main goal is to teach you about microcontrollers and mechatronics.  Plus some students already have C background.&lt;br /&gt;
&lt;br /&gt;
You will bring your laptop to each class.  As the quarter progresses, we will be handing out other equipment that you will need to bring to class, such as the NU32 development board that breaks out the [http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC32MX795F512H PIC32MX795F512H] microcontroller.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;It is essential you do the assigned reading and watch the videos in advance of class.&amp;#039;&amp;#039;&amp;#039;  You will have an assignment and/or lecture comprehension questions (L-comps) due before every class, turned in electronically on Canvas.  (This includes the very first day of class!)  Once a week we will have a short quiz.  Most classes will have a combination of a brief review, Q&amp;amp;A, and working individually or in small groups on problems while the instructors help answer any questions.&lt;br /&gt;
&lt;br /&gt;
Topics we will cover, time depending, include:&lt;br /&gt;
&lt;br /&gt;
* introduction to C programming&lt;br /&gt;
* introduction to the PIC32 hardware, and programming the PIC32 in C&lt;br /&gt;
* digital I/O&lt;br /&gt;
* counters/timers and interrupts&lt;br /&gt;
* analog input&lt;br /&gt;
* sensor smorgasbord&lt;br /&gt;
* digital signal processing:  filters and FFTs&lt;br /&gt;
* analog output and pulse-width modulation&lt;br /&gt;
* brushed permanent magnet DC motors:  theory and control&lt;br /&gt;
* stepper motors and RC servo motors&lt;br /&gt;
* communication by SPI, I2C, and RS-232&lt;br /&gt;
&lt;br /&gt;
== Checklist to Complete Before the First Day of Class ==&lt;br /&gt;
&lt;br /&gt;
By the first day of class, you should:&lt;br /&gt;
&lt;br /&gt;
* Complete the reading and assignment 1, which is &amp;#039;&amp;#039;&amp;#039;due the first day of class!&amp;#039;&amp;#039;&amp;#039;  The first assignments are designed to get you up to speed on the C programming language, which we will use throughout the course.&lt;br /&gt;
* Have a laptop with at least 2 USB A-style ports.  Any operating system is fine.  One port will be used to program and communicate with your PIC microcontroller, and the other will be used for your portable oscilloscope.  &lt;br /&gt;
* Be prepared to buy your class kit, consisting of the portable nScope oscilloscope, the NU32 PIC32 development board, and lots of other goodies.  Price $125 if you are starting from scratch; $75 if you already have the nScope. &lt;br /&gt;
&amp;lt;!--  &lt;br /&gt;
 * Buy your class kit [http://it.mccormick.northwestern.edu/matlab/student_license/login.php &amp;#039;&amp;#039;&amp;#039;here&amp;#039;&amp;#039;&amp;#039;].  If you already have the oscilloscope and multimeter from this year&amp;#039;s ME 233 offering, you should choose &amp;quot;ME 333 (nScope not needed ($75))&amp;quot; for the price of $75.  If you do not have the oscilloscope and multimeter, you should choose &amp;quot;ME 333 (including nScope ($125))&amp;quot; for the price of $125.  You will not be able to start the course until you have completed the purchase of your kit.  If you decide to drop the course, you will be refunded the purchase price upon return of all the equipment in working shape. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Student Contract ==&lt;br /&gt;
&lt;br /&gt;
By signing up for this course, you agree to complete the checklist above before the course starts.  You agree to stay engaged during the class period; even if your computer is open, no facebook or other distractions that will lessen your contribution to the class.  You understand that learning from classmates, and helping classmates, is encouraged, up to the stage of conceptualizing solutions.  You are not allowed to fully complete a solution in a team.  You understand that plagiarism is not tolerated.  You will report instances of plagiarism you are aware of.  Plagiarism includes, but is not limited to:&lt;br /&gt;
&lt;br /&gt;
* Allowing another student to copy your work.&lt;br /&gt;
* Copying another student&amp;#039;s work, in whole or in part.&lt;br /&gt;
* Transforming copied sections of code or solutions to try to disguise their origin.&lt;br /&gt;
* Borrowing code or solutions from others not in the course, e.g., code found on the internet, without attribution.  Borrowing code found on the internet is acceptable if the source is clearly indicated in your code comments, and if you understand how the code works.&lt;br /&gt;
&lt;br /&gt;
On our part (faculty and TAs), we commit to do our best to provide you a curriculum and set of experimental materials to get you up to speed on sophisticated mechatronics integration as quickly and efficiently as possible, while giving you a foundation in concepts needed to go further in future projects and courses.&lt;br /&gt;
&lt;br /&gt;
== Prerequisite ==&lt;br /&gt;
&lt;br /&gt;
ME 233 Electronics Design or similar (EECS 221, 225, BME 305 (pre-2020) or BME 308 (post-2020)) is required. You will be expected to analyze circuits with resistors, capacitors, inductors, diodes, transistors, and op-amps. You can find refresher material and a sample quiz at [[ME_333_Circuits_Review_Material|this page]] and in Appendix B of the book.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
&lt;br /&gt;
Required:&lt;br /&gt;
&lt;br /&gt;
* Textbook: &amp;quot;Embedded Computing and Mechatronics with the PIC32 Microcontroller&amp;quot; ([http://www.amazon.com/gp/product/0124201652/ Amazon], [http://store.elsevier.com/product.jsp?isbn=9780124201651 Elsevier]).  Sample chapters, including the appendix &amp;quot;A Crash Course in C&amp;quot; can be found in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]].  &lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;A pdf of the textbook is included in the class kit, you do not need to buy it online or at the bookstore!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Optional:  [[Media:EssentialC.pdf|Essential C]] is also a very nice intro to C.  Let us know about other online C resources you find particularly useful.&lt;br /&gt;
* [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]]&lt;br /&gt;
* [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]]&lt;br /&gt;
&lt;br /&gt;
Find a typo in the book or a bug in the code? Report it [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form here]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Useful, but not required:&lt;br /&gt;
* [http://www.amazon.com/Programming-32-bit-Microcontrollers-Exploring-Technology/dp/0750687096/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1294091438&amp;amp;sr=8-1-spell Programming 32-bit Microcontrollers in C:  Exploring the PIC32] by Lucio Di Jasio.  This is an easy to read and informative exploration of the PIC32.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Other C resources, such as this [[Media:CBook.pdf|pdf version]] of &amp;quot;The C Book,&amp;quot; and the classic [http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1294091625&amp;amp;sr=1-1 C Programming Language] reference book by Kernighan and Ritchie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
Grades will be approximately 40% quizzes and 60% assignments and L-comps (including the final project).  We will have short quizzes once a week at the beginning of class covering material on the previous assignment. We will have a final project and demo in lieu of a final exam.&lt;br /&gt;
&lt;br /&gt;
All quizzes, assignments, and L-comps have equal weight, regardless of how many points they are graded out of.  If one assignment is graded out of 20 points, and the next out of 40, the formula for calculating your total grade for these two assignments would be 0.5*(score1/20) + 0.5*(score2/40).&lt;br /&gt;
&lt;br /&gt;
== Homework Submission ==&lt;br /&gt;
&lt;br /&gt;
All homework will be submitted using the [http://www.it.northwestern.edu/education/login.html Canvas Course Management System].  Homework should be submitted by 11 AM on the day it is due (i.e., before the first section of the day).  Late homework will not be accepted.&lt;br /&gt;
&lt;br /&gt;
Here are a few guidelines/tips associated with homework submissions:&lt;br /&gt;
&lt;br /&gt;
* Upload files individually. No zip archives!&lt;br /&gt;
&lt;br /&gt;
* Submit written responses as PDFs. &lt;br /&gt;
&lt;br /&gt;
* If you upload a PDF of handwritten work, make sure that the text appears clearly and the picture is oriented portrait style. &lt;br /&gt;
&lt;br /&gt;
* When asked to submit C code for a given programming assignment, we are only concerned with receiving the relevant source files, i.e., all *.c and *.h files.   &lt;br /&gt;
&lt;br /&gt;
* When writing your responses, please follow any instructions on how to write your response.  For example, if we ask for a snippet of code, please do not submit your entire C program with header files and a main routine.  We typically are only expecting a few lines of code that solve the problem.&lt;br /&gt;
&lt;br /&gt;
* Be neat and make sure your answers are easy to follow.  Messy hard-to-follow assignments make TAs cranky, and you don&amp;#039;t want cranky TAs grading your assignment!&lt;br /&gt;
&lt;br /&gt;
* It helps both us and you if you format your code nicely.  Clean looking code is easier for us to grade and easier for you to debug.  Text editors with IDEs such as Visual Studio Code, Netbeans and MPLAB X have tools for auto-formatting code.  For example, highlighting a region and hitting Alt+Shift+f (Linux and Windows) will format that region according to your local formatting preferences.&lt;br /&gt;
&lt;br /&gt;
* When you compile your code, pay attention to any compiler warnings.  They are there for a reason!  You should be able to eventually get your code to produce no warnings.  Often if a piece of code is not working, the warnings will give a clue as to why.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
This course is (partially) &amp;quot;flipped&amp;quot;:  you watch video lectures and do readings in advance of class, and during class, you should have plenty of opportunity for questions and interaction with the instructors and TAs as you work on assignments.  The purpose of this is to try to maximize the value of the class time.  In a typical lecture, 80% of the material is the same every time it is given, and the other 20% is interactive and variable based on student questions.  In a flipped class, we hope to flip this percentage, to better tailor the class to student needs.  You will have time with the instructors while your brains are actually on and working on the material (not just scribbling notes), the times when you are most likely to have questions.  Making the video lectures available should also allow you to spend more or less time on the lecture portion, depending on your prior background.  If the material is difficult for you, you can pause or rewind.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Please keep track of any questions you have as you watch the videos!&amp;#039;&amp;#039;&amp;#039; Bring these questions to class; it will make for a livelier classroom.  &lt;br /&gt;
&lt;br /&gt;
All videos can be found at this page:  [[NU32 Videos|&amp;#039;&amp;#039;&amp;#039;NU32 Videos&amp;#039;&amp;#039;&amp;#039;]] and sample code at the bottom of [[NU32 Software|&amp;#039;&amp;#039;&amp;#039;NU32 Software&amp;#039;&amp;#039;&amp;#039;]].  We will cover almost all of the Appendix, a Crash Course in C, in the first 1.5 weeks of class, so you can work ahead and do all the readings, watch all the videos, and do all the problems, if you have time over the break.  But at a minimum, you must do the winter break assignment.  &lt;br /&gt;
&lt;br /&gt;
We will have video lecture comprehension questions (L-comps) due before every class, assignments due every Tuesday, and quizzes every Thursday (on the material covered in the assignment turned in on Thursday).  L-comps and assignments are turned in using Canvas before 11 AM the day of the class.  The weekly rhythm will be:&lt;br /&gt;
&lt;br /&gt;
* before Tuesday:  turn in assignment on material from previous week and L-comps on videos for the next class&lt;br /&gt;
* Tuesday in class:  discuss assignment, brief recap and Q&amp;amp;A on new videos, start on next assignment&lt;br /&gt;
* before Thursday:  turn in L-comps on videos for next class&lt;br /&gt;
* Thursday in class:  brief quiz on material in assignment turned in on Thursday, recap and discuss videos, continue with assignment&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Winter Break&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Reading due for first class&amp;#039;&amp;#039;&amp;#039;:  pages 515-527 in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]]&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:  1-7 of Appendix A [[NU32 Videos]].  Answer the lecture comprehension (L-comp) questions in CANVAS. &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment&amp;#039;&amp;#039;&amp;#039;:  Exercises 1-4, 6-8, 10-11, 16-17 of Appendix A.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;:  Make a video of your HelloWorld.c program and upload in CANVAS.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 1&amp;#039;&amp;#039;&amp;#039; (T 1/4)  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment due&amp;#039;&amp;#039;&amp;#039;:  L-comp and exercise solutions, and demo video, for the Winter Break assignment by 11am on CANVAS.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from last year&amp;#039;&amp;#039;&amp;#039; https://youtu.be/6cFSmm6eX6w https://youtu.be/P9v-AxwCvHc https://youtu.be/BgNt20-Ivfw https://youtu.be/EvIfmEzMXqs&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Begin next assignment:&amp;#039;&amp;#039;&amp;#039;  Appendix A exercises 18-19, 21-22, 27-28, 30-32, 34-35.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;: Exercise 34 and 35.&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps: 8-16 of a Crash Course in C. &lt;br /&gt;
: Reading:  Through page 562 of a Crash Course in C, and the rest of the Appendix as reference.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 2&amp;#039;&amp;#039;&amp;#039; (Th 1/6)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Answer L-comps &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from last year&amp;#039;&amp;#039;&amp;#039; https://youtu.be/PcREfvXxJQE https://youtu.be/fMmT7FyACMI https://youtu.be/6L7qcu_-I_Q https://youtu.be/r2a4Lg2p0to&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Continue assignment&amp;#039;&amp;#039;&amp;#039;   &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  17 of a Crash Course in C.&lt;br /&gt;
: Reading:  Rest of a Crash Course in C as reference&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 3&amp;#039;&amp;#039;&amp;#039; (T 1/11)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Turn in assignment, L-comps, and demo videos.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Review for the Quiz&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from last year&amp;#039;&amp;#039;&amp;#039; https://youtu.be/I5wguSQcEiw https://youtu.be/LbuoWj5BM3Q&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Reading:  Complete Chapter 1 (quickstart) and Chapter 2.  &lt;br /&gt;
: Assignment:  Problems 3-16 of Chapter 2.  You will need the [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]] and the [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]].&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Study.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 4&amp;#039;&amp;#039;&amp;#039; (Th 1/13)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz review on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz:&amp;#039;&amp;#039;&amp;#039; At home, on C, posted on Canvas at 3pm, due by Fri 6pm &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (no L-comps):  Chapter 1 (for your specific OS)&lt;br /&gt;
: Reading:  Chapter 1: Quickstart&lt;br /&gt;
: Download, install, and compile all software as indicated through the end of Chapter 1.3. See [[NU32 Software | NU32 Software]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 5&amp;#039;&amp;#039;&amp;#039; (T 1/18)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Homework for Chapter 2&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;In class demonstration&amp;#039;&amp;#039;&amp;#039;: Compile helloWorld and talkingPIC for NU32.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: Go over PIC32 software&amp;#039;&amp;#039;&amp;#039; - https://youtu.be/0mG7hlwUduA  https://youtu.be/ZGzbVhb_sdU&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 1,3,7,8,9&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps): 1-4 from Chapter 2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 6&amp;#039;&amp;#039;&amp;#039; (Th 1/20)&lt;br /&gt;
: Turn in Chapter 2 L-comps&lt;br /&gt;
: Quiz on Chapter 1&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/0R-aj6XtJLE https://youtu.be/NEICsIIprKU &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 3. &lt;br /&gt;
: Reading:  Complete Chapter 3.&lt;br /&gt;
: Homework for Chapters 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 7&amp;#039;&amp;#039;&amp;#039; (T 1/25)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Turn in Homework from Chapter 2, L-comps for Chapter 3 videos, read Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/CyGwEoNJdS4 https://youtu.be/5LyWPeLY7yU https://youtu.be/UXNOx6Z1Q9w&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 4. &lt;br /&gt;
: Reading:  Complete Chapter 4.&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 8&amp;#039;&amp;#039;&amp;#039; (Th 1/27)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Chapter 4 L-comp.&lt;br /&gt;
: Quiz on Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/16_lVr_k7R0  https://youtu.be/HoNKp8MNGOw  &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 9&amp;#039;&amp;#039;&amp;#039; (T 2/1)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 3 and 4 homework&lt;br /&gt;
: Videos and L-comps on Chapter 5 &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 5:&lt;br /&gt;
: Homework: Chapter 5 (use no optimization for all exercises): Exercises 3, 4.  Chapter 6:  Exercises 1, 4, 5, 8, 9, 16,17. Make a demo video for 6.17&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 10&amp;#039;&amp;#039;&amp;#039; (Th 2/3)&lt;br /&gt;
: Quiz on Chapter 4&lt;br /&gt;
: Videos and L-comps on Chapter 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 6: https://youtu.be/YhmynLK8dTY https://youtu.be/kJ2rvqyuQzM https://youtu.be/JGBWpj5yNfY &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 11&amp;#039;&amp;#039;&amp;#039; (T 2/8)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 5 and 6 homework&lt;br /&gt;
: Videos and L-comps on Chapters 7 and 8&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos: &amp;#039;&amp;#039; On Chapter 7 &amp;amp; 8: https://youtu.be/04C3QZ7JTMs  https://youtu.be/b3aOIfClECE&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Chapter 7: Exercises 1,2. Chapter 8: Exercise 1. Chapter 9: Exercise 1. Chapter 10: Exercise 1,2.&lt;br /&gt;
: The next assignment is related, do Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Th 2/10)&lt;br /&gt;
: Quiz on Chapter 5 and 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos:&amp;#039;&amp;#039;&amp;#039; On Chapter 9, 10 &amp;amp; 11: 9, 10, https://youtu.be/Eqip-9y3mCc &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (T 2/15)&lt;br /&gt;
: Due: Homework from Chapter 7, 8, 9, 10, and the first half of Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 7 8 9 10 homework&lt;br /&gt;
: Assignment: Chapter 24 project. Create solutions for Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2, 24.5, 24.7, and 24.8.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Th 2/17)&lt;br /&gt;
: Quiz on Chapter 7 8 9 10 11&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
: Pay for your equipment.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (T 2/22)&lt;br /&gt;
: Due: Homework from Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 24 homework&lt;br /&gt;
: Assignment: First half of Chapter 28: Chapter 28 through 28.4.1. Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 2/24)&lt;br /&gt;
: Quiz on Chapter 23&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (T 3/1)&lt;br /&gt;
: Due: First half of Chapter 28, up to 28.4.9&lt;br /&gt;
: Assignment: Complete Chapter 28: 28.4.10 #5, 28.4.12 #5.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Th 3/3)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos:&amp;#039;&amp;#039;&amp;#039; https://youtu.be/eoszZpwqNgY https://youtu.be/cz9ckQUsvH8 https://youtu.be/I--miZscPxc https://youtu.be/x5bSqBKPn1U&lt;br /&gt;
: Quiz on Chapter 25 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (T 3/8)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 20&amp;#039;&amp;#039;&amp;#039; (T 3/10)&lt;br /&gt;
: Quiz on Chapter 25 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Assignment&amp;#039;&amp;#039;&amp;#039; Due by Thur 3/16 at noon&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: Sign up for a 5 minute time slot to demo your final project: TBD&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1reEmJ7B2UCTsKIef9iCSJKDipg_J4DuTVHDbNA6Ls-0/edit?usp=sharing googledoc]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Do I need to know the C language to take this course?&lt;br /&gt;
&lt;br /&gt;
A: No. But if you already know C, there is still plenty else in this course for you. If you already know C, know how to use microcontrollers for real-time control, and have a good understanding how common sensors and actuators work and how to interface to them, this course may not be for you. Consider taking ME 433 Advanced Mechatronics in the spring quarter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: Is there an independent project?&lt;br /&gt;
&lt;br /&gt;
A: There is no large independent project. There will be a two-week project at the end of the course, but there will be no machining. For a more significant project, take ME 433 Advanced Mechatronics, offered in the spring quarter. ME 333 is good preparation for ME 433.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: What kind of laptop do I need?&lt;br /&gt;
&lt;br /&gt;
A: You need a laptop with at least 2 USB ports.  Any operating system is fine.&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics_(Archive_Winter_2022)&amp;diff=26274</id>
		<title>ME 333 Introduction to Mechatronics (Archive Winter 2022)</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics_(Archive_Winter_2022)&amp;diff=26274"/>
		<updated>2022-02-04T19:17:12Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Winter Quarter 2022&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;First day of class is Tuesday January 4.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Section 20:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 11:00-12:20, Tech A110 starting 1/18&lt;br /&gt;
* Section 21:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 12:30-1:50, Francis Searle 2407 1/18&lt;br /&gt;
* TAs:  &lt;br /&gt;
** Tito Fernandez&lt;br /&gt;
** Huan Weng&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Final demo&amp;#039;&amp;#039;&amp;#039; (in lieu of final exam):  Monday Mar 14 3-5 PM (12:30-1:50 section) and Wednesday Mar 16 9-11 AM (11-12:20 section)&lt;br /&gt;
* Office Hours: &lt;br /&gt;
** Tito: Monday 1-2:30pm&lt;br /&gt;
** Huan: Wednesday 2-4pm in Ford B100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--in Ford B100:  &lt;br /&gt;
** TuWThF 4-5pm with Prof. Marchuk in Ford B100, or by appt --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Quick links:&lt;br /&gt;
** [http://www.it.northwestern.edu/education/login.html Canvas Course Management System]&lt;br /&gt;
** [[NU32 Videos|NU32 Videos]]&lt;br /&gt;
** [[NU32 Software|NU32 Software]]&lt;br /&gt;
** [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form Report a typo or bug in the book]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Purpose of this Course ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this course is to &amp;#039;&amp;#039;&amp;#039;provide tools that help you express your creativity&amp;#039;&amp;#039;&amp;#039;.  Maybe you want to build a robot, or a piece of kinetic art, or an automatic ball-throwing device to entertain your dog; maybe you&amp;#039;ve identified a market for a new smart product and you&amp;#039;d like to prototype the device.  This course provides fundamentals of mechatronics to give you confidence to take on these projects.  You are encouraged to take what you learn in this course and apply it in ME 433 Advanced Mechatronics, DSGN 360 Design Competition, senior design projects, or independent projects.&lt;br /&gt;
&lt;br /&gt;
== Approximate Syllabus ==&lt;br /&gt;
&lt;br /&gt;
This course is for students who want to build microprocessor-controlled electromechanical devices.  &lt;br /&gt;
&lt;br /&gt;
To do this, ME 333 focuses on three topics: (1) general C programming; (2) Microchip PIC microcontroller architecture and C programming specific to the PIC (e.g., using the PIC&amp;#039;s peripherals, such as analog inputs, digital I/O, counters/timers, comm ports, etc.); and (3) interfacing the PIC to sensors and actuators, some theory of sensor and actuator operation, and interface circuitry and signal processing. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;You will do a lot of programming in this course!&amp;#039;&amp;#039;&amp;#039;  If you are certain you hate programming, then this is not the course for you.  But knowing how to program is very useful for any modern engineer.  The language we will use is C, a fairly low-level language that works well for microcontrollers, which is more portable and not nearly as painful and low-level as assembly language.  If you don&amp;#039;t know C, that&amp;#039;s not a problem, most students don&amp;#039;t before taking ME 333; but you should plan to learn it, and rather quickly.  You will have all the materials you need to start learning C before class starts, and &amp;#039;&amp;#039;&amp;#039;the first assignment on C is due on the first day of class&amp;#039;&amp;#039;&amp;#039;!  The reason:  even though we start out with C, that&amp;#039;s not the main goal of this course.  The main goal is to teach you about microcontrollers and mechatronics.  Plus some students already have C background.&lt;br /&gt;
&lt;br /&gt;
You will bring your laptop to each class.  As the quarter progresses, we will be handing out other equipment that you will need to bring to class, such as the NU32 development board that breaks out the [http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC32MX795F512H PIC32MX795F512H] microcontroller.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;It is essential you do the assigned reading and watch the videos in advance of class.&amp;#039;&amp;#039;&amp;#039;  You will have an assignment and/or lecture comprehension questions (L-comps) due before every class, turned in electronically on Canvas.  (This includes the very first day of class!)  Once a week we will have a short quiz.  Most classes will have a combination of a brief review, Q&amp;amp;A, and working individually or in small groups on problems while the instructors help answer any questions.&lt;br /&gt;
&lt;br /&gt;
Topics we will cover, time depending, include:&lt;br /&gt;
&lt;br /&gt;
* introduction to C programming&lt;br /&gt;
* introduction to the PIC32 hardware, and programming the PIC32 in C&lt;br /&gt;
* digital I/O&lt;br /&gt;
* counters/timers and interrupts&lt;br /&gt;
* analog input&lt;br /&gt;
* sensor smorgasbord&lt;br /&gt;
* digital signal processing:  filters and FFTs&lt;br /&gt;
* analog output and pulse-width modulation&lt;br /&gt;
* brushed permanent magnet DC motors:  theory and control&lt;br /&gt;
* stepper motors and RC servo motors&lt;br /&gt;
* communication by SPI, I2C, and RS-232&lt;br /&gt;
&lt;br /&gt;
== Checklist to Complete Before the First Day of Class ==&lt;br /&gt;
&lt;br /&gt;
By the first day of class, you should:&lt;br /&gt;
&lt;br /&gt;
* Complete the reading and assignment 1, which is &amp;#039;&amp;#039;&amp;#039;due the first day of class!&amp;#039;&amp;#039;&amp;#039;  The first assignments are designed to get you up to speed on the C programming language, which we will use throughout the course.&lt;br /&gt;
* Have a laptop with at least 2 USB A-style ports.  Any operating system is fine.  One port will be used to program and communicate with your PIC microcontroller, and the other will be used for your portable oscilloscope.  &lt;br /&gt;
* Be prepared to buy your class kit, consisting of the portable nScope oscilloscope, the NU32 PIC32 development board, and lots of other goodies.  Price $125 if you are starting from scratch; $75 if you already have the nScope. &lt;br /&gt;
&amp;lt;!--  &lt;br /&gt;
 * Buy your class kit [http://it.mccormick.northwestern.edu/matlab/student_license/login.php &amp;#039;&amp;#039;&amp;#039;here&amp;#039;&amp;#039;&amp;#039;].  If you already have the oscilloscope and multimeter from this year&amp;#039;s ME 233 offering, you should choose &amp;quot;ME 333 (nScope not needed ($75))&amp;quot; for the price of $75.  If you do not have the oscilloscope and multimeter, you should choose &amp;quot;ME 333 (including nScope ($125))&amp;quot; for the price of $125.  You will not be able to start the course until you have completed the purchase of your kit.  If you decide to drop the course, you will be refunded the purchase price upon return of all the equipment in working shape. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Student Contract ==&lt;br /&gt;
&lt;br /&gt;
By signing up for this course, you agree to complete the checklist above before the course starts.  You agree to stay engaged during the class period; even if your computer is open, no facebook or other distractions that will lessen your contribution to the class.  You understand that learning from classmates, and helping classmates, is encouraged, up to the stage of conceptualizing solutions.  You are not allowed to fully complete a solution in a team.  You understand that plagiarism is not tolerated.  You will report instances of plagiarism you are aware of.  Plagiarism includes, but is not limited to:&lt;br /&gt;
&lt;br /&gt;
* Allowing another student to copy your work.&lt;br /&gt;
* Copying another student&amp;#039;s work, in whole or in part.&lt;br /&gt;
* Transforming copied sections of code or solutions to try to disguise their origin.&lt;br /&gt;
* Borrowing code or solutions from others not in the course, e.g., code found on the internet, without attribution.  Borrowing code found on the internet is acceptable if the source is clearly indicated in your code comments, and if you understand how the code works.&lt;br /&gt;
&lt;br /&gt;
On our part (faculty and TAs), we commit to do our best to provide you a curriculum and set of experimental materials to get you up to speed on sophisticated mechatronics integration as quickly and efficiently as possible, while giving you a foundation in concepts needed to go further in future projects and courses.&lt;br /&gt;
&lt;br /&gt;
== Prerequisite ==&lt;br /&gt;
&lt;br /&gt;
ME 233 Electronics Design or similar (EECS 221, 225, BME 305 (pre-2020) or BME 308 (post-2020)) is required. You will be expected to analyze circuits with resistors, capacitors, inductors, diodes, transistors, and op-amps. You can find refresher material and a sample quiz at [[ME_333_Circuits_Review_Material|this page]] and in Appendix B of the book.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
&lt;br /&gt;
Required:&lt;br /&gt;
&lt;br /&gt;
* Textbook: &amp;quot;Embedded Computing and Mechatronics with the PIC32 Microcontroller&amp;quot; ([http://www.amazon.com/gp/product/0124201652/ Amazon], [http://store.elsevier.com/product.jsp?isbn=9780124201651 Elsevier]).  Sample chapters, including the appendix &amp;quot;A Crash Course in C&amp;quot; can be found in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]].  &lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;A pdf of the textbook is included in the class kit, you do not need to buy it online or at the bookstore!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Optional:  [[Media:EssentialC.pdf|Essential C]] is also a very nice intro to C.  Let us know about other online C resources you find particularly useful.&lt;br /&gt;
* [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]]&lt;br /&gt;
* [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]]&lt;br /&gt;
&lt;br /&gt;
Find a typo in the book or a bug in the code? Report it [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form here]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Useful, but not required:&lt;br /&gt;
* [http://www.amazon.com/Programming-32-bit-Microcontrollers-Exploring-Technology/dp/0750687096/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1294091438&amp;amp;sr=8-1-spell Programming 32-bit Microcontrollers in C:  Exploring the PIC32] by Lucio Di Jasio.  This is an easy to read and informative exploration of the PIC32.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Other C resources, such as this [[Media:CBook.pdf|pdf version]] of &amp;quot;The C Book,&amp;quot; and the classic [http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1294091625&amp;amp;sr=1-1 C Programming Language] reference book by Kernighan and Ritchie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
Grades will be approximately 40% quizzes and 60% assignments and L-comps (including the final project).  We will have short quizzes once a week at the beginning of class covering material on the previous assignment. We will have a final project and demo in lieu of a final exam.&lt;br /&gt;
&lt;br /&gt;
All quizzes, assignments, and L-comps have equal weight, regardless of how many points they are graded out of.  If one assignment is graded out of 20 points, and the next out of 40, the formula for calculating your total grade for these two assignments would be 0.5*(score1/20) + 0.5*(score2/40).&lt;br /&gt;
&lt;br /&gt;
== Homework Submission ==&lt;br /&gt;
&lt;br /&gt;
All homework will be submitted using the [http://www.it.northwestern.edu/education/login.html Canvas Course Management System].  Homework should be submitted by 11 AM on the day it is due (i.e., before the first section of the day).  Late homework will not be accepted.&lt;br /&gt;
&lt;br /&gt;
Here are a few guidelines/tips associated with homework submissions:&lt;br /&gt;
&lt;br /&gt;
* Upload files individually. No zip archives!&lt;br /&gt;
&lt;br /&gt;
* Submit written responses as PDFs. &lt;br /&gt;
&lt;br /&gt;
* If you upload a PDF of handwritten work, make sure that the text appears clearly and the picture is oriented portrait style. &lt;br /&gt;
&lt;br /&gt;
* When asked to submit C code for a given programming assignment, we are only concerned with receiving the relevant source files, i.e., all *.c and *.h files.   &lt;br /&gt;
&lt;br /&gt;
* When writing your responses, please follow any instructions on how to write your response.  For example, if we ask for a snippet of code, please do not submit your entire C program with header files and a main routine.  We typically are only expecting a few lines of code that solve the problem.&lt;br /&gt;
&lt;br /&gt;
* Be neat and make sure your answers are easy to follow.  Messy hard-to-follow assignments make TAs cranky, and you don&amp;#039;t want cranky TAs grading your assignment!&lt;br /&gt;
&lt;br /&gt;
* It helps both us and you if you format your code nicely.  Clean looking code is easier for us to grade and easier for you to debug.  Text editors with IDEs such as Visual Studio Code, Netbeans and MPLAB X have tools for auto-formatting code.  For example, highlighting a region and hitting Alt+Shift+f (Linux and Windows) will format that region according to your local formatting preferences.&lt;br /&gt;
&lt;br /&gt;
* When you compile your code, pay attention to any compiler warnings.  They are there for a reason!  You should be able to eventually get your code to produce no warnings.  Often if a piece of code is not working, the warnings will give a clue as to why.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
This course is (partially) &amp;quot;flipped&amp;quot;:  you watch video lectures and do readings in advance of class, and during class, you should have plenty of opportunity for questions and interaction with the instructors and TAs as you work on assignments.  The purpose of this is to try to maximize the value of the class time.  In a typical lecture, 80% of the material is the same every time it is given, and the other 20% is interactive and variable based on student questions.  In a flipped class, we hope to flip this percentage, to better tailor the class to student needs.  You will have time with the instructors while your brains are actually on and working on the material (not just scribbling notes), the times when you are most likely to have questions.  Making the video lectures available should also allow you to spend more or less time on the lecture portion, depending on your prior background.  If the material is difficult for you, you can pause or rewind.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Please keep track of any questions you have as you watch the videos!&amp;#039;&amp;#039;&amp;#039; Bring these questions to class; it will make for a livelier classroom.  &lt;br /&gt;
&lt;br /&gt;
All videos can be found at this page:  [[NU32 Videos|&amp;#039;&amp;#039;&amp;#039;NU32 Videos&amp;#039;&amp;#039;&amp;#039;]] and sample code at the bottom of [[NU32 Software|&amp;#039;&amp;#039;&amp;#039;NU32 Software&amp;#039;&amp;#039;&amp;#039;]].  We will cover almost all of the Appendix, a Crash Course in C, in the first 1.5 weeks of class, so you can work ahead and do all the readings, watch all the videos, and do all the problems, if you have time over the break.  But at a minimum, you must do the winter break assignment.  &lt;br /&gt;
&lt;br /&gt;
We will have video lecture comprehension questions (L-comps) due before every class, assignments due every Tuesday, and quizzes every Thursday (on the material covered in the assignment turned in on Thursday).  L-comps and assignments are turned in using Canvas before 11 AM the day of the class.  The weekly rhythm will be:&lt;br /&gt;
&lt;br /&gt;
* before Tuesday:  turn in assignment on material from previous week and L-comps on videos for the next class&lt;br /&gt;
* Tuesday in class:  discuss assignment, brief recap and Q&amp;amp;A on new videos, start on next assignment&lt;br /&gt;
* before Thursday:  turn in L-comps on videos for next class&lt;br /&gt;
* Thursday in class:  brief quiz on material in assignment turned in on Thursday, recap and discuss videos, continue with assignment&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Winter Break&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Reading due for first class&amp;#039;&amp;#039;&amp;#039;:  pages 515-527 in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]]&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:  1-7 of Appendix A [[NU32 Videos]].  Answer the lecture comprehension (L-comp) questions in CANVAS. &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment&amp;#039;&amp;#039;&amp;#039;:  Exercises 1-4, 6-8, 10-11, 16-17 of Appendix A.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;:  Make a video of your HelloWorld.c program and upload in CANVAS.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 1&amp;#039;&amp;#039;&amp;#039; (T 1/4)  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment due&amp;#039;&amp;#039;&amp;#039;:  L-comp and exercise solutions, and demo video, for the Winter Break assignment by 11am on CANVAS.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from last year&amp;#039;&amp;#039;&amp;#039; https://youtu.be/6cFSmm6eX6w https://youtu.be/P9v-AxwCvHc https://youtu.be/BgNt20-Ivfw https://youtu.be/EvIfmEzMXqs&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Begin next assignment:&amp;#039;&amp;#039;&amp;#039;  Appendix A exercises 18-19, 21-22, 27-28, 30-32, 34-35.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;: Exercise 34 and 35.&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps: 8-16 of a Crash Course in C. &lt;br /&gt;
: Reading:  Through page 562 of a Crash Course in C, and the rest of the Appendix as reference.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 2&amp;#039;&amp;#039;&amp;#039; (Th 1/6)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Answer L-comps &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from last year&amp;#039;&amp;#039;&amp;#039; https://youtu.be/PcREfvXxJQE https://youtu.be/fMmT7FyACMI https://youtu.be/6L7qcu_-I_Q https://youtu.be/r2a4Lg2p0to&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Continue assignment&amp;#039;&amp;#039;&amp;#039;   &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  17 of a Crash Course in C.&lt;br /&gt;
: Reading:  Rest of a Crash Course in C as reference&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 3&amp;#039;&amp;#039;&amp;#039; (T 1/11)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Turn in assignment, L-comps, and demo videos.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Review for the Quiz&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from last year&amp;#039;&amp;#039;&amp;#039; https://youtu.be/I5wguSQcEiw https://youtu.be/LbuoWj5BM3Q&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Reading:  Complete Chapter 1 (quickstart) and Chapter 2.  &lt;br /&gt;
: Assignment:  Problems 3-16 of Chapter 2.  You will need the [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]] and the [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]].&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Study.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 4&amp;#039;&amp;#039;&amp;#039; (Th 1/13)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz review on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz:&amp;#039;&amp;#039;&amp;#039; At home, on C, posted on Canvas at 3pm, due by Fri 6pm &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (no L-comps):  Chapter 1 (for your specific OS)&lt;br /&gt;
: Reading:  Chapter 1: Quickstart&lt;br /&gt;
: Download, install, and compile all software as indicated through the end of Chapter 1.3. See [[NU32 Software | NU32 Software]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 5&amp;#039;&amp;#039;&amp;#039; (T 1/18)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Homework for Chapter 2&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;In class demonstration&amp;#039;&amp;#039;&amp;#039;: Compile helloWorld and talkingPIC for NU32.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: Go over PIC32 software&amp;#039;&amp;#039;&amp;#039; - https://youtu.be/0mG7hlwUduA  https://youtu.be/ZGzbVhb_sdU&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 1,3,7,8,9&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps): 1-4 from Chapter 2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 6&amp;#039;&amp;#039;&amp;#039; (Th 1/20)&lt;br /&gt;
: Turn in Chapter 2 L-comps&lt;br /&gt;
: Quiz on Chapter 1&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/0R-aj6XtJLE https://youtu.be/NEICsIIprKU &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 3. &lt;br /&gt;
: Reading:  Complete Chapter 3.&lt;br /&gt;
: Homework for Chapters 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 7&amp;#039;&amp;#039;&amp;#039; (T 1/25)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Turn in Homework from Chapter 2, L-comps for Chapter 3 videos, read Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/CyGwEoNJdS4 https://youtu.be/5LyWPeLY7yU https://youtu.be/UXNOx6Z1Q9w&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 4. &lt;br /&gt;
: Reading:  Complete Chapter 4.&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 8&amp;#039;&amp;#039;&amp;#039; (Th 1/27)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Chapter 4 L-comp.&lt;br /&gt;
: Quiz on Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/16_lVr_k7R0  https://youtu.be/HoNKp8MNGOw  &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 9&amp;#039;&amp;#039;&amp;#039; (T 2/1)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 3 and 4 homework&lt;br /&gt;
: Videos and L-comps on Chapter 5 &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 5:&lt;br /&gt;
: Homework: Chapter 5 (use no optimization for all exercises): Exercises 3, 4.  Chapter 6:  Exercises 1, 4, 5, 8, 9, 16,17. Make a demo video for 6.17&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 10&amp;#039;&amp;#039;&amp;#039; (Th 2/3)&lt;br /&gt;
: Quiz on Chapter 4&lt;br /&gt;
: Videos and L-comps on Chapter 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 6: https://youtu.be/YhmynLK8dTY https://youtu.be/kJ2rvqyuQzM https://youtu.be/JGBWpj5yNfY &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 11&amp;#039;&amp;#039;&amp;#039; (T 2/8)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 5 and 6 homework&lt;br /&gt;
: Videos and L-comps on Chapters 7 and 8&lt;br /&gt;
&amp;quot; &amp;#039;&amp;#039;&amp;#039;Lecture videos: &amp;#039;&amp;#039; On Chapter 7 &amp;amp; 8: https://youtu.be/04C3QZ7JTMs  https://youtu.be/b3aOIfClECE&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Chapter 7: Exercises 1,2. Chapter 8: Exercise 1. Chapter 9: Exercise 1. Chapter 10: Exercise 1,2.&lt;br /&gt;
: The next assignment is related, do Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Th 2/10)&lt;br /&gt;
: Quiz on Chapter 5 and 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos:&amp;#039;&amp;#039;&amp;#039; On Chapter 9, 10 &amp;amp; 11: 9, 10, https://youtu.be/Eqip-9y3mCc &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (T 2/15)&lt;br /&gt;
: Due: Homework from Chapter 7, 8, 9, 10, and the first half of Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 7 8 9 10 homework&lt;br /&gt;
: Assignment: Chapter 24 project. Create solutions for Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2, 24.5, 24.7, and 24.8.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Th 2/17)&lt;br /&gt;
: Quiz on Chapter 7 8 9 10 11&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
: Pay for your equipment.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (T 2/22)&lt;br /&gt;
: Due: Homework from Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 24 homework&lt;br /&gt;
: Assignment: First half of Chapter 28: Chapter 28 through 28.4.1. Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 2/24)&lt;br /&gt;
: Quiz on Chapter 23&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (T 3/1)&lt;br /&gt;
: Due: First half of Chapter 28, up to 28.4.9&lt;br /&gt;
: Assignment: Complete Chapter 28: 28.4.10 #5, 28.4.12 #5.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Th 3/3)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos:&amp;#039;&amp;#039;&amp;#039; https://youtu.be/eoszZpwqNgY https://youtu.be/cz9ckQUsvH8 https://youtu.be/I--miZscPxc https://youtu.be/x5bSqBKPn1U&lt;br /&gt;
: Quiz on Chapter 25 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (T 3/8)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 20&amp;#039;&amp;#039;&amp;#039; (T 3/10)&lt;br /&gt;
: Quiz on Chapter 25 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Assignment&amp;#039;&amp;#039;&amp;#039; Due by Thur 3/16 at noon&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: Sign up for a 5 minute time slot to demo your final project: TBD&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1reEmJ7B2UCTsKIef9iCSJKDipg_J4DuTVHDbNA6Ls-0/edit?usp=sharing googledoc]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Do I need to know the C language to take this course?&lt;br /&gt;
&lt;br /&gt;
A: No. But if you already know C, there is still plenty else in this course for you. If you already know C, know how to use microcontrollers for real-time control, and have a good understanding how common sensors and actuators work and how to interface to them, this course may not be for you. Consider taking ME 433 Advanced Mechatronics in the spring quarter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: Is there an independent project?&lt;br /&gt;
&lt;br /&gt;
A: There is no large independent project. There will be a two-week project at the end of the course, but there will be no machining. For a more significant project, take ME 433 Advanced Mechatronics, offered in the spring quarter. ME 333 is good preparation for ME 433.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: What kind of laptop do I need?&lt;br /&gt;
&lt;br /&gt;
A: You need a laptop with at least 2 USB ports.  Any operating system is fine.&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Northwestern_Design_Competition&amp;diff=26259</id>
		<title>Northwestern Design Competition</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Northwestern_Design_Competition&amp;diff=26259"/>
		<updated>2022-02-02T17:18:16Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://sites.google.com/site/dcnuinfo/ Official Website for DC (including the rules of the game)]&lt;br /&gt;
&lt;br /&gt;
==DC2022==&lt;br /&gt;
[https://sites.google.com/site/dcnuinfo/2022-competition-rules Rules for 2022]&lt;br /&gt;
&lt;br /&gt;
==DC2020==&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/document/d/10vbqSass9Q4EwrzKbiaRp0NKIJUN1RRLcr8fXFYhWYo/edit?usp=sharing Link to google doc instructions]&lt;br /&gt;
&lt;br /&gt;
==DC2019==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Thursday 5/9/19&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Example Teensy 3.2 code, reads position from two Vive sensors: [[Media:dc2019_teensy_vive.ino | here]]&lt;br /&gt;
*** Vive sensors got to pins 11 and 19. &lt;br /&gt;
** Example ESP32 code, receives position code from Teensy: [[Media:dc2019_esp32_vive.ino | here]]&lt;br /&gt;
*** ESP RX pin goes to Teensy pin 8, ESP TX pin goes to Teensy pin 7&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Thursday 5/2/19&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Competition arena:&lt;br /&gt;
[[File:DC2019_arena.png|300px]]&lt;br /&gt;
** Barriers must be placed in the purple squares&lt;br /&gt;
** Ships can be placed at any location&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tuesday 4/16/19&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Get a [https://www.pololu.com/product/2961 MAX14870 Pololu motor driver] and solder the header pins so that the text side faces up&lt;br /&gt;
** Get a [https://www.pololu.com/product/3043 12V 160rpm Pololu N20 motor]&lt;br /&gt;
** Solder &amp;#039;&amp;#039;&amp;#039;28 gauge stranded wire&amp;#039;&amp;#039;&amp;#039; to the motor terminals. &amp;#039;&amp;#039;&amp;#039;DO NOT USE SOLID CORE WIRE, THE TABS WILL BREAK OFF&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Try this sample code to run the motor in both directions: [[Media:dc2019_esp32_pwm.ino | dc2019_esp32_pwm.ino]]&lt;br /&gt;
*** The motor is connected to M1 and M2&lt;br /&gt;
*** Both GND pins go to GND&lt;br /&gt;
*** VIN can go t the ESP32 USB pin (5V). Later this will be 12V from a battery&lt;br /&gt;
*** PWM goes to 14 in the sample code, but this can be changed to any pin&lt;br /&gt;
*** DIR does to 32 in the sample code, but this can be changed to any pin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tuesday 4/9/19&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Get a [https://www.adafruit.com/product/3405?gclid=CjwKCAjwhbHlBRAMEiwAoDA3406yot4JUOpQRyfZo-j31kbjLpQNH8ZtqxRJY5qz51xaGbn4um-VRBoC1C4QAvD_BwE ESP32 Feather], breadboard, and USB cable. Run the sample code from 3/14&lt;br /&gt;
** Build a simple retroreflective tape sensor: &lt;br /&gt;
[[File:dc2019_simple_retroreflective_sensor.png]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Thursday 4/4/19&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** [https://sites.google.com/site/dcnuinfo/2019-competition-rules Competition rules]&lt;br /&gt;
** [https://docs.google.com/spreadsheets/d/1wL4jkZFC5ykPM817-85twrntaJ1v8eXz8ZzvYTZZVB4/edit?usp=sharing Enter your team here]&lt;br /&gt;
** [https://docs.google.com/document/d/190IQkECB7-QzemgUd3-PhDiczV75WIe8uKVIsWdrt9M/edit?usp=sharing Copy the build log from here] and share it with Nick&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Thursday 3/14/19&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Example ESP32 code, using the [https://www.adafruit.com/product/3405?gclid=CjwKCAjwhbHlBRAMEiwAoDA3406yot4JUOpQRyfZo-j31kbjLpQNH8ZtqxRJY5qz51xaGbn4um-VRBoC1C4QAvD_BwE ESP32 Feather]: [[Media:dc2019_example_streaming.ino | here]]&lt;br /&gt;
** Example python code, using [https://codewith.mu/ Mu]: [[Media:dc2019_example_streaming.txt | here]]&lt;br /&gt;
&lt;br /&gt;
==DC2018==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tuesday 5/8/18&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** The initial example code is [[Media:dc_2018_example.ino | here]]&lt;br /&gt;
** The example that reads two vive sensors code is [[Media:dc_2018_vive_example.ino | here]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tuesday 4/24/18, 6pm in Ford B100&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Driving motors with a 12V battery and h-bridge&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tuesday 4/17/18, 6pm in Ford B100&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Detecting retroreflective tape with a laser pointer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tuesday 4/10/18, 6pm in Ford B100&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Laser cutting and 3d printing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Friday 4/6/18&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Competition arena:&lt;br /&gt;
[[File:DC2018_arena.png|300px]]&lt;br /&gt;
** The objects are 2&amp;quot; steel cubes and 3.5&amp;quot; diameter 2&amp;quot; tall steel cylinders&lt;br /&gt;
** There are 12 of each object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Thursday 2/15/18&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** The sample code for the amazon robot kit is [[Media:dc2018_amazon_sample.ino | here]]&lt;br /&gt;
** The pcb design for the amazon robot kit is [[Media:dc2018_amazon_pcb.zip | here]]&lt;br /&gt;
&lt;br /&gt;
==DC2017==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Saturday, 5/7/17&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** The vive code on the hunter robot is [[Media:vive_hunter.ino | here]]&lt;br /&gt;
** The vive code on the hunted robot is [[Media:vive_hunted.ino | here]]&lt;br /&gt;
** The circuit for the hunter robot looks like [[File:DC2017_vive_xbee.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Thursday, 3/30/17, 6pm in Ford B100&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** The hunter robot is about 12&amp;quot; in diameter, 6&amp;quot; high, covered in retroreflective tape&lt;br /&gt;
** The microcontroller is the Teensy 3.5&lt;br /&gt;
** The motor driver is the Pololu MAX14870 Single Brushed DC Motor Driver Carrier&lt;br /&gt;
** The voltage regulator is the Pololu 5V Step-Up/Step-Down S10V4F5&lt;br /&gt;
** Use a 100 ohm resistor in series with the laser to prevent dimming and burnouts&lt;br /&gt;
** To read the phototransistor, turn off the laser, read the voltage, turn on the laser, read the voltage, and if the voltage has changed a lot, you are looking at a retroreflective object&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Thursday, 2/23/17, 6pm in Ford B100&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Introduction to the competition rules&lt;br /&gt;
** Demo of the remote controlled robot&lt;br /&gt;
** How to design a DC robot&lt;br /&gt;
** Sensors review: laser scanner&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Winter Kickoff Meeting&amp;#039;&amp;#039;&amp;#039; 1/26/2017, 6-7pm, in Tech M152&lt;br /&gt;
** Review the [https://sites.google.com/site/dcnuinfo/2017-competition-rules Competition Rules]&lt;br /&gt;
** Teambuilding exercise&lt;br /&gt;
** Pizza!&lt;br /&gt;
&lt;br /&gt;
==DC2016==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Winter Kickoff Meeting&amp;#039;&amp;#039;&amp;#039; 1/8/2016, 6-8pm, in Tech M152&lt;br /&gt;
** Review the [https://sites.google.com/site/dcnuinfo/2016-competition-rules Competition Rules]&lt;br /&gt;
** Teambuilding exercise&lt;br /&gt;
** Pizza!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 1&amp;#039;&amp;#039;&amp;#039; Due Thur, 1/21/2016, 6pm in Ford B100&lt;br /&gt;
** CAD&lt;br /&gt;
*** You can use NX, Solidworks (installed on the computers in B100), or sign up for [https://www.onshape.com/ OnShape], a free, browser based CAD program.&lt;br /&gt;
*** I&amp;#039;ll assume you are using OnShape, since there is no installation necessary. Check out their online tutorial videos:&lt;br /&gt;
**** Definitely watch the first 12 videos on the [https://www.onshape.com/learn/tutorials OnShape Tutorials page]&lt;br /&gt;
**** You may also want to watch [https://www.onshape.com/learn/introduction-to-cad OnShape Intro to CAD]&lt;br /&gt;
**** and [https://www.onshape.com/learn/essential-training-series OnShape Essential Training]&lt;br /&gt;
**** Use a real mouse, with scroll wheel. You can get by using your laptop trackpad, but a mouse makes things so much easier.&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Assignment:&amp;#039;&amp;#039;&amp;#039; Design a mount for an N20 size gear motor (example: [https://www.pololu.com/product/989 Pololu gearmotor mount])&lt;br /&gt;
*** If you want to follow along, you can watch how I would do it [https://www.youtube.com/watch?v=SjZh0hdmgdE here]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 2&amp;#039;&amp;#039;&amp;#039; Due Wed, 1/27/2016, 6pm in Ford B100&lt;br /&gt;
** 3D printing&lt;br /&gt;
*** Save your CAD model as a .stl file, and print it on one of the three [https://www.monoprice.com/product?p_id=11614 Monoprice 3D printers] in B100 using [https://www.simplify3d.com/ Simplify3D].&lt;br /&gt;
*** Use the standard temperature, speed, and dimension settings. The blue tape does not need to be perfect, try to print on a flat spot until all of the tape has been printed on, then replace it.&lt;br /&gt;
*** Practice loading and unloading the printer. Use the printer menu to turn on &amp;quot;Preheat&amp;quot;. When the extruder is hot, push the lever to disengage the drive motor, gently push the filament into the nozzle, then pull it out. To load, feed the new filament in until plastic starts coming out of the nozzle, as if it were a glue gun.&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Assignment:&amp;#039;&amp;#039;&amp;#039; Design and print a 1&amp;quot;x0.75&amp;quot; rectangle 0.5&amp;quot; thick, with a 0.5&amp;quot; diameter hole in the middle. Measure each dimension with calipers and note how much the size differs from your digital model, and email Nick the results.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 3&amp;#039;&amp;#039;&amp;#039; Due Thur, 2/4/2016, 6pm in Ford B100&lt;br /&gt;
** Design for Laser cutting&lt;br /&gt;
*** Our laser cutters can only make 90 degree cuts. To build something in 3D, you have to design 2D objects that fit together like puzzle pieces, using crenellation or right-angle dovetails. Rather than using glue, embed nuts and slots for screws to assemble the parts.&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Assignment:&amp;#039;&amp;#039;&amp;#039; Design 3 sides of a 2&amp;quot; cube that assemble with right-angle dovetails and 4-40 t-slots. Assemble the design in CAD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 4&amp;#039;&amp;#039;&amp;#039; Due Thur, 2/11/2016, 6pm in Ford B100&lt;br /&gt;
** Arduino coding&lt;br /&gt;
*** Pick up your [https://www.adafruit.com/product/2590 Arduino Metro Mini] or [https://www.sparkfun.com/products/13664 SAMD21 Mini] and breadboard, and [[EDI Bootcamp | solder the header pins]]&lt;br /&gt;
**** The Metro Mini is a smaller version of the Arduino UNO. There is a lot of code available for the UNO, but it is slow, with limited memory.&lt;br /&gt;
**** The SAMD21 is similar to the Arduino Zero. It is fast with lots of memory, but the sample code you find online might not always work. Install the [https://learn.sparkfun.com/tutorials/samd21-minidev-breakout-hookup-guide/hardware-setup drivers] and [https://learn.sparkfun.com/tutorials/samd21-minidev-breakout-hookup-guide/setting-up-arduino add the board profile to the Arduino IDE]. &lt;br /&gt;
*** Build a potentiometer, pushbutton, and LED circuit&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Assignment:&amp;#039;&amp;#039;&amp;#039; Write code that, when you push the button, reads the potentiometer, sends the value to the computer, and sets the LED brightness proportional to the potentiometer angle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 5: No meeting on 2/10/2016 or 2/11/2016&amp;#039;&amp;#039;&amp;#039; Due Thur, 2/18/2016, at 6pm in Ford B100&lt;br /&gt;
** Continue Arduino coding&lt;br /&gt;
*** Edit your circuit to have 1 potentiometer, 2 push buttons, and 2 LEDs (on PWM pins)&lt;br /&gt;
*** Edit your code so that:&lt;br /&gt;
**** When no buttons are pushed, both LEDs are at 75% brightness&lt;br /&gt;
**** When one button is pushed, both LEDs are at 25% for 1 second, then one LED is at 0% and the other at 100% for 1 second, then continue&lt;br /&gt;
**** When the other button is pushed, both LEDs are at 25% for 1 second, then the other LED is at 0% and the first at 100% for 1 second, then continue&lt;br /&gt;
**** If the potentiometer is ever between 3 and 4 volts, the LEDs blink alternately at 10 Hz&lt;br /&gt;
**** After 1 minute has passed, the LEDs turn off forever&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Meeting 7&amp;#039;&amp;#039;&amp;#039; Due Thur, 3/3/2016, 6pm in Ford B100&lt;br /&gt;
** Motors, motor drivers, batteries&lt;br /&gt;
*** Pick up a DC motor, hbridge, and battery pack&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Assignment:&amp;#039;&amp;#039;&amp;#039; 3D print or laser cut a mount for the motor. Write code to set the speed of the motor proportional to the potentiometer angle and match the servo angle to the potentiometer angle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Notes about equipment:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** The SAMD21 breakout board has a max input voltage of 6V. &amp;#039;&amp;#039;&amp;#039;It will burn up if you use 12V.&amp;#039;&amp;#039;&amp;#039; Use a USB battery to power the board, or wire up your own 3.3V regulator.&lt;br /&gt;
** The Metro Mini breakout board has a max input voltage of 16V, so it should be ok to power it off 12V.&lt;br /&gt;
** The h-bridge is from [https://www.pololu.com/product/2960 Pololu].&lt;br /&gt;
*** VIN is the motor voltage, between 2 and 16V (use 12V from the battery).&lt;br /&gt;
*** VCC is the logic voltage (3.3V or 5V). &amp;#039;&amp;#039;&amp;#039;Do not use 12V&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*** Wire the PWM pin to VCC, then use a PWM signal on INA to set the motor speed and a DIO pin on INB to set the motor direction.&lt;br /&gt;
** Each team gets [http://www.amazon.com/Bosch-SKC120-202L-Lithium-Ion-Batteries-L-BOXX-1/dp/B009K1H350 2 12V rechargeable lithium ion batteries and a charger]. &amp;#039;&amp;#039;&amp;#039;Shorting the battery will draw more than 10A, generating a huge spark and destroying your circuit. Be very careful!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*** Use a [http://www.mcmaster.com/#7060k25/=11dwll8 quick-disconnect terminal] to plug into the battery.&lt;br /&gt;
*** First, pull off the insulation (pull hard!) [[File:DC2016_crimp_removeInsulation.jpg|300px]]&lt;br /&gt;
*** Next, strip off some wire, so that you can crimp onto the insulation and the wire. [[File:DC2016_crimp_stripWire.jpg|300px]]&lt;br /&gt;
*** Then, crimp the back of the connector, on the insulation of the wire. [[File:DC2016_crimp_crimpBack.jpg|300px]]&lt;br /&gt;
*** Then crimp the front of the wire. [[File:DC2016_crimp_crimpFront.jpg|300px]]&lt;br /&gt;
*** This is what the compete crimp looks like: [[File:DC2016_crimp_complete.jpg|300px]]&lt;br /&gt;
*** The top of the battery is labeled with the positive and negative terminals: [[File:DC2016_crimp_batteryTop.jpg|300px]]&lt;br /&gt;
*** Make a red wire for the positive connection and a black wire for the negative, and test how well they plug in: [[File:DC2016_crimp_batteryPlug.jpg|300px]]&lt;br /&gt;
*** See if you can 3d print something to hold the red and black wires, so that it can be plugged in only one way (to prevent accidental backwards connections that will destroy your circuit).&lt;br /&gt;
&lt;br /&gt;
==DC2015==&lt;br /&gt;
Winter 2015 Schedule&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Winter Kickoff&amp;#039;&amp;#039;&amp;#039; Workshop 1 - 2/24/15, 6-8pm in Ford B100&lt;br /&gt;
** Build a DC2015 Control Board: the blue board!&lt;br /&gt;
*** [[How to solder]]&lt;br /&gt;
*** [[The brains of the operation]]&lt;br /&gt;
*** [[Building the blue board]]&lt;br /&gt;
*** [[Programming the blue board]]&lt;br /&gt;
*** [[Useful code for the blue board]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Workshop 2 - 3/3/15, 6-8pm in Ford B100&lt;br /&gt;
** Build a DC2015 Expansion board: the black board!&lt;br /&gt;
*** [[Making things move with the black board]]&lt;br /&gt;
*** [[Building the black board]]&lt;br /&gt;
*** Something about attaching to motors&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Workshop 3 - 3/10/15, 6-8pm in Ford B100&lt;br /&gt;
** Build a DC2015 Protoboard: the green board!&lt;br /&gt;
*** [[Prototyping circuits]]&lt;br /&gt;
*** [[Buttons, pots and light sensors]]&lt;br /&gt;
*** [[Sensing retroreflective blocks]]&lt;br /&gt;
*** [[Building the green board]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fall 2014 Schedule&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;NU Robotics Workshop 1 - Soldering&amp;#039;&amp;#039;&amp;#039; - 10/22/14 in Ford B100&lt;br /&gt;
** Learn how to solder&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;DC Kickoff&amp;#039;&amp;#039;&amp;#039; - Around 11/5/14&lt;br /&gt;
&lt;br /&gt;
==DC2014==&lt;br /&gt;
Winter 2014 Schedule&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kickoff&amp;#039;&amp;#039;&amp;#039; - 1/15/14, 5pm in Tech A110&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Sponsor Talk&amp;#039;&amp;#039;&amp;#039; - MISUMI&lt;br /&gt;
** Tue, 1/28/2014, 5pm, Tech M128&lt;br /&gt;
** Designing with MISUMI&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 1&amp;#039;&amp;#039;&amp;#039; - Robot simulation&lt;br /&gt;
** Thur, 1/30/2014, 5pm, Ford B100&lt;br /&gt;
** Using a simulator to test robot algorithms&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 1&amp;#039;&amp;#039;&amp;#039; - Maze solving robot&lt;br /&gt;
** Due by Wed, 2/5/2014&lt;br /&gt;
** Show off your robot code solving a maze&lt;br /&gt;
** [[Media:DC14Workshop1.pdf | Workshop1 Assignment]]&lt;br /&gt;
** [[Media:DC14Workshop1.zip | Workshop1 Files]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 2&amp;#039;&amp;#039;&amp;#039; - Makerbot and advanced robot simulation&lt;br /&gt;
** Thur, 2/6/2014, 5pm, Ford B100&lt;br /&gt;
** Using CAD and the Makerbot&lt;br /&gt;
** Better dead reckoning in simulation&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 3&amp;#039;&amp;#039;&amp;#039; - Makerbot linkages and advanced robot simulation&lt;br /&gt;
** Thur, 2/13/2014, 5pm, Ford B100&lt;br /&gt;
** Designing 4-bar linkages and printing them on the Makerbot&lt;br /&gt;
** Radar and LIDAR in simulation&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 2 and 3&amp;#039;&amp;#039;&amp;#039; - Maze solving robot and 3D printed motor mount&lt;br /&gt;
** Due by Wed, 3/5/2014&lt;br /&gt;
** Design, print and assemble a simple mechanism with the Makerbot&lt;br /&gt;
** Use sensors for wall-following&lt;br /&gt;
** [[Media:DC14Workshop2.pdf | Workshop2 Assignment]]&lt;br /&gt;
** [[Media:DC14Workshop2.zip | Workshop2 Files]]&lt;br /&gt;
** Design, print and assemble a 4-bar linkage with the Makerbot&lt;br /&gt;
** Use LIDAR for maze solving&lt;br /&gt;
** [[Media:DC14Workshop3.pdf | Workshop3 Assignment]]&lt;br /&gt;
** [[Media:DC14Workshop3.zip | Workshop3 Files]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Competition Format&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** 3 competitions: [[Media:DC14CompetitionFormat.pdf | Competition Format]]&lt;br /&gt;
** Milestone 4 Due Monday, 4/14/14, by email to Nick&lt;br /&gt;
*** Rough mechanical design of your robot. Sketches of legs and drive mechanism, description of mechanism, material list (motors, servo, bearings, etc.)&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 5&amp;#039;&amp;#039;&amp;#039; - Roland mill PCBs&lt;br /&gt;
** Wed, 4/23/2014, 4pm, Ford B100&lt;br /&gt;
** Designing printed circuit boards to be milled on the Roland CNC desktop mill&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 5&amp;#039;&amp;#039;&amp;#039; - Robot PCB&lt;br /&gt;
** Due by Fri, 4/25/2014&lt;br /&gt;
** Design, mill, solder and program a PIC32MX150 PCB for your robot&lt;br /&gt;
** [[Media:DC14Workshop5.zip | Workshop5 Files]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 6&amp;#039;&amp;#039;&amp;#039; - Robot PCB&lt;br /&gt;
** Instructions on using the PCB mill (beta) :&lt;br /&gt;
*** [[Media:DC14Workshop6.pdf | Workshop6.pdf]]&lt;br /&gt;
** Sample code for a simple line following robot using 2 DC drive motors, 3 analog inputs from IR line sensors, output to the Nokia LCD. Also included, sample code for the IR proximity range finder for the NU32, and an .stl for a range finder cap to block light from the LED hitting the sensor.&lt;br /&gt;
*** [[Media:DC14Workshop6.zip | Workshop6 Files]]&lt;br /&gt;
*** [[Media:DC14IRwallstl.zip | IR wall stl file]]&lt;br /&gt;
&lt;br /&gt;
==DC2013==&lt;br /&gt;
Spring Quarter Schedule&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 6&amp;#039;&amp;#039;&amp;#039; - H-Bridges, DC motor control, wheel sensing&lt;br /&gt;
** Wed, 4/3/2013, 6pm in mechatronics lab&lt;br /&gt;
** [[Media:workshop6.c | workshop6.c - drive a DC motor using PWM with an h-bridge and sense its position with a reflectance sensor]]&lt;br /&gt;
** [[Media:DC2013_hbridge_motors.pdf | How to use an h-bridge and a DC motor]]&lt;br /&gt;
** [[Media:encoder.docx | Encoder template]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 6&amp;#039;&amp;#039;&amp;#039; - Wheel control&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Meeting in the mechatronics lab at 6pm 4/17&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Demo due by 4/17/2013&lt;br /&gt;
** Press the USER button, and the wheel rotates 180 degrees&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 7&amp;#039;&amp;#039;&amp;#039; - Complete chassis&lt;br /&gt;
**[[Media:DC2013_3dprinting_design.pdf | How to design parts that can be 3D printed]] &lt;br /&gt;
** Demo due by 4/24/2013&lt;br /&gt;
** Demo your chassis&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 8&amp;#039;&amp;#039;&amp;#039; - Driving and sensing the world&lt;br /&gt;
** Demo due by 5/1/2013&lt;br /&gt;
** Demo your robot driving around the arena and sensing things&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 9&amp;#039;&amp;#039;&amp;#039; - Identify prey and drive towards them&lt;br /&gt;
** Demo due by 5/8/2013&lt;br /&gt;
** Demo your robot chasing Prey&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 10&amp;#039;&amp;#039;&amp;#039; - Operational robot, demo for E-Week&lt;br /&gt;
** Demo due by 5/15/2013, demo at E-Week in Tech lobby&lt;br /&gt;
** Show how your robot works&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;COMPETITION!!!!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** 5/18/2013, Noon in the machine shop&lt;br /&gt;
&lt;br /&gt;
Useful things:&lt;br /&gt;
* Arena and breakout board&lt;br /&gt;
** [[Media:DC2013breakout_eagle.zip | Breakout board EAGLE files]]&lt;br /&gt;
[[File:DC2013arena.jpg|700px]]&lt;br /&gt;
** [[Media:DC2013arena.pdf | DC2013arena.pdf]]&lt;br /&gt;
* Write-ups&lt;br /&gt;
** [[Media:DC2013milestone2.pdf | DC2013milestone2.pdf]]&lt;br /&gt;
** [[Media:DC2013milestone3.pdf | DC2013milestone3.pdf]]&lt;br /&gt;
** [[Media:DC2013_laser_cutter_design.pdf | How to design parts that can be made on the laser cutter]] &lt;br /&gt;
** [[Media:workshop5.dxf | workshop5.dxf - parts that mount the laser, sensors and servo]] for reference&lt;br /&gt;
** [[Media:DC2013_hbridge_motors.pdf | How to use an h-bridge and a DC motor]]&lt;br /&gt;
** [[Media:DC2013_3dprinting_design.pdf | How to design parts that can be 3D printed]]  &lt;br /&gt;
* Code&lt;br /&gt;
** [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]]&lt;br /&gt;
** [[Media:DC2013_Milestone2.c| DC2013_Milestone2.c]]&lt;br /&gt;
** [[Media:DC2013_milestone3.c| DC2013_milestone3.c]]&lt;br /&gt;
** [[Media:workshop5.c | workshop5.c - sweep the servo when the user button is pressed, save the data to an array]]&lt;br /&gt;
** [[Media:workshop6.c | workshop6.c - drive a DC motor using PWM with an h-bridge and sense its position with a reflectance sensor]]&lt;br /&gt;
&lt;br /&gt;
* NU32&lt;br /&gt;
** Download: MPLAB X IDE and MPLAB XC32 Compiler from [http://www.microchip.com/pagehandler/en-us/family/mplabx/#downloads http://www.microchip.com/pagehandler/en-us/family/mplabx/#downloads]&lt;br /&gt;
** Download: FTDI Drivers from [http://www.ftdichip.com/Drivers/VCP.htm http://www.ftdichip.com/Drivers/VCP.htm]&lt;br /&gt;
** Download: NU32_Utility from [[NU32:_Software_to_Install]]&lt;br /&gt;
* NU32 from 2012&lt;br /&gt;
** We have a lot of left over boards from 2012 but you have to use NU32_Utility_v5 from [[NU32:_Software_to_Install]]&lt;br /&gt;
** and [[Media:NU32_2012.c| NU32_2012.c]], [[Media:NU32_2012.h | NU32_2012.h]] instead of NU32.c and NU32.h&lt;br /&gt;
&lt;br /&gt;
Winter 2013 Schedule&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 1&amp;#039;&amp;#039;&amp;#039; - Prey robot deconstruction&lt;br /&gt;
** Tue, 1/15/2013, 6pm, Ford B100&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 1&amp;#039;&amp;#039;&amp;#039; - Prey robot -&amp;gt; Demobot&lt;br /&gt;
** Due by Wed, 1/23/2013&lt;br /&gt;
** Show off your Demobot, made from a deconstructed Prey robot &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 2&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32&lt;br /&gt;
** Begin Wed, 1/23/2013, meeting in the Mechatronics lab at 6pm&lt;br /&gt;
** How to program the PIC32 on the NU32&lt;br /&gt;
** Sample code - [[Media:NU32test.hex | NU32test.hex]], [[Media:SimplePIC.c | SimplePIC.c]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]], [[Media:talkingPIC.c | talkingPIC.c]], [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 2&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32&lt;br /&gt;
** Due by Wed, 1/30/2013&lt;br /&gt;
** Code Template: [[Media:DC2013_Milestone2.c| DC2013_Milestone2.c]], [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]]&lt;br /&gt;
** Complete the assignment here: [[Media:DC2013milestone2.pdf | DC2013milestone2.pdf]] &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 3&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32&lt;br /&gt;
** Begin Wed, 1/30/2013, meeting in the Mechatronics lab at 6pm&lt;br /&gt;
** How to program the PIC32 on the NU32, sensors and actuators, soldering&lt;br /&gt;
** Sample code - [[Media:DC2013_milestone3.c| DC2013_milestone3.c]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 3&amp;#039;&amp;#039;&amp;#039; - Programming the PIC32, sensors and actuators&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Due by Wed, 2/6/2013&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Potentiometers, phototransistors, RC servos, ultrasonic distance sensors&lt;br /&gt;
** Complete the assignment here: [[Media:DC2013milestone3.pdf | DC2013milestone3.pdf]] &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 4&amp;#039;&amp;#039;&amp;#039; - Using the laser cutter&lt;br /&gt;
** Begin Wed, 2/6/2013&lt;br /&gt;
** [[Media:DC2013_laser_cutter_design.pdf | How to design parts that can be made on the laser cutter]] &lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 4&amp;#039;&amp;#039;&amp;#039; - Laser cutter training&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Due By Wed, 2/20/2013&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Get trained on the laser cutter&lt;br /&gt;
** Design and build a robot gripper or mechanism &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workshop 5&amp;#039;&amp;#039;&amp;#039; - RC servo and Laser detection&lt;br /&gt;
** Begin Wed, 2/13/2013, &amp;#039;&amp;#039;&amp;#039;at 6pm in the mechatronics lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** How to use a laser to detect retroreflective tape&lt;br /&gt;
** How to buffer and analyse data&lt;br /&gt;
** Combining the laser and RC servo to make a moving sensor&lt;br /&gt;
** [[Media:workshop5.dxf | workshop5.dxf - parts that mount the laser, sensors and servo]] for reference&lt;br /&gt;
** [[Media:workshop5.c | workshop5.c - sweep the servo when the user button is pressed, save the data to an array]]&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milestone 5&amp;#039;&amp;#039;&amp;#039; - Target hunting&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Due by Wed, 2/20/2013&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Mount the laser on the servo&lt;br /&gt;
** Sweep the laser, find the target, and point at it &amp;#039;&amp;#039;&amp;#039;DONE!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reading week 6/11-5, finals week 6/18-22, break 3/25-29&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==DC2012==&lt;br /&gt;
Scale arena:&lt;br /&gt;
[[Image:DC2012Arena.png|thumb|500px|Dimensions of the arena for 2012|center]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Equipment&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*NU32, USB cable, 6V power supply&lt;br /&gt;
*2 drive motors, 2 motor mounts, 2 wheels&lt;br /&gt;
*large and small RC servos&lt;br /&gt;
*red and IR lasers&lt;br /&gt;
*12&amp;quot;x24&amp;quot;x0.118&amp;quot; clear acrylic sheets&lt;br /&gt;
*AA batteries and packs&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PCB&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[Image:DC2012PCBlayout.png|thumb|500px|The PCB breakout for DC2012|center]]&lt;br /&gt;
[[Media:DC2012PCBSchematic.pdf | Schematic of PCB for 2012]]&lt;br /&gt;
&lt;br /&gt;
[[Image:DC2012SheetMetalCutter.png|thumb|500px|Use the straight cut sheet metal cutter to slice up the PCB|center]]&lt;br /&gt;
[[Image:DC2012CuttingThePCB.png|thumb|500px|Like this|center]]&lt;br /&gt;
[[Image:DC2012CutUpPCB.png|thumb|500px|So that you separate all the boards|center]]&lt;br /&gt;
[[Image:DC2012FemaleHeader.png|thumb|500px|Use female header pins to attach the NU32. The headers come is sets of 20 pins, so you will have to cut one up.|center]]&lt;br /&gt;
[[Image:DC2012LaserPCB.png|thumb|500px|Attach lasers with hot glue|center]]&lt;br /&gt;
[[Image:DC2012LEDPCB.png|thumb|500px|Note the orientation of the LED an phototransistor, they are polarized!|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Workshop 1, Wednesday 1/18 5:30-7pm Tech L221, makeup Thursday 1/19 9-11am Mechatronics Lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*How to program in MPLABX&lt;br /&gt;
*How to use the bootloader to put code on the NU32&lt;br /&gt;
*Digital output I/O (read a button and flash an LED)&lt;br /&gt;
*Analog input&lt;br /&gt;
*PWM output&lt;br /&gt;
*Sample code:[[Media:DC2012_Workshot1.zip | Sample code for Workshop 1]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 1, due by 1/27&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*If a pushbutton is pressed, read the value of a potentiometer and change the brightness of an LED to the corresponding value with PWM&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Workshop 2, Thursday 2/9 6-7pm Tech L221, makeup Friday 2/10 9-11am Mechatronics Lab&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Optical isolation for motors and RC servos&lt;br /&gt;
*Powering a motor with an h-bridge&lt;br /&gt;
*Writing to the 16x2 character LCD&lt;br /&gt;
*Laser detection of retroreflective tape / Optical line detection&lt;br /&gt;
*2 1/2D design&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 2, Due week of Feb 27&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Optically isolate a motor&lt;br /&gt;
*Read a potentiometer and write its voltage to the LCD&lt;br /&gt;
*Control the motor velocity based on the potentiometer reading&lt;br /&gt;
*Control an RC servo&lt;br /&gt;
*Detect a 3/4&amp;quot; wide black line on white paper with a phototransistor and LED&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Laser cutting Workshop, Week of Apr 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Laser cutting&lt;br /&gt;
*2.5D design&lt;br /&gt;
*Making a chassis, mounting motors and sensors&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Chassis Milestone, Due Apr 13&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Demonstrate a robot chassis that can drive around the arena, bonus points for following a line, detecting and moving towards the moving goals, and detecting and moving towards a crate&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Midterm Milestone, Due Apr 30 / May 1 / May 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Demonstrate some strategy - from the starting position, go get a crate and bring to back towards the goal&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pre-competition Milestone, Due May 9&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Demonstrate some advanced strategy - score several points&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Competition May 19!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==DC2011==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*On a button press, read the value of a potentiometer and change the brightness of an LED accordingly using PWM. &amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Do not use an h-bridge or motor as previously assigned.&lt;br /&gt;
*Due before Workshop 2 on Wed, 2/9.&lt;br /&gt;
*[[Media:NU32v2_DC2011_workshop1.zip | Sample code from Workshop 1]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Due before Workshop 3 on Wed, 2/23.&lt;br /&gt;
*Goals:&lt;br /&gt;
**Use code from [[NU32v2: Nokia 5110 LCD]] and [[NU32v2: Analog Input]] to read a potentiometer and print the voltage to the Nokia 5110&lt;br /&gt;
**Optically isolate a motor and control its velocity based on the potentiometer reading&lt;br /&gt;
**Do 1 of the following:&lt;br /&gt;
***Mount a phototransistor to a laser and detect a cake &amp;#039;&amp;#039;&amp;#039;OR&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
***Detect a line of electrical tape on white paper with an optoreflector&lt;br /&gt;
*Datasheets&lt;br /&gt;
**[[Media:HBridge_L293D.pdf|HBridge_L293D.pdf]] - H-bridge for driving a DC motor&lt;br /&gt;
**[[Media:Optocoupler_A847.pdf|Optocoupler_A847.pdf]] - Optocoupler to optically isolate your H-bridge&lt;br /&gt;
**[[Media:HexInverter_74HC04.pdf|HexInverter_74HC04.pdf]] - Inverting chip to digitize optocoupler output&lt;br /&gt;
**[[Media:Optoreflector_OPB740.pdf|Optoreflector_OPB740.pdf]] - Optoreflector to detect lines or color&lt;br /&gt;
**[[Media:Optoreflector_QRE1113.pdf|Optoreflector_QRE1113.pdf]] - Optoreflector to detect lines or color&lt;br /&gt;
**[[Media:Phototransistor_SFH310.pdf|Phototransistor_SFH310.pdf]] - Phototransistor to detect lines, color, or laser reflections&lt;br /&gt;
*Notes&lt;br /&gt;
**[[Media:DC2011_WS2_OpticalIsolation.pdf|DC2011_WS2_OpticalIsolation.pdf]] - How to optically isolate an h-bridge and servo motor using the A847 and 74HC04&lt;br /&gt;
**[[Media:DC2011_WS2_OpticalSensors.pdf|DC2011_WS2_OpticalSensors.pdf]] - How to use the SFH310 to detect a cake and use the OPB740 or QRE1113 for line following&lt;br /&gt;
**[[Media:DC2011_WS2_Code.zip|DC2011_WS2_Code.zip]] - Example code for the NU32v2 that will:&lt;br /&gt;
***Control a DC motor hooked up to an optically isolated h-bridge, and control an optically isolated RC servo motor&lt;br /&gt;
***Respond to serial commands to control the motors, write to the Nokia 5110, and read two analog signals&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Milestone 4&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Due before Wed, 3/16&lt;br /&gt;
*Finish laser training, at least one person per team&lt;br /&gt;
*Construct a prototype chassis for your robot&lt;br /&gt;
*Do one of the following:&lt;br /&gt;
**Follow part of the line on the 36&amp;quot; x 96&amp;quot; printout of [[Media:DC2011LineFOllowing.pdf|this pdf]]&lt;br /&gt;
**Detect a cake somewhere on the floor and drive to it&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Breakout Boards&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*[[Media:DC2011Breakouts.pdf|Image of the breakout boards]]&lt;br /&gt;
*[[Media:DC2011BreakoutsSchematic.pdf|Circuit schematic of the breakout boards]]&lt;br /&gt;
*This board contains:&lt;br /&gt;
**A spot to plug in the NU32v2 with some prototyping area&lt;br /&gt;
**The optical isolation circuit with some prototyping area, the same size as the NU32v2 breakout board so it can be stacked on top&lt;br /&gt;
**8 SFH310 with LED breakout boards&lt;br /&gt;
**4 SFH310 with laser diode breakout boards&lt;br /&gt;
**1 LIS352AX accelerometer breakout board&lt;br /&gt;
**1 LSM303DHL tilt-compensated compass breakout board&lt;br /&gt;
**1 LPY550AL gyroscope breakout board&lt;br /&gt;
**1 LS7366R encoder decoder breakout board&lt;br /&gt;
**1 TCS3103 color sensor breakout board&lt;br /&gt;
*How to use the boards:&lt;br /&gt;
**[[Image:nu32v2_breakoutboard.jpg|thumb|500px|Solder female header pins to the NU32v2 Breakout Board so that you can plug in and remove your NU32v2|center]]&lt;br /&gt;
**[[Image:nu32v2_opticalisolationbreakoutboard.jpg|thumb|500px|Solder sockets to the Optically Isolated Motor Board so you can remove burnt out chips|center]]&lt;br /&gt;
**[[Image:nu32v2_phototransistorbreakoutboards.jpg|thumb|500px|The LED and Laser Phototransistor breakout boards will make it easier to attach wires to the sensors|center]]&lt;br /&gt;
**[[Image:nu32v2_stackedboards.jpg|thumb|500px|You can stack the NU32v2 breakout board with the Optically Isolated board|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Brochure for 2011&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*[[Media:DC2011_brochure.pdf|Brochure for 2011]]&lt;br /&gt;
&lt;br /&gt;
==Previous Years==&lt;br /&gt;
&lt;br /&gt;
Wiki pages on sensors, actuators, programming, and microcontrollers: use pages below&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* [http://www.mech.northwestern.edu/courses/433/Writeups/QuickStart/ Parts in the DC2008 quick start pack]&lt;br /&gt;
* [http://peshkin.mech.northwestern.edu/pic/info/piccintro_2008-01-24.pdf PIC C intro slides, as presented 2008/01/24 (pdf)]&lt;br /&gt;
* [http://peshkin.mech.northwestern.edu/pic/info/picinterfacing_2008-01-28.pdf PIC interfacing slides, as presented 2008/01/28 (pdf)]&lt;br /&gt;
* &amp;lt;b&amp;gt;[http://peshkin.mech.northwestern.edu/pic/code Link to all sample PIC code here.]&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sensors and actuators for DC&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[Using Solderless Breadboard|Solderless Breadboard &amp;amp; wiring that works]]&lt;br /&gt;
* [[Using LEDs &amp;amp; IREDs]]&lt;br /&gt;
* [[Using a laser]]&lt;br /&gt;
* [[Sensing optical tape|Infrared reflectivity]]&lt;br /&gt;
** Using phototransistors&lt;br /&gt;
** Sensing optical tape&lt;br /&gt;
* [[Comparators | Comparators : the analog digital interface]]&lt;br /&gt;
* [http://www.robotroom.com/FaulhaberGearmotor.html Faulhaber MiniMotor SA gearmotor with encoder], as well as [[Actuators_Available_in_the_Mechatronics_Lab#Faulhaber_1524E006S_motor_with_141:1_gearhead_and_HES164A_magnetic_quadrature_encoder|the local wiki page]]&lt;br /&gt;
* [[Adding a magnetic encoder to a GM3 Gearmotor]]&lt;br /&gt;
** Using magnetic switches (Hall Effect)&lt;br /&gt;
* [[High-current devices|Driving high-current devices: several options]]&lt;br /&gt;
* [[Driving a Stepper Motor]]&lt;br /&gt;
* [[Driving an RC Servo]]&lt;br /&gt;
* [[Accelerometers]]&lt;br /&gt;
* [[Strain gauges]]&lt;br /&gt;
* [[Using the Basic Stamp Microcontroller|Basic Stamp Microcontroller]] &amp;lt;b&amp;gt;Not recommended for DC2008&amp;lt;/b&amp;gt;&lt;br /&gt;
* [http://www.mech.northwestern.edu/courses/433/Writeups/Battery_NiMH/ NiMH rechargable batteries and chargers]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt; [http://peshkin.mech.northwestern.edu/datasheets Prof. Peshkin&amp;#039;s favorite datasheets]&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics_(Archive_Winter_2022)&amp;diff=26258</id>
		<title>ME 333 Introduction to Mechatronics (Archive Winter 2022)</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics_(Archive_Winter_2022)&amp;diff=26258"/>
		<updated>2022-01-26T16:17:52Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Winter Quarter 2022&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;First day of class is Tuesday January 4.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Section 20:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 11:00-12:20, Tech A110 starting 1/18&lt;br /&gt;
* Section 21:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 12:30-1:50, Francis Searle 2407 1/18&lt;br /&gt;
* TAs:  &lt;br /&gt;
** Tito Fernandez&lt;br /&gt;
** Huan Weng&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Final demo&amp;#039;&amp;#039;&amp;#039; (in lieu of final exam):  Monday Mar 14 3-5 PM (12:30-1:50 section) and Wednesday Mar 16 9-11 AM (11-12:20 section)&lt;br /&gt;
* Office Hours: &lt;br /&gt;
** Tito: Monday 1-2:30pm&lt;br /&gt;
** Huan: Wednesday 2-4pm in Ford B100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--in Ford B100:  &lt;br /&gt;
** TuWThF 4-5pm with Prof. Marchuk in Ford B100, or by appt --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Quick links:&lt;br /&gt;
** [http://www.it.northwestern.edu/education/login.html Canvas Course Management System]&lt;br /&gt;
** [[NU32 Videos|NU32 Videos]]&lt;br /&gt;
** [[NU32 Software|NU32 Software]]&lt;br /&gt;
** [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form Report a typo or bug in the book]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Purpose of this Course ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this course is to &amp;#039;&amp;#039;&amp;#039;provide tools that help you express your creativity&amp;#039;&amp;#039;&amp;#039;.  Maybe you want to build a robot, or a piece of kinetic art, or an automatic ball-throwing device to entertain your dog; maybe you&amp;#039;ve identified a market for a new smart product and you&amp;#039;d like to prototype the device.  This course provides fundamentals of mechatronics to give you confidence to take on these projects.  You are encouraged to take what you learn in this course and apply it in ME 433 Advanced Mechatronics, DSGN 360 Design Competition, senior design projects, or independent projects.&lt;br /&gt;
&lt;br /&gt;
== Approximate Syllabus ==&lt;br /&gt;
&lt;br /&gt;
This course is for students who want to build microprocessor-controlled electromechanical devices.  &lt;br /&gt;
&lt;br /&gt;
To do this, ME 333 focuses on three topics: (1) general C programming; (2) Microchip PIC microcontroller architecture and C programming specific to the PIC (e.g., using the PIC&amp;#039;s peripherals, such as analog inputs, digital I/O, counters/timers, comm ports, etc.); and (3) interfacing the PIC to sensors and actuators, some theory of sensor and actuator operation, and interface circuitry and signal processing. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;You will do a lot of programming in this course!&amp;#039;&amp;#039;&amp;#039;  If you are certain you hate programming, then this is not the course for you.  But knowing how to program is very useful for any modern engineer.  The language we will use is C, a fairly low-level language that works well for microcontrollers, which is more portable and not nearly as painful and low-level as assembly language.  If you don&amp;#039;t know C, that&amp;#039;s not a problem, most students don&amp;#039;t before taking ME 333; but you should plan to learn it, and rather quickly.  You will have all the materials you need to start learning C before class starts, and &amp;#039;&amp;#039;&amp;#039;the first assignment on C is due on the first day of class&amp;#039;&amp;#039;&amp;#039;!  The reason:  even though we start out with C, that&amp;#039;s not the main goal of this course.  The main goal is to teach you about microcontrollers and mechatronics.  Plus some students already have C background.&lt;br /&gt;
&lt;br /&gt;
You will bring your laptop to each class.  As the quarter progresses, we will be handing out other equipment that you will need to bring to class, such as the NU32 development board that breaks out the [http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC32MX795F512H PIC32MX795F512H] microcontroller.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;It is essential you do the assigned reading and watch the videos in advance of class.&amp;#039;&amp;#039;&amp;#039;  You will have an assignment and/or lecture comprehension questions (L-comps) due before every class, turned in electronically on Canvas.  (This includes the very first day of class!)  Once a week we will have a short quiz.  Most classes will have a combination of a brief review, Q&amp;amp;A, and working individually or in small groups on problems while the instructors help answer any questions.&lt;br /&gt;
&lt;br /&gt;
Topics we will cover, time depending, include:&lt;br /&gt;
&lt;br /&gt;
* introduction to C programming&lt;br /&gt;
* introduction to the PIC32 hardware, and programming the PIC32 in C&lt;br /&gt;
* digital I/O&lt;br /&gt;
* counters/timers and interrupts&lt;br /&gt;
* analog input&lt;br /&gt;
* sensor smorgasbord&lt;br /&gt;
* digital signal processing:  filters and FFTs&lt;br /&gt;
* analog output and pulse-width modulation&lt;br /&gt;
* brushed permanent magnet DC motors:  theory and control&lt;br /&gt;
* stepper motors and RC servo motors&lt;br /&gt;
* communication by SPI, I2C, and RS-232&lt;br /&gt;
&lt;br /&gt;
== Checklist to Complete Before the First Day of Class ==&lt;br /&gt;
&lt;br /&gt;
By the first day of class, you should:&lt;br /&gt;
&lt;br /&gt;
* Complete the reading and assignment 1, which is &amp;#039;&amp;#039;&amp;#039;due the first day of class!&amp;#039;&amp;#039;&amp;#039;  The first assignments are designed to get you up to speed on the C programming language, which we will use throughout the course.&lt;br /&gt;
* Have a laptop with at least 2 USB A-style ports.  Any operating system is fine.  One port will be used to program and communicate with your PIC microcontroller, and the other will be used for your portable oscilloscope.  &lt;br /&gt;
* Be prepared to buy your class kit, consisting of the portable nScope oscilloscope, the NU32 PIC32 development board, and lots of other goodies.  Price $125 if you are starting from scratch; $75 if you already have the nScope. &lt;br /&gt;
&amp;lt;!--  &lt;br /&gt;
 * Buy your class kit [http://it.mccormick.northwestern.edu/matlab/student_license/login.php &amp;#039;&amp;#039;&amp;#039;here&amp;#039;&amp;#039;&amp;#039;].  If you already have the oscilloscope and multimeter from this year&amp;#039;s ME 233 offering, you should choose &amp;quot;ME 333 (nScope not needed ($75))&amp;quot; for the price of $75.  If you do not have the oscilloscope and multimeter, you should choose &amp;quot;ME 333 (including nScope ($125))&amp;quot; for the price of $125.  You will not be able to start the course until you have completed the purchase of your kit.  If you decide to drop the course, you will be refunded the purchase price upon return of all the equipment in working shape. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Student Contract ==&lt;br /&gt;
&lt;br /&gt;
By signing up for this course, you agree to complete the checklist above before the course starts.  You agree to stay engaged during the class period; even if your computer is open, no facebook or other distractions that will lessen your contribution to the class.  You understand that learning from classmates, and helping classmates, is encouraged, up to the stage of conceptualizing solutions.  You are not allowed to fully complete a solution in a team.  You understand that plagiarism is not tolerated.  You will report instances of plagiarism you are aware of.  Plagiarism includes, but is not limited to:&lt;br /&gt;
&lt;br /&gt;
* Allowing another student to copy your work.&lt;br /&gt;
* Copying another student&amp;#039;s work, in whole or in part.&lt;br /&gt;
* Transforming copied sections of code or solutions to try to disguise their origin.&lt;br /&gt;
* Borrowing code or solutions from others not in the course, e.g., code found on the internet, without attribution.  Borrowing code found on the internet is acceptable if the source is clearly indicated in your code comments, and if you understand how the code works.&lt;br /&gt;
&lt;br /&gt;
On our part (faculty and TAs), we commit to do our best to provide you a curriculum and set of experimental materials to get you up to speed on sophisticated mechatronics integration as quickly and efficiently as possible, while giving you a foundation in concepts needed to go further in future projects and courses.&lt;br /&gt;
&lt;br /&gt;
== Prerequisite ==&lt;br /&gt;
&lt;br /&gt;
ME 233 Electronics Design or similar (EECS 221, 225, BME 305 (pre-2020) or BME 308 (post-2020)) is required. You will be expected to analyze circuits with resistors, capacitors, inductors, diodes, transistors, and op-amps. You can find refresher material and a sample quiz at [[ME_333_Circuits_Review_Material|this page]] and in Appendix B of the book.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
&lt;br /&gt;
Required:&lt;br /&gt;
&lt;br /&gt;
* Textbook: &amp;quot;Embedded Computing and Mechatronics with the PIC32 Microcontroller&amp;quot; ([http://www.amazon.com/gp/product/0124201652/ Amazon], [http://store.elsevier.com/product.jsp?isbn=9780124201651 Elsevier]).  Sample chapters, including the appendix &amp;quot;A Crash Course in C&amp;quot; can be found in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]].  &lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;A pdf of the textbook is included in the class kit, you do not need to buy it online or at the bookstore!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Optional:  [[Media:EssentialC.pdf|Essential C]] is also a very nice intro to C.  Let us know about other online C resources you find particularly useful.&lt;br /&gt;
* [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]]&lt;br /&gt;
* [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]]&lt;br /&gt;
&lt;br /&gt;
Find a typo in the book or a bug in the code? Report it [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form here]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Useful, but not required:&lt;br /&gt;
* [http://www.amazon.com/Programming-32-bit-Microcontrollers-Exploring-Technology/dp/0750687096/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1294091438&amp;amp;sr=8-1-spell Programming 32-bit Microcontrollers in C:  Exploring the PIC32] by Lucio Di Jasio.  This is an easy to read and informative exploration of the PIC32.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Other C resources, such as this [[Media:CBook.pdf|pdf version]] of &amp;quot;The C Book,&amp;quot; and the classic [http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1294091625&amp;amp;sr=1-1 C Programming Language] reference book by Kernighan and Ritchie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
Grades will be approximately 40% quizzes and 60% assignments and L-comps (including the final project).  We will have short quizzes once a week at the beginning of class covering material on the previous assignment. We will have a final project and demo in lieu of a final exam.&lt;br /&gt;
&lt;br /&gt;
All quizzes, assignments, and L-comps have equal weight, regardless of how many points they are graded out of.  If one assignment is graded out of 20 points, and the next out of 40, the formula for calculating your total grade for these two assignments would be 0.5*(score1/20) + 0.5*(score2/40).&lt;br /&gt;
&lt;br /&gt;
== Homework Submission ==&lt;br /&gt;
&lt;br /&gt;
All homework will be submitted using the [http://www.it.northwestern.edu/education/login.html Canvas Course Management System].  Homework should be submitted by 11 AM on the day it is due (i.e., before the first section of the day).  Late homework will not be accepted.&lt;br /&gt;
&lt;br /&gt;
Here are a few guidelines/tips associated with homework submissions:&lt;br /&gt;
&lt;br /&gt;
* Upload files individually. No zip archives!&lt;br /&gt;
&lt;br /&gt;
* Submit written responses as PDFs. &lt;br /&gt;
&lt;br /&gt;
* If you upload a PDF of handwritten work, make sure that the text appears clearly and the picture is oriented portrait style. &lt;br /&gt;
&lt;br /&gt;
* When asked to submit C code for a given programming assignment, we are only concerned with receiving the relevant source files, i.e., all *.c and *.h files.   &lt;br /&gt;
&lt;br /&gt;
* When writing your responses, please follow any instructions on how to write your response.  For example, if we ask for a snippet of code, please do not submit your entire C program with header files and a main routine.  We typically are only expecting a few lines of code that solve the problem.&lt;br /&gt;
&lt;br /&gt;
* Be neat and make sure your answers are easy to follow.  Messy hard-to-follow assignments make TAs cranky, and you don&amp;#039;t want cranky TAs grading your assignment!&lt;br /&gt;
&lt;br /&gt;
* It helps both us and you if you format your code nicely.  Clean looking code is easier for us to grade and easier for you to debug.  Text editors with IDEs such as Visual Studio Code, Netbeans and MPLAB X have tools for auto-formatting code.  For example, highlighting a region and hitting Alt+Shift+f (Linux and Windows) will format that region according to your local formatting preferences.&lt;br /&gt;
&lt;br /&gt;
* When you compile your code, pay attention to any compiler warnings.  They are there for a reason!  You should be able to eventually get your code to produce no warnings.  Often if a piece of code is not working, the warnings will give a clue as to why.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
This course is (partially) &amp;quot;flipped&amp;quot;:  you watch video lectures and do readings in advance of class, and during class, you should have plenty of opportunity for questions and interaction with the instructors and TAs as you work on assignments.  The purpose of this is to try to maximize the value of the class time.  In a typical lecture, 80% of the material is the same every time it is given, and the other 20% is interactive and variable based on student questions.  In a flipped class, we hope to flip this percentage, to better tailor the class to student needs.  You will have time with the instructors while your brains are actually on and working on the material (not just scribbling notes), the times when you are most likely to have questions.  Making the video lectures available should also allow you to spend more or less time on the lecture portion, depending on your prior background.  If the material is difficult for you, you can pause or rewind.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Please keep track of any questions you have as you watch the videos!&amp;#039;&amp;#039;&amp;#039; Bring these questions to class; it will make for a livelier classroom.  &lt;br /&gt;
&lt;br /&gt;
All videos can be found at this page:  [[NU32 Videos|&amp;#039;&amp;#039;&amp;#039;NU32 Videos&amp;#039;&amp;#039;&amp;#039;]] and sample code at the bottom of [[NU32 Software|&amp;#039;&amp;#039;&amp;#039;NU32 Software&amp;#039;&amp;#039;&amp;#039;]].  We will cover almost all of the Appendix, a Crash Course in C, in the first 1.5 weeks of class, so you can work ahead and do all the readings, watch all the videos, and do all the problems, if you have time over the break.  But at a minimum, you must do the winter break assignment.  &lt;br /&gt;
&lt;br /&gt;
We will have video lecture comprehension questions (L-comps) due before every class, assignments due every Tuesday, and quizzes every Thursday (on the material covered in the assignment turned in on Thursday).  L-comps and assignments are turned in using Canvas before 11 AM the day of the class.  The weekly rhythm will be:&lt;br /&gt;
&lt;br /&gt;
* before Tuesday:  turn in assignment on material from previous week and L-comps on videos for the next class&lt;br /&gt;
* Tuesday in class:  discuss assignment, brief recap and Q&amp;amp;A on new videos, start on next assignment&lt;br /&gt;
* before Thursday:  turn in L-comps on videos for next class&lt;br /&gt;
* Thursday in class:  brief quiz on material in assignment turned in on Thursday, recap and discuss videos, continue with assignment&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Winter Break&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Reading due for first class&amp;#039;&amp;#039;&amp;#039;:  pages 515-527 in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]]&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:  1-7 of Appendix A [[NU32 Videos]].  Answer the lecture comprehension (L-comp) questions in CANVAS. &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment&amp;#039;&amp;#039;&amp;#039;:  Exercises 1-4, 6-8, 10-11, 16-17 of Appendix A.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;:  Make a video of your HelloWorld.c program and upload in CANVAS.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 1&amp;#039;&amp;#039;&amp;#039; (T 1/4)  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment due&amp;#039;&amp;#039;&amp;#039;:  L-comp and exercise solutions, and demo video, for the Winter Break assignment by 11am on CANVAS.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from last year&amp;#039;&amp;#039;&amp;#039; https://youtu.be/6cFSmm6eX6w https://youtu.be/P9v-AxwCvHc https://youtu.be/BgNt20-Ivfw https://youtu.be/EvIfmEzMXqs&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Begin next assignment:&amp;#039;&amp;#039;&amp;#039;  Appendix A exercises 18-19, 21-22, 27-28, 30-32, 34-35.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;: Exercise 34 and 35.&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps: 8-16 of a Crash Course in C. &lt;br /&gt;
: Reading:  Through page 562 of a Crash Course in C, and the rest of the Appendix as reference.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 2&amp;#039;&amp;#039;&amp;#039; (Th 1/6)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Answer L-comps &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from last year&amp;#039;&amp;#039;&amp;#039; https://youtu.be/PcREfvXxJQE https://youtu.be/fMmT7FyACMI https://youtu.be/6L7qcu_-I_Q https://youtu.be/r2a4Lg2p0to&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Continue assignment&amp;#039;&amp;#039;&amp;#039;   &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  17 of a Crash Course in C.&lt;br /&gt;
: Reading:  Rest of a Crash Course in C as reference&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 3&amp;#039;&amp;#039;&amp;#039; (T 1/11)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Turn in assignment, L-comps, and demo videos.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Review for the Quiz&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from last year&amp;#039;&amp;#039;&amp;#039; https://youtu.be/I5wguSQcEiw https://youtu.be/LbuoWj5BM3Q&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Reading:  Complete Chapter 1 (quickstart) and Chapter 2.  &lt;br /&gt;
: Assignment:  Problems 3-16 of Chapter 2.  You will need the [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]] and the [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]].&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Study.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 4&amp;#039;&amp;#039;&amp;#039; (Th 1/13)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz review on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz:&amp;#039;&amp;#039;&amp;#039; At home, on C, posted on Canvas at 3pm, due by Fri 6pm &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (no L-comps):  Chapter 1 (for your specific OS)&lt;br /&gt;
: Reading:  Chapter 1: Quickstart&lt;br /&gt;
: Download, install, and compile all software as indicated through the end of Chapter 1.3. See [[NU32 Software | NU32 Software]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 5&amp;#039;&amp;#039;&amp;#039; (T 1/18)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Homework for Chapter 2&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;In class demonstration&amp;#039;&amp;#039;&amp;#039;: Compile helloWorld and talkingPIC for NU32.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: Go over PIC32 software&amp;#039;&amp;#039;&amp;#039; - https://youtu.be/0mG7hlwUduA  https://youtu.be/ZGzbVhb_sdU&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 1,3,7,8,9&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps): 1-4 from Chapter 2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 6&amp;#039;&amp;#039;&amp;#039; (Th 1/20)&lt;br /&gt;
: Turn in Chapter 2 L-comps&lt;br /&gt;
: Quiz on Chapter 1&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/0R-aj6XtJLE https://youtu.be/NEICsIIprKU &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 3. &lt;br /&gt;
: Reading:  Complete Chapter 3.&lt;br /&gt;
: Homework for Chapters 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 7&amp;#039;&amp;#039;&amp;#039; (T 1/25)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Turn in Homework from Chapter 2, L-comps for Chapter 3 videos, read Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/CyGwEoNJdS4 https://youtu.be/5LyWPeLY7yU https://youtu.be/UXNOx6Z1Q9w&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 4. &lt;br /&gt;
: Reading:  Complete Chapter 4.&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 8&amp;#039;&amp;#039;&amp;#039; (Th 1/27)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Chapter 4 L-comp.&lt;br /&gt;
: Quiz on Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/16_lVr_k7R0  https://youtu.be/HoNKp8MNGOw  &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 9&amp;#039;&amp;#039;&amp;#039; (T 2/1)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 3 and 4 homework&lt;br /&gt;
: Videos and L-comps on Chapter 5 &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 5:&lt;br /&gt;
: Homework: Chapter 5 (use no optimization for all exercises): Exercises 3, 4.  Chapter 6:  Exercises 1, 4, 5, 8, 9, 16,17. Make a demo video for 6.17&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 10&amp;#039;&amp;#039;&amp;#039; (Th 2/3)&lt;br /&gt;
: Quiz on Chapter 4&lt;br /&gt;
: Videos and L-comps on Chapter 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 6: https://youtu.be/YhmynLK8dTY https://youtu.be/kJ2rvqyuQzM https://youtu.be/JGBWpj5yNfY &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
: Pay for your equipment.&lt;br /&gt;
Watch Chapter 1 videos (no L-comps), install all software from Chapter 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 11&amp;#039;&amp;#039;&amp;#039; (T 2/8)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 5 and 6 homework&lt;br /&gt;
: Videos and L-comps on Chapters 7 and 8&lt;br /&gt;
&amp;quot; &amp;#039;&amp;#039;&amp;#039;Lecture videos: &amp;#039;&amp;#039; On Chapter 7 &amp;amp; 8: https://youtu.be/04C3QZ7JTMs  https://youtu.be/b3aOIfClECE&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Chapter 7: Exercises 1,2. Chapter 8: Exercise 1. Chapter 9: Exercise 1. Chapter 10: Exercise 1,2.&lt;br /&gt;
: The next assignment is related, do Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Th 2/10)&lt;br /&gt;
: Quiz on Chapter 5 and 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos:&amp;#039;&amp;#039;&amp;#039; On Chapter 9, 10 &amp;amp; 11: 9, 10, https://youtu.be/Eqip-9y3mCc &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (T 2/15)&lt;br /&gt;
: Due: Homework from Chapter 7, 8, 9, 10, and the first half of Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 7 8 9 10 homework&lt;br /&gt;
: Assignment: Chapter 24 project. Create solutions for Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2, 24.5, 24.7, and 24.8.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Th 2/17)&lt;br /&gt;
: Quiz on Chapter 7 8 9 10 11&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (T 2/22)&lt;br /&gt;
: Due: Homework from Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 24 homework&lt;br /&gt;
: Assignment: First half of Chapter 28: Chapter 28 through 28.4.1. Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 2/25)&lt;br /&gt;
: Quiz on Chapter 23&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (T 3/1)&lt;br /&gt;
: Due: First half of Chapter 28, up to 28.4.9&lt;br /&gt;
: Assignment: Complete Chapter 28: 28.4.10 #5, 28.4.12 #5.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Th 3/3)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos:&amp;#039;&amp;#039;&amp;#039; https://youtu.be/eoszZpwqNgY https://youtu.be/cz9ckQUsvH8 https://youtu.be/I--miZscPxc https://youtu.be/x5bSqBKPn1U&lt;br /&gt;
: Quiz on Chapter 25 26 27 during finals week&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (T 3/8)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 20&amp;#039;&amp;#039;&amp;#039; (T 3/10)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Assignment&amp;#039;&amp;#039;&amp;#039; Due by Thur 3/16 at noon&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Th 2/13)&lt;br /&gt;
: Quiz on Chapter 3 and 4 and buttons and LEDs&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Discussion of video and L-comp for Chapter 5&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Brief intro to Chapter 6&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps on Chapter 6 &lt;br /&gt;
: Continue homework for Chapter 5 and 6&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (T 2/18)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Turn in Homework from Chapter 5 and 6, L-comps for Chapter 6 videos&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Brief intro to Chapter 24, and digital i/o and counter/timers&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
&lt;br /&gt;
: Reading:  Chapters 7 and 8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Th 2/20)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz on Chapter 5 and 6&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Brief intro to output compare&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps on Chapters 9 and 10&lt;br /&gt;
: Reading:  Chapters 9 and 10&lt;br /&gt;
: Assignment: : Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (T 2/25)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: L-comps from Chapter 9, 10 and 23, Assignment from Chapter 7-10&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Discussion of turned-in homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Discussion of L-comps&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Intro to Chapter 23 and 24&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Homework: Chapter 24.5, 24.7, and 24.8.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 2/27)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz on Chapter 7-10&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Review Chapter 24&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;Work on assignment&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Complete Chapter 24&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (T 3/3)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Upload solutions and demo for Ch 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Discussion of turned-in homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Discussion of Chapter 25 and 28&lt;br /&gt;
: Hand out motors&lt;br /&gt;
&lt;br /&gt;
At home: &lt;br /&gt;
: Assignment: : Read Chapter 28 through 28.4.1. Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8 &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Th 3/5)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz on Chapter 23, PID Control.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Discussion of Chapter 26 and 27&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Continue Chapter 28&lt;br /&gt;
: L-comps for Chapter 27&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (T 3/10)  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: L-comps&lt;br /&gt;
: Discussion of Chapter 29&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Complete Chapter 28: 28.4.10 #5, 28.4.12 #5.&lt;br /&gt;
: Sign up for a time slot to demonstrate your final assignment: [https://docs.google.com/spreadsheets/d/1reEmJ7B2UCTsKIef9iCSJKDipg_J4DuTVHDbNA6Ls-0/edit?usp=sharing google_sheet]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 20&amp;#039;&amp;#039;&amp;#039; (Th 3/12)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Final Quiz, on Chapter 25, 26 and 27&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Demo&amp;#039;&amp;#039;&amp;#039;:  &lt;br /&gt;
: In person, on Monday 3/16, 3-5 PM, or Wednesday 3/18, 9-11 AM. &lt;br /&gt;
: Electronic submission by Wednesday 3/18, 11 AM.&lt;br /&gt;
: Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8, 28.4.10 #5, 28.4.12 #5. Also turn in all of your PIC code and MATLAB code.&lt;br /&gt;
: Upload a demonstration video of the results of good current tuning, and following a trajectory with good gains and bad gains.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: Sign up for a 5 minute time slot to demo your final project: TBD&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1reEmJ7B2UCTsKIef9iCSJKDipg_J4DuTVHDbNA6Ls-0/edit?usp=sharing googledoc]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Do I need to know the C language to take this course?&lt;br /&gt;
&lt;br /&gt;
A: No. But if you already know C, there is still plenty else in this course for you. If you already know C, know how to use microcontrollers for real-time control, and have a good understanding how common sensors and actuators work and how to interface to them, this course may not be for you. Consider taking ME 433 Advanced Mechatronics in the spring quarter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: Is there an independent project?&lt;br /&gt;
&lt;br /&gt;
A: There is no large independent project. There will be a two-week project at the end of the course, but there will be no machining. For a more significant project, take ME 433 Advanced Mechatronics, offered in the spring quarter. ME 333 is good preparation for ME 433.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: What kind of laptop do I need?&lt;br /&gt;
&lt;br /&gt;
A: You need a laptop with at least 2 USB ports.  Any operating system is fine.&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics_(Archive_Winter_2022)&amp;diff=26257</id>
		<title>ME 333 Introduction to Mechatronics (Archive Winter 2022)</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics_(Archive_Winter_2022)&amp;diff=26257"/>
		<updated>2022-01-21T20:55:19Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Winter Quarter 2022&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;First day of class is Tuesday January 4.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Section 20:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 11:00-12:20, Tech A110 starting 1/18&lt;br /&gt;
* Section 21:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 12:30-1:50, Francis Searle 2407 1/18&lt;br /&gt;
* TAs:  &lt;br /&gt;
** Tito Fernandez&lt;br /&gt;
** Huan Weng&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Final demo&amp;#039;&amp;#039;&amp;#039; (in lieu of final exam):  Monday Mar 14 3-5 PM (12:30-1:50 section) and Wednesday Mar 16 9-11 AM (11-12:20 section)&lt;br /&gt;
* Office Hours: &lt;br /&gt;
** Tito: Monday 1-2:30pm&lt;br /&gt;
** Huan: Wednesday 2-4pm in Ford B100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--in Ford B100:  &lt;br /&gt;
** TuWThF 4-5pm with Prof. Marchuk in Ford B100, or by appt --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Quick links:&lt;br /&gt;
** [http://www.it.northwestern.edu/education/login.html Canvas Course Management System]&lt;br /&gt;
** [[NU32 Videos|NU32 Videos]]&lt;br /&gt;
** [[NU32 Software|NU32 Software]]&lt;br /&gt;
** [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form Report a typo or bug in the book]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Purpose of this Course ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this course is to &amp;#039;&amp;#039;&amp;#039;provide tools that help you express your creativity&amp;#039;&amp;#039;&amp;#039;.  Maybe you want to build a robot, or a piece of kinetic art, or an automatic ball-throwing device to entertain your dog; maybe you&amp;#039;ve identified a market for a new smart product and you&amp;#039;d like to prototype the device.  This course provides fundamentals of mechatronics to give you confidence to take on these projects.  You are encouraged to take what you learn in this course and apply it in ME 433 Advanced Mechatronics, DSGN 360 Design Competition, senior design projects, or independent projects.&lt;br /&gt;
&lt;br /&gt;
== Approximate Syllabus ==&lt;br /&gt;
&lt;br /&gt;
This course is for students who want to build microprocessor-controlled electromechanical devices.  &lt;br /&gt;
&lt;br /&gt;
To do this, ME 333 focuses on three topics: (1) general C programming; (2) Microchip PIC microcontroller architecture and C programming specific to the PIC (e.g., using the PIC&amp;#039;s peripherals, such as analog inputs, digital I/O, counters/timers, comm ports, etc.); and (3) interfacing the PIC to sensors and actuators, some theory of sensor and actuator operation, and interface circuitry and signal processing. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;You will do a lot of programming in this course!&amp;#039;&amp;#039;&amp;#039;  If you are certain you hate programming, then this is not the course for you.  But knowing how to program is very useful for any modern engineer.  The language we will use is C, a fairly low-level language that works well for microcontrollers, which is more portable and not nearly as painful and low-level as assembly language.  If you don&amp;#039;t know C, that&amp;#039;s not a problem, most students don&amp;#039;t before taking ME 333; but you should plan to learn it, and rather quickly.  You will have all the materials you need to start learning C before class starts, and &amp;#039;&amp;#039;&amp;#039;the first assignment on C is due on the first day of class&amp;#039;&amp;#039;&amp;#039;!  The reason:  even though we start out with C, that&amp;#039;s not the main goal of this course.  The main goal is to teach you about microcontrollers and mechatronics.  Plus some students already have C background.&lt;br /&gt;
&lt;br /&gt;
You will bring your laptop to each class.  As the quarter progresses, we will be handing out other equipment that you will need to bring to class, such as the NU32 development board that breaks out the [http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC32MX795F512H PIC32MX795F512H] microcontroller.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;It is essential you do the assigned reading and watch the videos in advance of class.&amp;#039;&amp;#039;&amp;#039;  You will have an assignment and/or lecture comprehension questions (L-comps) due before every class, turned in electronically on Canvas.  (This includes the very first day of class!)  Once a week we will have a short quiz.  Most classes will have a combination of a brief review, Q&amp;amp;A, and working individually or in small groups on problems while the instructors help answer any questions.&lt;br /&gt;
&lt;br /&gt;
Topics we will cover, time depending, include:&lt;br /&gt;
&lt;br /&gt;
* introduction to C programming&lt;br /&gt;
* introduction to the PIC32 hardware, and programming the PIC32 in C&lt;br /&gt;
* digital I/O&lt;br /&gt;
* counters/timers and interrupts&lt;br /&gt;
* analog input&lt;br /&gt;
* sensor smorgasbord&lt;br /&gt;
* digital signal processing:  filters and FFTs&lt;br /&gt;
* analog output and pulse-width modulation&lt;br /&gt;
* brushed permanent magnet DC motors:  theory and control&lt;br /&gt;
* stepper motors and RC servo motors&lt;br /&gt;
* communication by SPI, I2C, and RS-232&lt;br /&gt;
&lt;br /&gt;
== Checklist to Complete Before the First Day of Class ==&lt;br /&gt;
&lt;br /&gt;
By the first day of class, you should:&lt;br /&gt;
&lt;br /&gt;
* Complete the reading and assignment 1, which is &amp;#039;&amp;#039;&amp;#039;due the first day of class!&amp;#039;&amp;#039;&amp;#039;  The first assignments are designed to get you up to speed on the C programming language, which we will use throughout the course.&lt;br /&gt;
* Have a laptop with at least 2 USB A-style ports.  Any operating system is fine.  One port will be used to program and communicate with your PIC microcontroller, and the other will be used for your portable oscilloscope.  &lt;br /&gt;
* Be prepared to buy your class kit, consisting of the portable nScope oscilloscope, the NU32 PIC32 development board, and lots of other goodies.  Price $125 if you are starting from scratch; $75 if you already have the nScope. &lt;br /&gt;
&amp;lt;!--  &lt;br /&gt;
 * Buy your class kit [http://it.mccormick.northwestern.edu/matlab/student_license/login.php &amp;#039;&amp;#039;&amp;#039;here&amp;#039;&amp;#039;&amp;#039;].  If you already have the oscilloscope and multimeter from this year&amp;#039;s ME 233 offering, you should choose &amp;quot;ME 333 (nScope not needed ($75))&amp;quot; for the price of $75.  If you do not have the oscilloscope and multimeter, you should choose &amp;quot;ME 333 (including nScope ($125))&amp;quot; for the price of $125.  You will not be able to start the course until you have completed the purchase of your kit.  If you decide to drop the course, you will be refunded the purchase price upon return of all the equipment in working shape. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Student Contract ==&lt;br /&gt;
&lt;br /&gt;
By signing up for this course, you agree to complete the checklist above before the course starts.  You agree to stay engaged during the class period; even if your computer is open, no facebook or other distractions that will lessen your contribution to the class.  You understand that learning from classmates, and helping classmates, is encouraged, up to the stage of conceptualizing solutions.  You are not allowed to fully complete a solution in a team.  You understand that plagiarism is not tolerated.  You will report instances of plagiarism you are aware of.  Plagiarism includes, but is not limited to:&lt;br /&gt;
&lt;br /&gt;
* Allowing another student to copy your work.&lt;br /&gt;
* Copying another student&amp;#039;s work, in whole or in part.&lt;br /&gt;
* Transforming copied sections of code or solutions to try to disguise their origin.&lt;br /&gt;
* Borrowing code or solutions from others not in the course, e.g., code found on the internet, without attribution.  Borrowing code found on the internet is acceptable if the source is clearly indicated in your code comments, and if you understand how the code works.&lt;br /&gt;
&lt;br /&gt;
On our part (faculty and TAs), we commit to do our best to provide you a curriculum and set of experimental materials to get you up to speed on sophisticated mechatronics integration as quickly and efficiently as possible, while giving you a foundation in concepts needed to go further in future projects and courses.&lt;br /&gt;
&lt;br /&gt;
== Prerequisite ==&lt;br /&gt;
&lt;br /&gt;
ME 233 Electronics Design or similar (EECS 221, 225, BME 305 (pre-2020) or BME 308 (post-2020)) is required. You will be expected to analyze circuits with resistors, capacitors, inductors, diodes, transistors, and op-amps. You can find refresher material and a sample quiz at [[ME_333_Circuits_Review_Material|this page]] and in Appendix B of the book.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
&lt;br /&gt;
Required:&lt;br /&gt;
&lt;br /&gt;
* Textbook: &amp;quot;Embedded Computing and Mechatronics with the PIC32 Microcontroller&amp;quot; ([http://www.amazon.com/gp/product/0124201652/ Amazon], [http://store.elsevier.com/product.jsp?isbn=9780124201651 Elsevier]).  Sample chapters, including the appendix &amp;quot;A Crash Course in C&amp;quot; can be found in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]].  &lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;A pdf of the textbook is included in the class kit, you do not need to buy it online or at the bookstore!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Optional:  [[Media:EssentialC.pdf|Essential C]] is also a very nice intro to C.  Let us know about other online C resources you find particularly useful.&lt;br /&gt;
* [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]]&lt;br /&gt;
* [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]]&lt;br /&gt;
&lt;br /&gt;
Find a typo in the book or a bug in the code? Report it [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form here]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Useful, but not required:&lt;br /&gt;
* [http://www.amazon.com/Programming-32-bit-Microcontrollers-Exploring-Technology/dp/0750687096/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1294091438&amp;amp;sr=8-1-spell Programming 32-bit Microcontrollers in C:  Exploring the PIC32] by Lucio Di Jasio.  This is an easy to read and informative exploration of the PIC32.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Other C resources, such as this [[Media:CBook.pdf|pdf version]] of &amp;quot;The C Book,&amp;quot; and the classic [http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1294091625&amp;amp;sr=1-1 C Programming Language] reference book by Kernighan and Ritchie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
Grades will be approximately 40% quizzes and 60% assignments and L-comps (including the final project).  We will have short quizzes once a week at the beginning of class covering material on the previous assignment. We will have a final project and demo in lieu of a final exam.&lt;br /&gt;
&lt;br /&gt;
All quizzes, assignments, and L-comps have equal weight, regardless of how many points they are graded out of.  If one assignment is graded out of 20 points, and the next out of 40, the formula for calculating your total grade for these two assignments would be 0.5*(score1/20) + 0.5*(score2/40).&lt;br /&gt;
&lt;br /&gt;
== Homework Submission ==&lt;br /&gt;
&lt;br /&gt;
All homework will be submitted using the [http://www.it.northwestern.edu/education/login.html Canvas Course Management System].  Homework should be submitted by 11 AM on the day it is due (i.e., before the first section of the day).  Late homework will not be accepted.&lt;br /&gt;
&lt;br /&gt;
Here are a few guidelines/tips associated with homework submissions:&lt;br /&gt;
&lt;br /&gt;
* Upload files individually. No zip archives!&lt;br /&gt;
&lt;br /&gt;
* Submit written responses as PDFs. &lt;br /&gt;
&lt;br /&gt;
* If you upload a PDF of handwritten work, make sure that the text appears clearly and the picture is oriented portrait style. &lt;br /&gt;
&lt;br /&gt;
* When asked to submit C code for a given programming assignment, we are only concerned with receiving the relevant source files, i.e., all *.c and *.h files.   &lt;br /&gt;
&lt;br /&gt;
* When writing your responses, please follow any instructions on how to write your response.  For example, if we ask for a snippet of code, please do not submit your entire C program with header files and a main routine.  We typically are only expecting a few lines of code that solve the problem.&lt;br /&gt;
&lt;br /&gt;
* Be neat and make sure your answers are easy to follow.  Messy hard-to-follow assignments make TAs cranky, and you don&amp;#039;t want cranky TAs grading your assignment!&lt;br /&gt;
&lt;br /&gt;
* It helps both us and you if you format your code nicely.  Clean looking code is easier for us to grade and easier for you to debug.  Text editors with IDEs such as Visual Studio Code, Netbeans and MPLAB X have tools for auto-formatting code.  For example, highlighting a region and hitting Alt+Shift+f (Linux and Windows) will format that region according to your local formatting preferences.&lt;br /&gt;
&lt;br /&gt;
* When you compile your code, pay attention to any compiler warnings.  They are there for a reason!  You should be able to eventually get your code to produce no warnings.  Often if a piece of code is not working, the warnings will give a clue as to why.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
This course is (partially) &amp;quot;flipped&amp;quot;:  you watch video lectures and do readings in advance of class, and during class, you should have plenty of opportunity for questions and interaction with the instructors and TAs as you work on assignments.  The purpose of this is to try to maximize the value of the class time.  In a typical lecture, 80% of the material is the same every time it is given, and the other 20% is interactive and variable based on student questions.  In a flipped class, we hope to flip this percentage, to better tailor the class to student needs.  You will have time with the instructors while your brains are actually on and working on the material (not just scribbling notes), the times when you are most likely to have questions.  Making the video lectures available should also allow you to spend more or less time on the lecture portion, depending on your prior background.  If the material is difficult for you, you can pause or rewind.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Please keep track of any questions you have as you watch the videos!&amp;#039;&amp;#039;&amp;#039; Bring these questions to class; it will make for a livelier classroom.  &lt;br /&gt;
&lt;br /&gt;
All videos can be found at this page:  [[NU32 Videos|&amp;#039;&amp;#039;&amp;#039;NU32 Videos&amp;#039;&amp;#039;&amp;#039;]] and sample code at the bottom of [[NU32 Software|&amp;#039;&amp;#039;&amp;#039;NU32 Software&amp;#039;&amp;#039;&amp;#039;]].  We will cover almost all of the Appendix, a Crash Course in C, in the first 1.5 weeks of class, so you can work ahead and do all the readings, watch all the videos, and do all the problems, if you have time over the break.  But at a minimum, you must do the winter break assignment.  &lt;br /&gt;
&lt;br /&gt;
We will have video lecture comprehension questions (L-comps) due before every class, assignments due every Tuesday, and quizzes every Thursday (on the material covered in the assignment turned in on Thursday).  L-comps and assignments are turned in using Canvas before 11 AM the day of the class.  The weekly rhythm will be:&lt;br /&gt;
&lt;br /&gt;
* before Tuesday:  turn in assignment on material from previous week and L-comps on videos for the next class&lt;br /&gt;
* Tuesday in class:  discuss assignment, brief recap and Q&amp;amp;A on new videos, start on next assignment&lt;br /&gt;
* before Thursday:  turn in L-comps on videos for next class&lt;br /&gt;
* Thursday in class:  brief quiz on material in assignment turned in on Thursday, recap and discuss videos, continue with assignment&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Winter Break&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Reading due for first class&amp;#039;&amp;#039;&amp;#039;:  pages 515-527 in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]]&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:  1-7 of Appendix A [[NU32 Videos]].  Answer the lecture comprehension (L-comp) questions in CANVAS. &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment&amp;#039;&amp;#039;&amp;#039;:  Exercises 1-4, 6-8, 10-11, 16-17 of Appendix A.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;:  Make a video of your HelloWorld.c program and upload in CANVAS.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 1&amp;#039;&amp;#039;&amp;#039; (T 1/4)  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment due&amp;#039;&amp;#039;&amp;#039;:  L-comp and exercise solutions, and demo video, for the Winter Break assignment by 11am on CANVAS.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from last year&amp;#039;&amp;#039;&amp;#039; https://youtu.be/6cFSmm6eX6w https://youtu.be/P9v-AxwCvHc https://youtu.be/BgNt20-Ivfw https://youtu.be/EvIfmEzMXqs&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Begin next assignment:&amp;#039;&amp;#039;&amp;#039;  Appendix A exercises 18-19, 21-22, 27-28, 30-32, 34-35.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;: Exercise 34 and 35.&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps: 8-16 of a Crash Course in C. &lt;br /&gt;
: Reading:  Through page 562 of a Crash Course in C, and the rest of the Appendix as reference.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 2&amp;#039;&amp;#039;&amp;#039; (Th 1/6)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Answer L-comps &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from last year&amp;#039;&amp;#039;&amp;#039; https://youtu.be/PcREfvXxJQE https://youtu.be/fMmT7FyACMI https://youtu.be/6L7qcu_-I_Q https://youtu.be/r2a4Lg2p0to&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Continue assignment&amp;#039;&amp;#039;&amp;#039;   &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  17 of a Crash Course in C.&lt;br /&gt;
: Reading:  Rest of a Crash Course in C as reference&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 3&amp;#039;&amp;#039;&amp;#039; (T 1/11)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Turn in assignment, L-comps, and demo videos.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Review for the Quiz&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from last year&amp;#039;&amp;#039;&amp;#039; https://youtu.be/I5wguSQcEiw https://youtu.be/LbuoWj5BM3Q&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Reading:  Complete Chapter 1 (quickstart) and Chapter 2.  &lt;br /&gt;
: Assignment:  Problems 3-16 of Chapter 2.  You will need the [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]] and the [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]].&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Study.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 4&amp;#039;&amp;#039;&amp;#039; (Th 1/13)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz review on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz:&amp;#039;&amp;#039;&amp;#039; At home, on C, posted on Canvas at 3pm, due by Fri 6pm &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (no L-comps):  Chapter 1 (for your specific OS)&lt;br /&gt;
: Reading:  Chapter 1: Quickstart&lt;br /&gt;
: Download, install, and compile all software as indicated through the end of Chapter 1.3. See [[NU32 Software | NU32 Software]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 5&amp;#039;&amp;#039;&amp;#039; (T 1/18)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Homework for Chapter 2&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;In class demonstration&amp;#039;&amp;#039;&amp;#039;: Compile helloWorld and talkingPIC for NU32.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: Go over PIC32 software&amp;#039;&amp;#039;&amp;#039; - https://youtu.be/0mG7hlwUduA  https://youtu.be/ZGzbVhb_sdU&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 1,3,7,8,9&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps): 1-4 from Chapter 2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 6&amp;#039;&amp;#039;&amp;#039; (Th 1/20)&lt;br /&gt;
: Turn in Chapter 2 L-comps&lt;br /&gt;
: Quiz on Chapter 1&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/0R-aj6XtJLE https://youtu.be/NEICsIIprKU &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 3. &lt;br /&gt;
: Reading:  Complete Chapter 3.&lt;br /&gt;
: Homework for Chapters 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 7&amp;#039;&amp;#039;&amp;#039; (T 1/25)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Turn in Homework from Chapter 2, L-comps for Chapter 3 videos, read Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/CyGwEoNJdS4 https://youtu.be/5LyWPeLY7yU https://youtu.be/UXNOx6Z1Q9w&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 4. &lt;br /&gt;
: Reading:  Complete Chapter 4.&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 4,5. Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 8&amp;#039;&amp;#039;&amp;#039; (Th 1/27)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Chapter 4 L-comp.&lt;br /&gt;
: Quiz on Chapter 2&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/16_lVr_k7R0  https://youtu.be/HoNKp8MNGOw  &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
: Pay for your equipment.&lt;br /&gt;
Watch Chapter 1 videos (no L-comps), install all software from Chapter 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 9&amp;#039;&amp;#039;&amp;#039; (T 2/1)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 3 and 4 homework&lt;br /&gt;
: Videos and L-comps on Chapter 5 &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 5:&lt;br /&gt;
: Homework: Chapter 5 (use no optimization for all exercises): Exercises 3, 4.  Chapter 6:  Exercises 1, 4, 5, 8, 9, 16,17. Make a demo video for 6.17&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 10&amp;#039;&amp;#039;&amp;#039; (Th 2/3)&lt;br /&gt;
: Quiz on Chapter 3 and 4&lt;br /&gt;
: Videos and L-comps on Chapter 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 6: https://youtu.be/YhmynLK8dTY https://youtu.be/kJ2rvqyuQzM https://youtu.be/JGBWpj5yNfY and a video by Petras, on Canvas&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 11&amp;#039;&amp;#039;&amp;#039; (T 2/8)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 5 and 6 homework&lt;br /&gt;
: Videos and L-comps on Chapters 7 and 8&lt;br /&gt;
&amp;quot; &amp;#039;&amp;#039;&amp;#039;Lecture videos: &amp;#039;&amp;#039; On Chapter 7 &amp;amp; 8: https://youtu.be/04C3QZ7JTMs  https://youtu.be/b3aOIfClECE&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Chapter 7: Exercises 1,2. Chapter 8: Exercise 1. Chapter 9: Exercise 1. Chapter 10: Exercise 1,2.&lt;br /&gt;
: The next assignment is related, do Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Th 2/10)&lt;br /&gt;
: Quiz on Chapter 5 and 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos:&amp;#039;&amp;#039;&amp;#039; On Chapter 9, 10 &amp;amp; 11: 9, 10, https://youtu.be/Eqip-9y3mCc &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (T 2/15)&lt;br /&gt;
: Due: Homework from Chapter 7, 8, 9, 10, and the first half of Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 7 8 9 10 homework&lt;br /&gt;
: Assignment: Chapter 24 project. Create solutions for Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2, 24.5, 24.7, and 24.8.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Th 2/17)&lt;br /&gt;
: Quiz on Chapter 7 8 9 10 11&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (T 2/22)&lt;br /&gt;
: Due: Homework from Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 24 homework&lt;br /&gt;
: Assignment: First half of Chapter 28: Chapter 28 through 28.4.1. Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 2/25)&lt;br /&gt;
: Quiz on Chapter 23&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (T 3/1)&lt;br /&gt;
: Due: First half of Chapter 28, up to 28.4.9&lt;br /&gt;
: Assignment: Complete Chapter 28: 28.4.10 #5, 28.4.12 #5.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Th 3/3)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos:&amp;#039;&amp;#039;&amp;#039; https://youtu.be/eoszZpwqNgY https://youtu.be/cz9ckQUsvH8 https://youtu.be/I--miZscPxc https://youtu.be/x5bSqBKPn1U&lt;br /&gt;
: Quiz on Chapter 25 26 27 during finals week&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (T 3/8)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 20&amp;#039;&amp;#039;&amp;#039; (T 3/10)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Assignment&amp;#039;&amp;#039;&amp;#039; Due by Thur 3/16 at noon&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Th 2/13)&lt;br /&gt;
: Quiz on Chapter 3 and 4 and buttons and LEDs&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Discussion of video and L-comp for Chapter 5&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Brief intro to Chapter 6&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps on Chapter 6 &lt;br /&gt;
: Continue homework for Chapter 5 and 6&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (T 2/18)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Turn in Homework from Chapter 5 and 6, L-comps for Chapter 6 videos&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Brief intro to Chapter 24, and digital i/o and counter/timers&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
&lt;br /&gt;
: Reading:  Chapters 7 and 8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Th 2/20)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz on Chapter 5 and 6&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Brief intro to output compare&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps on Chapters 9 and 10&lt;br /&gt;
: Reading:  Chapters 9 and 10&lt;br /&gt;
: Assignment: : Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (T 2/25)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: L-comps from Chapter 9, 10 and 23, Assignment from Chapter 7-10&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Discussion of turned-in homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Discussion of L-comps&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Intro to Chapter 23 and 24&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Homework: Chapter 24.5, 24.7, and 24.8.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 2/27)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz on Chapter 7-10&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Review Chapter 24&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;Work on assignment&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Complete Chapter 24&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (T 3/3)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Upload solutions and demo for Ch 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Discussion of turned-in homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Discussion of Chapter 25 and 28&lt;br /&gt;
: Hand out motors&lt;br /&gt;
&lt;br /&gt;
At home: &lt;br /&gt;
: Assignment: : Read Chapter 28 through 28.4.1. Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8 &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Th 3/5)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz on Chapter 23, PID Control.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Discussion of Chapter 26 and 27&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Continue Chapter 28&lt;br /&gt;
: L-comps for Chapter 27&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (T 3/10)  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: L-comps&lt;br /&gt;
: Discussion of Chapter 29&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Complete Chapter 28: 28.4.10 #5, 28.4.12 #5.&lt;br /&gt;
: Sign up for a time slot to demonstrate your final assignment: [https://docs.google.com/spreadsheets/d/1reEmJ7B2UCTsKIef9iCSJKDipg_J4DuTVHDbNA6Ls-0/edit?usp=sharing google_sheet]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 20&amp;#039;&amp;#039;&amp;#039; (Th 3/12)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Final Quiz, on Chapter 25, 26 and 27&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Demo&amp;#039;&amp;#039;&amp;#039;:  &lt;br /&gt;
: In person, on Monday 3/16, 3-5 PM, or Wednesday 3/18, 9-11 AM. &lt;br /&gt;
: Electronic submission by Wednesday 3/18, 11 AM.&lt;br /&gt;
: Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8, 28.4.10 #5, 28.4.12 #5. Also turn in all of your PIC code and MATLAB code.&lt;br /&gt;
: Upload a demonstration video of the results of good current tuning, and following a trajectory with good gains and bad gains.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: Sign up for a 5 minute time slot to demo your final project: TBD&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1reEmJ7B2UCTsKIef9iCSJKDipg_J4DuTVHDbNA6Ls-0/edit?usp=sharing googledoc]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Do I need to know the C language to take this course?&lt;br /&gt;
&lt;br /&gt;
A: No. But if you already know C, there is still plenty else in this course for you. If you already know C, know how to use microcontrollers for real-time control, and have a good understanding how common sensors and actuators work and how to interface to them, this course may not be for you. Consider taking ME 433 Advanced Mechatronics in the spring quarter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: Is there an independent project?&lt;br /&gt;
&lt;br /&gt;
A: There is no large independent project. There will be a two-week project at the end of the course, but there will be no machining. For a more significant project, take ME 433 Advanced Mechatronics, offered in the spring quarter. ME 333 is good preparation for ME 433.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: What kind of laptop do I need?&lt;br /&gt;
&lt;br /&gt;
A: You need a laptop with at least 2 USB ports.  Any operating system is fine.&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics_(Archive_Winter_2022)&amp;diff=26256</id>
		<title>ME 333 Introduction to Mechatronics (Archive Winter 2022)</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics_(Archive_Winter_2022)&amp;diff=26256"/>
		<updated>2022-01-21T20:37:40Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Winter Quarter 2022&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;First day of class is Tuesday January 4.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Section 20:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 11:00-12:20, Tech A110 starting 1/18&lt;br /&gt;
* Section 21:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 12:30-1:50, Francis Searle 2407 1/18&lt;br /&gt;
* TAs:  &lt;br /&gt;
** Tito Fernandez&lt;br /&gt;
** Huan Weng&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Final demo&amp;#039;&amp;#039;&amp;#039; (in lieu of final exam):  Monday Mar 14 3-5 PM (12:30-1:50 section) and Wednesday Mar 16 9-11 AM (11-12:20 section)&lt;br /&gt;
* Office Hours: &lt;br /&gt;
** Tito: Monday 1-2:30pm&lt;br /&gt;
** Huan: Wednesday 2-4pm in Ford B100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--in Ford B100:  &lt;br /&gt;
** TuWThF 4-5pm with Prof. Marchuk in Ford B100, or by appt --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Quick links:&lt;br /&gt;
** [http://www.it.northwestern.edu/education/login.html Canvas Course Management System]&lt;br /&gt;
** [[NU32 Videos|NU32 Videos]]&lt;br /&gt;
** [[NU32 Software|NU32 Software]]&lt;br /&gt;
** [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form Report a typo or bug in the book]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Purpose of this Course ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this course is to &amp;#039;&amp;#039;&amp;#039;provide tools that help you express your creativity&amp;#039;&amp;#039;&amp;#039;.  Maybe you want to build a robot, or a piece of kinetic art, or an automatic ball-throwing device to entertain your dog; maybe you&amp;#039;ve identified a market for a new smart product and you&amp;#039;d like to prototype the device.  This course provides fundamentals of mechatronics to give you confidence to take on these projects.  You are encouraged to take what you learn in this course and apply it in ME 433 Advanced Mechatronics, DSGN 360 Design Competition, senior design projects, or independent projects.&lt;br /&gt;
&lt;br /&gt;
== Approximate Syllabus ==&lt;br /&gt;
&lt;br /&gt;
This course is for students who want to build microprocessor-controlled electromechanical devices.  &lt;br /&gt;
&lt;br /&gt;
To do this, ME 333 focuses on three topics: (1) general C programming; (2) Microchip PIC microcontroller architecture and C programming specific to the PIC (e.g., using the PIC&amp;#039;s peripherals, such as analog inputs, digital I/O, counters/timers, comm ports, etc.); and (3) interfacing the PIC to sensors and actuators, some theory of sensor and actuator operation, and interface circuitry and signal processing. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;You will do a lot of programming in this course!&amp;#039;&amp;#039;&amp;#039;  If you are certain you hate programming, then this is not the course for you.  But knowing how to program is very useful for any modern engineer.  The language we will use is C, a fairly low-level language that works well for microcontrollers, which is more portable and not nearly as painful and low-level as assembly language.  If you don&amp;#039;t know C, that&amp;#039;s not a problem, most students don&amp;#039;t before taking ME 333; but you should plan to learn it, and rather quickly.  You will have all the materials you need to start learning C before class starts, and &amp;#039;&amp;#039;&amp;#039;the first assignment on C is due on the first day of class&amp;#039;&amp;#039;&amp;#039;!  The reason:  even though we start out with C, that&amp;#039;s not the main goal of this course.  The main goal is to teach you about microcontrollers and mechatronics.  Plus some students already have C background.&lt;br /&gt;
&lt;br /&gt;
You will bring your laptop to each class.  As the quarter progresses, we will be handing out other equipment that you will need to bring to class, such as the NU32 development board that breaks out the [http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC32MX795F512H PIC32MX795F512H] microcontroller.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;It is essential you do the assigned reading and watch the videos in advance of class.&amp;#039;&amp;#039;&amp;#039;  You will have an assignment and/or lecture comprehension questions (L-comps) due before every class, turned in electronically on Canvas.  (This includes the very first day of class!)  Once a week we will have a short quiz.  Most classes will have a combination of a brief review, Q&amp;amp;A, and working individually or in small groups on problems while the instructors help answer any questions.&lt;br /&gt;
&lt;br /&gt;
Topics we will cover, time depending, include:&lt;br /&gt;
&lt;br /&gt;
* introduction to C programming&lt;br /&gt;
* introduction to the PIC32 hardware, and programming the PIC32 in C&lt;br /&gt;
* digital I/O&lt;br /&gt;
* counters/timers and interrupts&lt;br /&gt;
* analog input&lt;br /&gt;
* sensor smorgasbord&lt;br /&gt;
* digital signal processing:  filters and FFTs&lt;br /&gt;
* analog output and pulse-width modulation&lt;br /&gt;
* brushed permanent magnet DC motors:  theory and control&lt;br /&gt;
* stepper motors and RC servo motors&lt;br /&gt;
* communication by SPI, I2C, and RS-232&lt;br /&gt;
&lt;br /&gt;
== Checklist to Complete Before the First Day of Class ==&lt;br /&gt;
&lt;br /&gt;
By the first day of class, you should:&lt;br /&gt;
&lt;br /&gt;
* Complete the reading and assignment 1, which is &amp;#039;&amp;#039;&amp;#039;due the first day of class!&amp;#039;&amp;#039;&amp;#039;  The first assignments are designed to get you up to speed on the C programming language, which we will use throughout the course.&lt;br /&gt;
* Have a laptop with at least 2 USB A-style ports.  Any operating system is fine.  One port will be used to program and communicate with your PIC microcontroller, and the other will be used for your portable oscilloscope.  &lt;br /&gt;
* Be prepared to buy your class kit, consisting of the portable nScope oscilloscope, the NU32 PIC32 development board, and lots of other goodies.  Price $125 if you are starting from scratch; $75 if you already have the nScope. &lt;br /&gt;
&amp;lt;!--  &lt;br /&gt;
 * Buy your class kit [http://it.mccormick.northwestern.edu/matlab/student_license/login.php &amp;#039;&amp;#039;&amp;#039;here&amp;#039;&amp;#039;&amp;#039;].  If you already have the oscilloscope and multimeter from this year&amp;#039;s ME 233 offering, you should choose &amp;quot;ME 333 (nScope not needed ($75))&amp;quot; for the price of $75.  If you do not have the oscilloscope and multimeter, you should choose &amp;quot;ME 333 (including nScope ($125))&amp;quot; for the price of $125.  You will not be able to start the course until you have completed the purchase of your kit.  If you decide to drop the course, you will be refunded the purchase price upon return of all the equipment in working shape. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Student Contract ==&lt;br /&gt;
&lt;br /&gt;
By signing up for this course, you agree to complete the checklist above before the course starts.  You agree to stay engaged during the class period; even if your computer is open, no facebook or other distractions that will lessen your contribution to the class.  You understand that learning from classmates, and helping classmates, is encouraged, up to the stage of conceptualizing solutions.  You are not allowed to fully complete a solution in a team.  You understand that plagiarism is not tolerated.  You will report instances of plagiarism you are aware of.  Plagiarism includes, but is not limited to:&lt;br /&gt;
&lt;br /&gt;
* Allowing another student to copy your work.&lt;br /&gt;
* Copying another student&amp;#039;s work, in whole or in part.&lt;br /&gt;
* Transforming copied sections of code or solutions to try to disguise their origin.&lt;br /&gt;
* Borrowing code or solutions from others not in the course, e.g., code found on the internet, without attribution.  Borrowing code found on the internet is acceptable if the source is clearly indicated in your code comments, and if you understand how the code works.&lt;br /&gt;
&lt;br /&gt;
On our part (faculty and TAs), we commit to do our best to provide you a curriculum and set of experimental materials to get you up to speed on sophisticated mechatronics integration as quickly and efficiently as possible, while giving you a foundation in concepts needed to go further in future projects and courses.&lt;br /&gt;
&lt;br /&gt;
== Prerequisite ==&lt;br /&gt;
&lt;br /&gt;
ME 233 Electronics Design or similar (EECS 221, 225, BME 305 (pre-2020) or BME 308 (post-2020)) is required. You will be expected to analyze circuits with resistors, capacitors, inductors, diodes, transistors, and op-amps. You can find refresher material and a sample quiz at [[ME_333_Circuits_Review_Material|this page]] and in Appendix B of the book.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
&lt;br /&gt;
Required:&lt;br /&gt;
&lt;br /&gt;
* Textbook: &amp;quot;Embedded Computing and Mechatronics with the PIC32 Microcontroller&amp;quot; ([http://www.amazon.com/gp/product/0124201652/ Amazon], [http://store.elsevier.com/product.jsp?isbn=9780124201651 Elsevier]).  Sample chapters, including the appendix &amp;quot;A Crash Course in C&amp;quot; can be found in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]].  &lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;A pdf of the textbook is included in the class kit, you do not need to buy it online or at the bookstore!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Optional:  [[Media:EssentialC.pdf|Essential C]] is also a very nice intro to C.  Let us know about other online C resources you find particularly useful.&lt;br /&gt;
* [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]]&lt;br /&gt;
* [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]]&lt;br /&gt;
&lt;br /&gt;
Find a typo in the book or a bug in the code? Report it [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form here]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Useful, but not required:&lt;br /&gt;
* [http://www.amazon.com/Programming-32-bit-Microcontrollers-Exploring-Technology/dp/0750687096/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1294091438&amp;amp;sr=8-1-spell Programming 32-bit Microcontrollers in C:  Exploring the PIC32] by Lucio Di Jasio.  This is an easy to read and informative exploration of the PIC32.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Other C resources, such as this [[Media:CBook.pdf|pdf version]] of &amp;quot;The C Book,&amp;quot; and the classic [http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1294091625&amp;amp;sr=1-1 C Programming Language] reference book by Kernighan and Ritchie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
Grades will be approximately 40% quizzes and 60% assignments and L-comps (including the final project).  We will have short quizzes once a week at the beginning of class covering material on the previous assignment. We will have a final project and demo in lieu of a final exam.&lt;br /&gt;
&lt;br /&gt;
All quizzes, assignments, and L-comps have equal weight, regardless of how many points they are graded out of.  If one assignment is graded out of 20 points, and the next out of 40, the formula for calculating your total grade for these two assignments would be 0.5*(score1/20) + 0.5*(score2/40).&lt;br /&gt;
&lt;br /&gt;
== Homework Submission ==&lt;br /&gt;
&lt;br /&gt;
All homework will be submitted using the [http://www.it.northwestern.edu/education/login.html Canvas Course Management System].  Homework should be submitted by 11 AM on the day it is due (i.e., before the first section of the day).  Late homework will not be accepted.&lt;br /&gt;
&lt;br /&gt;
Here are a few guidelines/tips associated with homework submissions:&lt;br /&gt;
&lt;br /&gt;
* Upload files individually. No zip archives!&lt;br /&gt;
&lt;br /&gt;
* Submit written responses as PDFs. &lt;br /&gt;
&lt;br /&gt;
* If you upload a PDF of handwritten work, make sure that the text appears clearly and the picture is oriented portrait style. &lt;br /&gt;
&lt;br /&gt;
* When asked to submit C code for a given programming assignment, we are only concerned with receiving the relevant source files, i.e., all *.c and *.h files.   &lt;br /&gt;
&lt;br /&gt;
* When writing your responses, please follow any instructions on how to write your response.  For example, if we ask for a snippet of code, please do not submit your entire C program with header files and a main routine.  We typically are only expecting a few lines of code that solve the problem.&lt;br /&gt;
&lt;br /&gt;
* Be neat and make sure your answers are easy to follow.  Messy hard-to-follow assignments make TAs cranky, and you don&amp;#039;t want cranky TAs grading your assignment!&lt;br /&gt;
&lt;br /&gt;
* It helps both us and you if you format your code nicely.  Clean looking code is easier for us to grade and easier for you to debug.  Text editors with IDEs such as Visual Studio Code, Netbeans and MPLAB X have tools for auto-formatting code.  For example, highlighting a region and hitting Alt+Shift+f (Linux and Windows) will format that region according to your local formatting preferences.&lt;br /&gt;
&lt;br /&gt;
* When you compile your code, pay attention to any compiler warnings.  They are there for a reason!  You should be able to eventually get your code to produce no warnings.  Often if a piece of code is not working, the warnings will give a clue as to why.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
This course is (partially) &amp;quot;flipped&amp;quot;:  you watch video lectures and do readings in advance of class, and during class, you should have plenty of opportunity for questions and interaction with the instructors and TAs as you work on assignments.  The purpose of this is to try to maximize the value of the class time.  In a typical lecture, 80% of the material is the same every time it is given, and the other 20% is interactive and variable based on student questions.  In a flipped class, we hope to flip this percentage, to better tailor the class to student needs.  You will have time with the instructors while your brains are actually on and working on the material (not just scribbling notes), the times when you are most likely to have questions.  Making the video lectures available should also allow you to spend more or less time on the lecture portion, depending on your prior background.  If the material is difficult for you, you can pause or rewind.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Please keep track of any questions you have as you watch the videos!&amp;#039;&amp;#039;&amp;#039; Bring these questions to class; it will make for a livelier classroom.  &lt;br /&gt;
&lt;br /&gt;
All videos can be found at this page:  [[NU32 Videos|&amp;#039;&amp;#039;&amp;#039;NU32 Videos&amp;#039;&amp;#039;&amp;#039;]] and sample code at the bottom of [[NU32 Software|&amp;#039;&amp;#039;&amp;#039;NU32 Software&amp;#039;&amp;#039;&amp;#039;]].  We will cover almost all of the Appendix, a Crash Course in C, in the first 1.5 weeks of class, so you can work ahead and do all the readings, watch all the videos, and do all the problems, if you have time over the break.  But at a minimum, you must do the winter break assignment.  &lt;br /&gt;
&lt;br /&gt;
We will have video lecture comprehension questions (L-comps) due before every class, assignments due every Tuesday, and quizzes every Thursday (on the material covered in the assignment turned in on Thursday).  L-comps and assignments are turned in using Canvas before 11 AM the day of the class.  The weekly rhythm will be:&lt;br /&gt;
&lt;br /&gt;
* before Tuesday:  turn in assignment on material from previous week and L-comps on videos for the next class&lt;br /&gt;
* Tuesday in class:  discuss assignment, brief recap and Q&amp;amp;A on new videos, start on next assignment&lt;br /&gt;
* before Thursday:  turn in L-comps on videos for next class&lt;br /&gt;
* Thursday in class:  brief quiz on material in assignment turned in on Thursday, recap and discuss videos, continue with assignment&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Winter Break&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Reading due for first class&amp;#039;&amp;#039;&amp;#039;:  pages 515-527 in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]]&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:  1-7 of Appendix A [[NU32 Videos]].  Answer the lecture comprehension (L-comp) questions in CANVAS. &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment&amp;#039;&amp;#039;&amp;#039;:  Exercises 1-4, 6-8, 10-11, 16-17 of Appendix A.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;:  Make a video of your HelloWorld.c program and upload in CANVAS.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 1&amp;#039;&amp;#039;&amp;#039; (T 1/4)  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment due&amp;#039;&amp;#039;&amp;#039;:  L-comp and exercise solutions, and demo video, for the Winter Break assignment by 11am on CANVAS.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from last year&amp;#039;&amp;#039;&amp;#039; https://youtu.be/6cFSmm6eX6w https://youtu.be/P9v-AxwCvHc https://youtu.be/BgNt20-Ivfw https://youtu.be/EvIfmEzMXqs&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Begin next assignment:&amp;#039;&amp;#039;&amp;#039;  Appendix A exercises 18-19, 21-22, 27-28, 30-32, 34-35.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;: Exercise 34 and 35.&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps: 8-16 of a Crash Course in C. &lt;br /&gt;
: Reading:  Through page 562 of a Crash Course in C, and the rest of the Appendix as reference.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 2&amp;#039;&amp;#039;&amp;#039; (Th 1/6)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Answer L-comps &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from last year&amp;#039;&amp;#039;&amp;#039; https://youtu.be/PcREfvXxJQE https://youtu.be/fMmT7FyACMI https://youtu.be/6L7qcu_-I_Q https://youtu.be/r2a4Lg2p0to&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Continue assignment&amp;#039;&amp;#039;&amp;#039;   &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  17 of a Crash Course in C.&lt;br /&gt;
: Reading:  Rest of a Crash Course in C as reference&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 3&amp;#039;&amp;#039;&amp;#039; (T 1/11)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Turn in assignment, L-comps, and demo videos.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Review for the Quiz&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from last year&amp;#039;&amp;#039;&amp;#039; https://youtu.be/I5wguSQcEiw https://youtu.be/LbuoWj5BM3Q&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Study.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 4&amp;#039;&amp;#039;&amp;#039; (Th 1/13)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz review on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz:&amp;#039;&amp;#039;&amp;#039; At home, on C, posted on Canvas at 3pm, due by 8pm &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (no L-comps):  Chapter 1 (for your specific OS)&lt;br /&gt;
: Reading:  Chapter 1: Quickstart&lt;br /&gt;
: Download, install, and compile all software as indicated through the end of Chapter 1.3. See [[NU32 Software | NU32 Software]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 5&amp;#039;&amp;#039;&amp;#039; (T 1/18)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Watch Chapter 1 videos (no L-comps), install all software from Chapter 1&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;In class demonstration&amp;#039;&amp;#039;&amp;#039;: Compile helloWorld and talkingPIC for NU32.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: Go over PIC32 software&amp;#039;&amp;#039;&amp;#039; - https://youtu.be/0mG7hlwUduA  https://youtu.be/ZGzbVhb_sdU&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps): 1-4 from Chapter 2.&lt;br /&gt;
: Reading:  Complete Chapter 1 (quickstart) and Chapter 2.  &lt;br /&gt;
: Assignment:  Problems 3-16 of Chapter 2.  You will need the [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]] and the [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]].&lt;br /&gt;
: Pay for your equipment.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 6&amp;#039;&amp;#039;&amp;#039; (Th 1/20)&lt;br /&gt;
: Turn in Chapter 2 L-comps&lt;br /&gt;
: Quiz on Chapter 1&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/0R-aj6XtJLE https://youtu.be/NEICsIIprKU &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 3. &lt;br /&gt;
: Reading:  Complete Chapter 3.&lt;br /&gt;
: Homework for Chapters 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 7&amp;#039;&amp;#039;&amp;#039; (T 1/25)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Turn in Homework from Chapter 2, L-comps for Chapter 3 videos, read Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/CyGwEoNJdS4 https://youtu.be/5LyWPeLY7yU https://youtu.be/UXNOx6Z1Q9w&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 4. &lt;br /&gt;
: Reading:  Complete Chapter 4.&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 1-9 (skip demo for 5 if you don&amp;#039;t have your kit yet). Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 8&amp;#039;&amp;#039;&amp;#039; (Th 1/27)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Chapter 4 L-comp.&lt;br /&gt;
: Quiz on Chapter 2&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/16_lVr_k7R0  https://youtu.be/HoNKp8MNGOw  &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Make sure your NU32 works, test simplePIC and talking PIC&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 9&amp;#039;&amp;#039;&amp;#039; (T 2/1)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 3 and 4 homework&lt;br /&gt;
: Videos and L-comps on Chapter 5 &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 5:&lt;br /&gt;
: Homework: Chapter 5 (use no optimization for all exercises): Exercises 3, 4.  Chapter 6:  Exercises 1, 4, 5, 8, 9, 16,17. Make a demo video for 6.17&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 10&amp;#039;&amp;#039;&amp;#039; (Th 2/3)&lt;br /&gt;
: Quiz on Chapter 3 and 4&lt;br /&gt;
: Videos and L-comps on Chapter 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 6: https://youtu.be/YhmynLK8dTY https://youtu.be/kJ2rvqyuQzM https://youtu.be/JGBWpj5yNfY and a video by Petras, on Canvas&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 11&amp;#039;&amp;#039;&amp;#039; (T 2/8)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 5 and 6 homework&lt;br /&gt;
: Videos and L-comps on Chapters 7 and 8&lt;br /&gt;
&amp;quot; &amp;#039;&amp;#039;&amp;#039;Lecture videos: &amp;#039;&amp;#039; On Chapter 7 &amp;amp; 8: https://youtu.be/04C3QZ7JTMs  https://youtu.be/b3aOIfClECE&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Chapter 7: Exercises 1,2. Chapter 8: Exercise 1. Chapter 9: Exercise 1. Chapter 10: Exercise 1,2.&lt;br /&gt;
: The next assignment is related, do Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Th 2/10)&lt;br /&gt;
: Quiz on Chapter 5 and 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos:&amp;#039;&amp;#039;&amp;#039; On Chapter 9, 10 &amp;amp; 11: 9, 10, https://youtu.be/Eqip-9y3mCc &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (T 2/15)&lt;br /&gt;
: Due: Homework from Chapter 7, 8, 9, 10, and the first half of Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 7 8 9 10 homework&lt;br /&gt;
: Assignment: Chapter 24 project. Create solutions for Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2, 24.5, 24.7, and 24.8.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Th 2/17)&lt;br /&gt;
: Quiz on Chapter 7 8 9 10 11&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (T 2/22)&lt;br /&gt;
: Due: Homework from Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 24 homework&lt;br /&gt;
: Assignment: First half of Chapter 28: Chapter 28 through 28.4.1. Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 2/25)&lt;br /&gt;
: Quiz on Chapter 23&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (T 3/1)&lt;br /&gt;
: Due: First half of Chapter 28, up to 28.4.9&lt;br /&gt;
: Assignment: Complete Chapter 28: 28.4.10 #5, 28.4.12 #5.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Th 3/3)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos:&amp;#039;&amp;#039;&amp;#039; https://youtu.be/eoszZpwqNgY https://youtu.be/cz9ckQUsvH8 https://youtu.be/I--miZscPxc https://youtu.be/x5bSqBKPn1U&lt;br /&gt;
: Quiz on Chapter 25 26 27 during finals week&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (T 3/8)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 20&amp;#039;&amp;#039;&amp;#039; (T 3/10)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Assignment&amp;#039;&amp;#039;&amp;#039; Due by Thur 3/16 at noon&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Th 2/13)&lt;br /&gt;
: Quiz on Chapter 3 and 4 and buttons and LEDs&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Discussion of video and L-comp for Chapter 5&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Brief intro to Chapter 6&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps on Chapter 6 &lt;br /&gt;
: Continue homework for Chapter 5 and 6&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (T 2/18)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Turn in Homework from Chapter 5 and 6, L-comps for Chapter 6 videos&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Brief intro to Chapter 24, and digital i/o and counter/timers&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
&lt;br /&gt;
: Reading:  Chapters 7 and 8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Th 2/20)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz on Chapter 5 and 6&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Brief intro to output compare&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps on Chapters 9 and 10&lt;br /&gt;
: Reading:  Chapters 9 and 10&lt;br /&gt;
: Assignment: : Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (T 2/25)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: L-comps from Chapter 9, 10 and 23, Assignment from Chapter 7-10&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Discussion of turned-in homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Discussion of L-comps&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Intro to Chapter 23 and 24&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Homework: Chapter 24.5, 24.7, and 24.8.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 2/27)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz on Chapter 7-10&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Review Chapter 24&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;Work on assignment&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Complete Chapter 24&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (T 3/3)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Upload solutions and demo for Ch 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Discussion of turned-in homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Discussion of Chapter 25 and 28&lt;br /&gt;
: Hand out motors&lt;br /&gt;
&lt;br /&gt;
At home: &lt;br /&gt;
: Assignment: : Read Chapter 28 through 28.4.1. Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8 &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Th 3/5)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz on Chapter 23, PID Control.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Discussion of Chapter 26 and 27&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Continue Chapter 28&lt;br /&gt;
: L-comps for Chapter 27&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (T 3/10)  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: L-comps&lt;br /&gt;
: Discussion of Chapter 29&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Complete Chapter 28: 28.4.10 #5, 28.4.12 #5.&lt;br /&gt;
: Sign up for a time slot to demonstrate your final assignment: [https://docs.google.com/spreadsheets/d/1reEmJ7B2UCTsKIef9iCSJKDipg_J4DuTVHDbNA6Ls-0/edit?usp=sharing google_sheet]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 20&amp;#039;&amp;#039;&amp;#039; (Th 3/12)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Final Quiz, on Chapter 25, 26 and 27&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Demo&amp;#039;&amp;#039;&amp;#039;:  &lt;br /&gt;
: In person, on Monday 3/16, 3-5 PM, or Wednesday 3/18, 9-11 AM. &lt;br /&gt;
: Electronic submission by Wednesday 3/18, 11 AM.&lt;br /&gt;
: Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8, 28.4.10 #5, 28.4.12 #5. Also turn in all of your PIC code and MATLAB code.&lt;br /&gt;
: Upload a demonstration video of the results of good current tuning, and following a trajectory with good gains and bad gains.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: Sign up for a 5 minute time slot to demo your final project: TBD&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1reEmJ7B2UCTsKIef9iCSJKDipg_J4DuTVHDbNA6Ls-0/edit?usp=sharing googledoc]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Do I need to know the C language to take this course?&lt;br /&gt;
&lt;br /&gt;
A: No. But if you already know C, there is still plenty else in this course for you. If you already know C, know how to use microcontrollers for real-time control, and have a good understanding how common sensors and actuators work and how to interface to them, this course may not be for you. Consider taking ME 433 Advanced Mechatronics in the spring quarter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: Is there an independent project?&lt;br /&gt;
&lt;br /&gt;
A: There is no large independent project. There will be a two-week project at the end of the course, but there will be no machining. For a more significant project, take ME 433 Advanced Mechatronics, offered in the spring quarter. ME 333 is good preparation for ME 433.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: What kind of laptop do I need?&lt;br /&gt;
&lt;br /&gt;
A: You need a laptop with at least 2 USB ports.  Any operating system is fine.&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=NU32_Software&amp;diff=26255</id>
		<title>NU32 Software</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=NU32_Software&amp;diff=26255"/>
		<updated>2021-12-30T17:59:32Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Software to download to program the [[NU32|NU32 PIC32 development board]].&lt;br /&gt;
&lt;br /&gt;
* Text Editors (These are just suggestions; feel free to use any text editor you are comfortable with)&lt;br /&gt;
** [https://code.visualstudio.com/ Visual Studio Code] (All)&lt;br /&gt;
** [https://atom.io/ Atom] (All)&lt;br /&gt;
** [http://www.barebones.com/products/textwrangler/ TextWrangler] (Mac)&lt;br /&gt;
** [https://notepad-plus-plus.org/ Notepad++] (Windows)&lt;br /&gt;
** [https://wiki.gnome.org/Apps/Gedit Gedit] (All) &lt;br /&gt;
*** sudo apt-get install (Ubuntu/Debian) &lt;br /&gt;
*** sudo pacman -S gedit (Arch)&lt;br /&gt;
** [http://www.vim.org/ vim] (All)&lt;br /&gt;
*** sudo apt-get install vim (Ubuntu/Debian)&lt;br /&gt;
*** sudo pacman -S vim (Arch)&lt;br /&gt;
** [https://www.gnu.org/software/emacs/ emacs] (All)&lt;br /&gt;
*** sudo apt-get install emacs (Ubuntu/Debian)&lt;br /&gt;
*** sudo pacman -S emacs (Arch)&lt;br /&gt;
&lt;br /&gt;
* Native C Compiler&lt;br /&gt;
** [https://developer.apple.com/downloads Xcode Command Line Tools] (Mac):  Log in with an Apple developer id, available for free, and download &amp;quot;Command Line Tools OSX (version number) for Xcode (version number)&amp;quot; (about 160 MB), to avoid downloading the ~4 GB full Xcode developer suite (which also has the command line tools).  You will probably need to add /Library/Developer/CommandLineTools/usr/bin to your path to make sure you find gcc and make from the command line; see the [https://www.youtube.com/watch?v=a2o5sx1xxm4 video on software downloads].  (Instead of using Xcode command line tools, you could use gcc and make from Homebrew or MacPorts.)&lt;br /&gt;
** [https://sourceforge.net/projects/mingw/ MinGW] (Windows - [https://code.visualstudio.com/docs/cpp/config-mingw Using mingw with Visual Studio Code])&lt;br /&gt;
** [http://gcc.gnu.org gcc] (Linux) &lt;br /&gt;
*** sudo apt-get install build-essential  (Ubuntu/Debian)&lt;br /&gt;
*** sudo pacman -S base-devel (Arch)&lt;br /&gt;
&lt;br /&gt;
* Make&lt;br /&gt;
** Distributed with Xcode (Mac)&lt;br /&gt;
** Distributed with MSYS, obtained via MinGW (Windows)&lt;br /&gt;
** [https://www.gnu.org/software/make/ make] (Linux)&lt;br /&gt;
*** sudo apt-get install build-essential (Ubuntu/Debian)&lt;br /&gt;
*** sudo pacman -S base-devel (Arch)&lt;br /&gt;
&lt;br /&gt;
* [http://www.microchip.com/pagehandler/en_us/devtools/mplabxc/ The Microchip XC32/32++ Compiler]&lt;br /&gt;
* We usually don&amp;#039;t use Harmony without the IDE, read about it here: [https://www.microchip.com/mplab/mplab-harmony MPLAB Harmony Integrated Software Framework]&lt;br /&gt;
* [http://www.ftdichip.com/Drivers/VCP.htm FTDI Virtual COM Port Driver]&lt;br /&gt;
* [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTY Terminal Emulator for Windows] (use &amp;quot;screen&amp;quot; on Linux and the Terminal program on a Mac)&lt;br /&gt;
=== Book Sample Code ===&lt;br /&gt;
&amp;lt;!-- * [[Media:PIC32Quickstart.zip | PIC32Quickstart.zip (November 2015)]] - PIC32Quickstart.zip, as needed in the Quickstart Chapter --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Media:Embedded_Computing_V1.1-Mar_2016.zip | Full Book Source Code (March 2016)]] --&amp;gt;&lt;br /&gt;
* [[Media:Embedded_Computing_V1.2-Apr_2016.zip | Full Book Source Code (April 2016)]] All of the source code from the book, including the Quickstart_code. Also contains the bootloader source code. &lt;br /&gt;
** For compatibility with the text, we also provide the code for Chapter 1 as a separate file [[Media:PIC32Quickstart.zip | PIC32Quickstart.zip (November 2015)]]. This code is also included in the folder 01_Quickstart within the full book source code.&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
* Embedded_Computing_V1.2-Apr_2016, April 2016&lt;br /&gt;
** Added source code for updated bootloader (running on the PIC32) and bootloader utility (running on the host computer); the primary change was optimization of the code, and clearer code organization.  Both new versions are numbered 5.2 and both are fully compatible with earlier versions.&lt;br /&gt;
** Fixed minor mistakes in comments of sample code 6.2 and 7.1.&lt;br /&gt;
&lt;br /&gt;
* Embedded_Computing_V1.1-Mar_2016, March 2016&lt;br /&gt;
** Added Harmony makefile to Chapter 20.&lt;br /&gt;
&lt;br /&gt;
* Embedded_Computing_V1.0, November 2015&lt;br /&gt;
** Initial release.&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=NU32_Software&amp;diff=26254</id>
		<title>NU32 Software</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=NU32_Software&amp;diff=26254"/>
		<updated>2021-12-30T17:59:12Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Software to download to program the [[NU32|NU32 PIC32 development board]].&lt;br /&gt;
&lt;br /&gt;
* Text Editors (These are just suggestions; feel free to use any text editor you are comfortable with)&lt;br /&gt;
** [https://code.visualstudio.com/ Visual Studio Code] (All)&lt;br /&gt;
** [https://atom.io/ Atom] (All)&lt;br /&gt;
** [http://www.barebones.com/products/textwrangler/ TextWrangler] (Mac)&lt;br /&gt;
** [https://notepad-plus-plus.org/ Notepad++] (Windows)&lt;br /&gt;
** [https://wiki.gnome.org/Apps/Gedit Gedit] (All) &lt;br /&gt;
*** sudo apt-get install (Ubuntu/Debian) &lt;br /&gt;
*** sudo pacman -S gedit (Arch)&lt;br /&gt;
** [http://www.vim.org/ vim] (All)&lt;br /&gt;
*** sudo apt-get install vim (Ubuntu/Debian)&lt;br /&gt;
*** sudo pacman -S vim (Arch)&lt;br /&gt;
** [https://www.gnu.org/software/emacs/ emacs] (All)&lt;br /&gt;
*** sudo apt-get install emacs (Ubuntu/Debian)&lt;br /&gt;
*** sudo pacman -S emacs (Arch)&lt;br /&gt;
&lt;br /&gt;
* Native C Compiler&lt;br /&gt;
** [https://developer.apple.com/downloads Xcode Command Line Tools] (Mac):  Log in with an Apple developer id, available for free, and download &amp;quot;Command Line Tools OSX (version number) for Xcode (version number)&amp;quot; (about 160 MB), to avoid downloading the ~4 GB full Xcode developer suite (which also has the command line tools).  You will probably need to add /Library/Developer/CommandLineTools/usr/bin to your path to make sure you find gcc and make from the command line; see the [https://www.youtube.com/watch?v=a2o5sx1xxm4 video on software downloads].  (Instead of using Xcode command line tools, you could use gcc and make from Homebrew or MacPorts.)&lt;br /&gt;
** [https://sourceforge.net/projects/mingw/ MinGW] (Windows - [https://code.visualstudio.com/docs/cpp/config-mingw Using mingw with Visual Studio Code])&lt;br /&gt;
** [http://gcc.gnu.org gcc] (Linux) &lt;br /&gt;
*** sudo apt-get install build-essential  (Ubuntu/Debian)&lt;br /&gt;
*** sudo pacman -S base-devel (Arch)&lt;br /&gt;
&lt;br /&gt;
* Make&lt;br /&gt;
** Distributed with Xcode (Mac)&lt;br /&gt;
** Distributed with MSYS, obtained via MinGW (Windows)&lt;br /&gt;
** [https://www.gnu.org/software/make/ make] (Linux)&lt;br /&gt;
*** sudo apt-get install build-essential (Ubuntu/Debian)&lt;br /&gt;
*** sudo pacman -S base-devel (Arch)&lt;br /&gt;
&lt;br /&gt;
* [http://www.microchip.com/pagehandler/en_us/devtools/mplabxc/ The Microchip XC32/32++ Compiler]&lt;br /&gt;
* We usually don&amp;#039;t use Harmony without the IDE, red about it here: [https://www.microchip.com/mplab/mplab-harmony MPLAB Harmony Integrated Software Framework]&lt;br /&gt;
* [http://www.ftdichip.com/Drivers/VCP.htm FTDI Virtual COM Port Driver]&lt;br /&gt;
* [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTY Terminal Emulator for Windows] (use &amp;quot;screen&amp;quot; on Linux and the Terminal program on a Mac)&lt;br /&gt;
=== Book Sample Code ===&lt;br /&gt;
&amp;lt;!-- * [[Media:PIC32Quickstart.zip | PIC32Quickstart.zip (November 2015)]] - PIC32Quickstart.zip, as needed in the Quickstart Chapter --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Media:Embedded_Computing_V1.1-Mar_2016.zip | Full Book Source Code (March 2016)]] --&amp;gt;&lt;br /&gt;
* [[Media:Embedded_Computing_V1.2-Apr_2016.zip | Full Book Source Code (April 2016)]] All of the source code from the book, including the Quickstart_code. Also contains the bootloader source code. &lt;br /&gt;
** For compatibility with the text, we also provide the code for Chapter 1 as a separate file [[Media:PIC32Quickstart.zip | PIC32Quickstart.zip (November 2015)]]. This code is also included in the folder 01_Quickstart within the full book source code.&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
* Embedded_Computing_V1.2-Apr_2016, April 2016&lt;br /&gt;
** Added source code for updated bootloader (running on the PIC32) and bootloader utility (running on the host computer); the primary change was optimization of the code, and clearer code organization.  Both new versions are numbered 5.2 and both are fully compatible with earlier versions.&lt;br /&gt;
** Fixed minor mistakes in comments of sample code 6.2 and 7.1.&lt;br /&gt;
&lt;br /&gt;
* Embedded_Computing_V1.1-Mar_2016, March 2016&lt;br /&gt;
** Added Harmony makefile to Chapter 20.&lt;br /&gt;
&lt;br /&gt;
* Embedded_Computing_V1.0, November 2015&lt;br /&gt;
** Initial release.&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics_(Archive_Winter_2022)&amp;diff=26253</id>
		<title>ME 333 Introduction to Mechatronics (Archive Winter 2022)</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics_(Archive_Winter_2022)&amp;diff=26253"/>
		<updated>2021-12-22T17:20:49Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Winter Quarter 2022&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;First day of class is Tuesday January 4.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Section 20:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 11:00-12:20, Tech A110 starting 1/18&lt;br /&gt;
* Section 21:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 12:30-1:50, Francis Searle 2407 1/18&lt;br /&gt;
* TAs:  &lt;br /&gt;
** Tito Fernandez&lt;br /&gt;
** Huan Weng&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Final demo&amp;#039;&amp;#039;&amp;#039; (in lieu of final exam):  Monday Mar 14 3-5 PM (12:30-1:50 section) and Wednesday Mar 16 9-11 AM (11-12:20 section)&lt;br /&gt;
* Office Hours: TBD &amp;lt;!--in Ford B100:  &lt;br /&gt;
** TuWThF 4-5pm with Prof. Marchuk in Ford B100, or by appt --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Quick links:&lt;br /&gt;
** [http://www.it.northwestern.edu/education/login.html Canvas Course Management System]&lt;br /&gt;
** [[NU32 Videos|NU32 Videos]]&lt;br /&gt;
** [[NU32 Software|NU32 Software]]&lt;br /&gt;
** [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form Report a typo or bug in the book]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Purpose of this Course ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this course is to &amp;#039;&amp;#039;&amp;#039;provide tools that help you express your creativity&amp;#039;&amp;#039;&amp;#039;.  Maybe you want to build a robot, or a piece of kinetic art, or an automatic ball-throwing device to entertain your dog; maybe you&amp;#039;ve identified a market for a new smart product and you&amp;#039;d like to prototype the device.  This course provides fundamentals of mechatronics to give you confidence to take on these projects.  You are encouraged to take what you learn in this course and apply it in ME 433 Advanced Mechatronics, DSGN 360 Design Competition, senior design projects, or independent projects.&lt;br /&gt;
&lt;br /&gt;
== Approximate Syllabus ==&lt;br /&gt;
&lt;br /&gt;
This course is for students who want to build microprocessor-controlled electromechanical devices.  &lt;br /&gt;
&lt;br /&gt;
To do this, ME 333 focuses on three topics: (1) general C programming; (2) Microchip PIC microcontroller architecture and C programming specific to the PIC (e.g., using the PIC&amp;#039;s peripherals, such as analog inputs, digital I/O, counters/timers, comm ports, etc.); and (3) interfacing the PIC to sensors and actuators, some theory of sensor and actuator operation, and interface circuitry and signal processing. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;You will do a lot of programming in this course!&amp;#039;&amp;#039;&amp;#039;  If you are certain you hate programming, then this is not the course for you.  But knowing how to program is very useful for any modern engineer.  The language we will use is C, a fairly low-level language that works well for microcontrollers, which is more portable and not nearly as painful and low-level as assembly language.  If you don&amp;#039;t know C, that&amp;#039;s not a problem, most students don&amp;#039;t before taking ME 333; but you should plan to learn it, and rather quickly.  You will have all the materials you need to start learning C before class starts, and &amp;#039;&amp;#039;&amp;#039;the first assignment on C is due on the first day of class&amp;#039;&amp;#039;&amp;#039;!  The reason:  even though we start out with C, that&amp;#039;s not the main goal of this course.  The main goal is to teach you about microcontrollers and mechatronics.  Plus some students already have C background.&lt;br /&gt;
&lt;br /&gt;
You will bring your laptop to each class.  As the quarter progresses, we will be handing out other equipment that you will need to bring to class, such as the NU32 development board that breaks out the [http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC32MX795F512H PIC32MX795F512H] microcontroller.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;It is essential you do the assigned reading and watch the videos in advance of class.&amp;#039;&amp;#039;&amp;#039;  You will have an assignment and/or lecture comprehension questions (L-comps) due before every class, turned in electronically on Canvas.  (This includes the very first day of class!)  Once a week we will have a short quiz.  Most classes will have a combination of a brief review, Q&amp;amp;A, and working individually or in small groups on problems while the instructors help answer any questions.&lt;br /&gt;
&lt;br /&gt;
Topics we will cover, time depending, include:&lt;br /&gt;
&lt;br /&gt;
* introduction to C programming&lt;br /&gt;
* introduction to the PIC32 hardware, and programming the PIC32 in C&lt;br /&gt;
* digital I/O&lt;br /&gt;
* counters/timers and interrupts&lt;br /&gt;
* analog input&lt;br /&gt;
* sensor smorgasbord&lt;br /&gt;
* digital signal processing:  filters and FFTs&lt;br /&gt;
* analog output and pulse-width modulation&lt;br /&gt;
* brushed permanent magnet DC motors:  theory and control&lt;br /&gt;
* stepper motors and RC servo motors&lt;br /&gt;
* communication by SPI, I2C, and RS-232&lt;br /&gt;
&lt;br /&gt;
== Checklist to Complete Before the First Day of Class ==&lt;br /&gt;
&lt;br /&gt;
By the first day of class, you should:&lt;br /&gt;
&lt;br /&gt;
* Complete the reading and assignment 1, which is &amp;#039;&amp;#039;&amp;#039;due the first day of class!&amp;#039;&amp;#039;&amp;#039;  The first assignments are designed to get you up to speed on the C programming language, which we will use throughout the course.&lt;br /&gt;
* Have a laptop with at least 2 USB A-style ports.  Any operating system is fine.  One port will be used to program and communicate with your PIC microcontroller, and the other will be used for your portable oscilloscope.  &lt;br /&gt;
* Be prepared to buy your class kit, consisting of the portable nScope oscilloscope, the NU32 PIC32 development board, and lots of other goodies.  Price $125 if you are starting from scratch; $75 if you already have the nScope. &lt;br /&gt;
&amp;lt;!--  &lt;br /&gt;
 * Buy your class kit [http://it.mccormick.northwestern.edu/matlab/student_license/login.php &amp;#039;&amp;#039;&amp;#039;here&amp;#039;&amp;#039;&amp;#039;].  If you already have the oscilloscope and multimeter from this year&amp;#039;s ME 233 offering, you should choose &amp;quot;ME 333 (nScope not needed ($75))&amp;quot; for the price of $75.  If you do not have the oscilloscope and multimeter, you should choose &amp;quot;ME 333 (including nScope ($125))&amp;quot; for the price of $125.  You will not be able to start the course until you have completed the purchase of your kit.  If you decide to drop the course, you will be refunded the purchase price upon return of all the equipment in working shape. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Student Contract ==&lt;br /&gt;
&lt;br /&gt;
By signing up for this course, you agree to complete the checklist above before the course starts.  You agree to stay engaged during the class period; even if your computer is open, no facebook or other distractions that will lessen your contribution to the class.  You understand that learning from classmates, and helping classmates, is encouraged, up to the stage of conceptualizing solutions.  You are not allowed to fully complete a solution in a team.  You understand that plagiarism is not tolerated.  You will report instances of plagiarism you are aware of.  Plagiarism includes, but is not limited to:&lt;br /&gt;
&lt;br /&gt;
* Allowing another student to copy your work.&lt;br /&gt;
* Copying another student&amp;#039;s work, in whole or in part.&lt;br /&gt;
* Transforming copied sections of code or solutions to try to disguise their origin.&lt;br /&gt;
* Borrowing code or solutions from others not in the course, e.g., code found on the internet, without attribution.  Borrowing code found on the internet is acceptable if the source is clearly indicated in your code comments, and if you understand how the code works.&lt;br /&gt;
&lt;br /&gt;
On our part (faculty and TAs), we commit to do our best to provide you a curriculum and set of experimental materials to get you up to speed on sophisticated mechatronics integration as quickly and efficiently as possible, while giving you a foundation in concepts needed to go further in future projects and courses.&lt;br /&gt;
&lt;br /&gt;
== Prerequisite ==&lt;br /&gt;
&lt;br /&gt;
ME 233 Electronics Design or similar (EECS 221, 225, BME 305 (pre-2020) or BME 308 (post-2020)) is required. You will be expected to analyze circuits with resistors, capacitors, inductors, diodes, transistors, and op-amps. You can find refresher material and a sample quiz at [[ME_333_Circuits_Review_Material|this page]] and in Appendix B of the book.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
&lt;br /&gt;
Required:&lt;br /&gt;
&lt;br /&gt;
* Textbook: &amp;quot;Embedded Computing and Mechatronics with the PIC32 Microcontroller&amp;quot; ([http://www.amazon.com/gp/product/0124201652/ Amazon], [http://store.elsevier.com/product.jsp?isbn=9780124201651 Elsevier]).  Sample chapters, including the appendix &amp;quot;A Crash Course in C&amp;quot; can be found in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]].  &lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;A pdf of the textbook is included in the class kit, you do not need to buy it online or at the bookstore!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Optional:  [[Media:EssentialC.pdf|Essential C]] is also a very nice intro to C.  Let us know about other online C resources you find particularly useful.&lt;br /&gt;
* [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]]&lt;br /&gt;
* [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]]&lt;br /&gt;
&lt;br /&gt;
Find a typo in the book or a bug in the code? Report it [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form here]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Useful, but not required:&lt;br /&gt;
* [http://www.amazon.com/Programming-32-bit-Microcontrollers-Exploring-Technology/dp/0750687096/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1294091438&amp;amp;sr=8-1-spell Programming 32-bit Microcontrollers in C:  Exploring the PIC32] by Lucio Di Jasio.  This is an easy to read and informative exploration of the PIC32.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Other C resources, such as this [[Media:CBook.pdf|pdf version]] of &amp;quot;The C Book,&amp;quot; and the classic [http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1294091625&amp;amp;sr=1-1 C Programming Language] reference book by Kernighan and Ritchie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
Grades will be approximately 40% quizzes and 60% assignments and L-comps (including the final project).  We will have short quizzes once a week at the beginning of class covering material on the previous assignment. We will have a final project and demo in lieu of a final exam.&lt;br /&gt;
&lt;br /&gt;
All quizzes, assignments, and L-comps have equal weight, regardless of how many points they are graded out of.  If one assignment is graded out of 20 points, and the next out of 40, the formula for calculating your total grade for these two assignments would be 0.5*(score1/20) + 0.5*(score2/40).&lt;br /&gt;
&lt;br /&gt;
== Homework Submission ==&lt;br /&gt;
&lt;br /&gt;
All homework will be submitted using the [http://www.it.northwestern.edu/education/login.html Canvas Course Management System].  Homework should be submitted by 11 AM on the day it is due (i.e., before the first section of the day).  Late homework will not be accepted.&lt;br /&gt;
&lt;br /&gt;
Here are a few guidelines/tips associated with homework submissions:&lt;br /&gt;
&lt;br /&gt;
* Upload files individually. No zip archives!&lt;br /&gt;
&lt;br /&gt;
* Submit written responses as PDFs. &lt;br /&gt;
&lt;br /&gt;
* If you upload a PDF of handwritten work, make sure that the text appears clearly and the picture is oriented portrait style. &lt;br /&gt;
&lt;br /&gt;
* When asked to submit C code for a given programming assignment, we are only concerned with receiving the relevant source files, i.e., all *.c and *.h files.   &lt;br /&gt;
&lt;br /&gt;
* When writing your responses, please follow any instructions on how to write your response.  For example, if we ask for a snippet of code, please do not submit your entire C program with header files and a main routine.  We typically are only expecting a few lines of code that solve the problem.&lt;br /&gt;
&lt;br /&gt;
* Be neat and make sure your answers are easy to follow.  Messy hard-to-follow assignments make TAs cranky, and you don&amp;#039;t want cranky TAs grading your assignment!&lt;br /&gt;
&lt;br /&gt;
* It helps both us and you if you format your code nicely.  Clean looking code is easier for us to grade and easier for you to debug.  Text editors with IDEs such as Visual Studio Code, Netbeans and MPLAB X have tools for auto-formatting code.  For example, highlighting a region and hitting Alt+Shift+f (Linux and Windows) will format that region according to your local formatting preferences.&lt;br /&gt;
&lt;br /&gt;
* When you compile your code, pay attention to any compiler warnings.  They are there for a reason!  You should be able to eventually get your code to produce no warnings.  Often if a piece of code is not working, the warnings will give a clue as to why.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
This course is (partially) &amp;quot;flipped&amp;quot;:  you watch video lectures and do readings in advance of class, and during class, you should have plenty of opportunity for questions and interaction with the instructors and TAs as you work on assignments.  The purpose of this is to try to maximize the value of the class time.  In a typical lecture, 80% of the material is the same every time it is given, and the other 20% is interactive and variable based on student questions.  In a flipped class, we hope to flip this percentage, to better tailor the class to student needs.  You will have time with the instructors while your brains are actually on and working on the material (not just scribbling notes), the times when you are most likely to have questions.  Making the video lectures available should also allow you to spend more or less time on the lecture portion, depending on your prior background.  If the material is difficult for you, you can pause or rewind.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Please keep track of any questions you have as you watch the videos!&amp;#039;&amp;#039;&amp;#039; Bring these questions to class; it will make for a livelier classroom.  &lt;br /&gt;
&lt;br /&gt;
All videos can be found at this page:  [[NU32 Videos|&amp;#039;&amp;#039;&amp;#039;NU32 Videos&amp;#039;&amp;#039;&amp;#039;]] and sample code at the bottom of [[NU32 Software|&amp;#039;&amp;#039;&amp;#039;NU32 Software&amp;#039;&amp;#039;&amp;#039;]].  We will cover almost all of the Appendix, a Crash Course in C, in the first 1.5 weeks of class, so you can work ahead and do all the readings, watch all the videos, and do all the problems, if you have time over the break.  But at a minimum, you must do the winter break assignment.  &lt;br /&gt;
&lt;br /&gt;
We will have video lecture comprehension questions (L-comps) due before every class, assignments due every Tuesday, and quizzes every Thursday (on the material covered in the assignment turned in on Thursday).  L-comps and assignments are turned in using Canvas before 11 AM the day of the class.  The weekly rhythm will be:&lt;br /&gt;
&lt;br /&gt;
* before Tuesday:  turn in assignment on material from previous week and L-comps on videos for the next class&lt;br /&gt;
* Tuesday in class:  discuss assignment, brief recap and Q&amp;amp;A on new videos, start on next assignment&lt;br /&gt;
* before Thursday:  turn in L-comps on videos for next class&lt;br /&gt;
* Thursday in class:  brief quiz on material in assignment turned in on Thursday, recap and discuss videos, continue with assignment&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Winter Break&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Reading due for first class&amp;#039;&amp;#039;&amp;#039;:  pages 515-527 in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]]&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:  1-7 of Appendix A [[NU32 Videos]].  Answer the lecture comprehension (L-comp) questions in CANVAS. &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment&amp;#039;&amp;#039;&amp;#039;:  Exercises 1-4, 6-8, 10-11, 16-17 of Appendix A.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;:  Make a video of your HelloWorld.c program and upload in CANVAS.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 1&amp;#039;&amp;#039;&amp;#039; (T 1/4)  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment due&amp;#039;&amp;#039;&amp;#039;:  L-comp and exercise solutions, and demo video, for the Winter Break assignment by 11am on CANVAS.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from last year&amp;#039;&amp;#039;&amp;#039; https://youtu.be/6cFSmm6eX6w https://youtu.be/P9v-AxwCvHc https://youtu.be/BgNt20-Ivfw https://youtu.be/EvIfmEzMXqs&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Begin next assignment:&amp;#039;&amp;#039;&amp;#039;  Appendix A exercises 18-19, 21-22, 27-28, 30-32, 34-35.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;: Exercise 34 and 35.&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps: 8-16 of a Crash Course in C. &lt;br /&gt;
: Reading:  Through page 562 of a Crash Course in C, and the rest of the Appendix as reference.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 2&amp;#039;&amp;#039;&amp;#039; (Th 1/6)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Answer L-comps &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from last year&amp;#039;&amp;#039;&amp;#039; https://youtu.be/PcREfvXxJQE https://youtu.be/fMmT7FyACMI https://youtu.be/6L7qcu_-I_Q https://youtu.be/r2a4Lg2p0to&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Continue assignment&amp;#039;&amp;#039;&amp;#039;   &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  17 of a Crash Course in C.&lt;br /&gt;
: Reading:  Rest of a Crash Course in C as reference&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 3&amp;#039;&amp;#039;&amp;#039; (T 1/11)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Turn in assignment, L-comps, and demo videos.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Review for the Quiz&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from last year&amp;#039;&amp;#039;&amp;#039; https://youtu.be/I5wguSQcEiw https://youtu.be/LbuoWj5BM3Q&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Study.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 4&amp;#039;&amp;#039;&amp;#039; (Th 1/13)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz review on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz:&amp;#039;&amp;#039;&amp;#039; At home, on C, posted on Canvas at 3pm, due by 8pm &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (no L-comps):  Chapter 1 (for your specific OS)&lt;br /&gt;
: Reading:  Chapter 1: Quickstart&lt;br /&gt;
: Download, install, and compile all software as indicated through the end of Chapter 1.3. See [[NU32 Software | NU32 Software]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 5&amp;#039;&amp;#039;&amp;#039; (T 1/18)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Watch Chapter 1 videos (no L-comps), install all software from Chapter 1&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;In class demonstration&amp;#039;&amp;#039;&amp;#039;: Compile helloWorld and talkingPIC for NU32.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: Go over PIC32 software&amp;#039;&amp;#039;&amp;#039; - https://youtu.be/0mG7hlwUduA  https://youtu.be/ZGzbVhb_sdU&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps): 1-4 from Chapter 2.&lt;br /&gt;
: Reading:  Complete Chapter 1 (quickstart) and Chapter 2.  &lt;br /&gt;
: Assignment:  Problems 3-16 of Chapter 2.  You will need the [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]] and the [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]].&lt;br /&gt;
: Pay for your equipment.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 6&amp;#039;&amp;#039;&amp;#039; (Th 1/20)&lt;br /&gt;
: Turn in Chapter 2 L-comps&lt;br /&gt;
: Quiz on Chapter 1&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/0R-aj6XtJLE https://youtu.be/NEICsIIprKU &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 3. &lt;br /&gt;
: Reading:  Complete Chapter 3.&lt;br /&gt;
: Homework for Chapters 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 7&amp;#039;&amp;#039;&amp;#039; (T 1/25)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Turn in Homework from Chapter 2, L-comps for Chapter 3 videos, read Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/CyGwEoNJdS4 https://youtu.be/5LyWPeLY7yU https://youtu.be/UXNOx6Z1Q9w&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 4. &lt;br /&gt;
: Reading:  Complete Chapter 4.&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 1-9 (skip demo for 5 if you don&amp;#039;t have your kit yet). Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 8&amp;#039;&amp;#039;&amp;#039; (Th 1/27)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Chapter 4 L-comp.&lt;br /&gt;
: Quiz on Chapter 2&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/16_lVr_k7R0  https://youtu.be/HoNKp8MNGOw  &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Make sure your NU32 works, test simplePIC and talking PIC&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 9&amp;#039;&amp;#039;&amp;#039; (T 2/1)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 3 and 4 homework&lt;br /&gt;
: Videos and L-comps on Chapter 5 &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 5:&lt;br /&gt;
: Homework: Chapter 5 (use no optimization for all exercises): Exercises 3, 4.  Chapter 6:  Exercises 1, 4, 5, 8, 9, 16,17. Make a demo video for 6.17&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 10&amp;#039;&amp;#039;&amp;#039; (Th 2/3)&lt;br /&gt;
: Quiz on Chapter 3 and 4&lt;br /&gt;
: Videos and L-comps on Chapter 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 6: https://youtu.be/YhmynLK8dTY https://youtu.be/kJ2rvqyuQzM https://youtu.be/JGBWpj5yNfY and a video by Petras, on Canvas&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 11&amp;#039;&amp;#039;&amp;#039; (T 2/8)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 5 and 6 homework&lt;br /&gt;
: Videos and L-comps on Chapters 7 and 8&lt;br /&gt;
&amp;quot; &amp;#039;&amp;#039;&amp;#039;Lecture videos: &amp;#039;&amp;#039; On Chapter 7 &amp;amp; 8: https://youtu.be/04C3QZ7JTMs  https://youtu.be/b3aOIfClECE&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Chapter 7: Exercises 1,2. Chapter 8: Exercise 1. Chapter 9: Exercise 1. Chapter 10: Exercise 1,2.&lt;br /&gt;
: The next assignment is related, do Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Th 2/10)&lt;br /&gt;
: Quiz on Chapter 5 and 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos:&amp;#039;&amp;#039;&amp;#039; On Chapter 9, 10 &amp;amp; 11: 9, 10, https://youtu.be/Eqip-9y3mCc &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (T 2/15)&lt;br /&gt;
: Due: Homework from Chapter 7, 8, 9, 10, and the first half of Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 7 8 9 10 homework&lt;br /&gt;
: Assignment: Chapter 24 project. Create solutions for Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2, 24.5, 24.7, and 24.8.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Th 2/17)&lt;br /&gt;
: Quiz on Chapter 7 8 9 10 11&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (T 2/22)&lt;br /&gt;
: Due: Homework from Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 24 homework&lt;br /&gt;
: Assignment: First half of Chapter 28: Chapter 28 through 28.4.1. Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 2/25)&lt;br /&gt;
: Quiz on Chapter 23&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (T 3/1)&lt;br /&gt;
: Due: First half of Chapter 28, up to 28.4.9&lt;br /&gt;
: Assignment: Complete Chapter 28: 28.4.10 #5, 28.4.12 #5.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Th 3/3)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos:&amp;#039;&amp;#039;&amp;#039; https://youtu.be/eoszZpwqNgY https://youtu.be/cz9ckQUsvH8 https://youtu.be/I--miZscPxc https://youtu.be/x5bSqBKPn1U&lt;br /&gt;
: Quiz on Chapter 25 26 27 during finals week&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (T 3/8)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 20&amp;#039;&amp;#039;&amp;#039; (T 3/10)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Assignment&amp;#039;&amp;#039;&amp;#039; Due by Thur 3/16 at noon&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Th 2/13)&lt;br /&gt;
: Quiz on Chapter 3 and 4 and buttons and LEDs&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Discussion of video and L-comp for Chapter 5&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Brief intro to Chapter 6&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps on Chapter 6 &lt;br /&gt;
: Continue homework for Chapter 5 and 6&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (T 2/18)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Turn in Homework from Chapter 5 and 6, L-comps for Chapter 6 videos&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Brief intro to Chapter 24, and digital i/o and counter/timers&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
&lt;br /&gt;
: Reading:  Chapters 7 and 8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Th 2/20)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz on Chapter 5 and 6&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Brief intro to output compare&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps on Chapters 9 and 10&lt;br /&gt;
: Reading:  Chapters 9 and 10&lt;br /&gt;
: Assignment: : Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (T 2/25)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: L-comps from Chapter 9, 10 and 23, Assignment from Chapter 7-10&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Discussion of turned-in homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Discussion of L-comps&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Intro to Chapter 23 and 24&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Homework: Chapter 24.5, 24.7, and 24.8.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 2/27)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz on Chapter 7-10&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Review Chapter 24&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;Work on assignment&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Complete Chapter 24&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (T 3/3)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Upload solutions and demo for Ch 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Discussion of turned-in homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Discussion of Chapter 25 and 28&lt;br /&gt;
: Hand out motors&lt;br /&gt;
&lt;br /&gt;
At home: &lt;br /&gt;
: Assignment: : Read Chapter 28 through 28.4.1. Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8 &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Th 3/5)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz on Chapter 23, PID Control.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Discussion of Chapter 26 and 27&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Continue Chapter 28&lt;br /&gt;
: L-comps for Chapter 27&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (T 3/10)  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: L-comps&lt;br /&gt;
: Discussion of Chapter 29&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Complete Chapter 28: 28.4.10 #5, 28.4.12 #5.&lt;br /&gt;
: Sign up for a time slot to demonstrate your final assignment: [https://docs.google.com/spreadsheets/d/1reEmJ7B2UCTsKIef9iCSJKDipg_J4DuTVHDbNA6Ls-0/edit?usp=sharing google_sheet]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 20&amp;#039;&amp;#039;&amp;#039; (Th 3/12)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Final Quiz, on Chapter 25, 26 and 27&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Demo&amp;#039;&amp;#039;&amp;#039;:  &lt;br /&gt;
: In person, on Monday 3/16, 3-5 PM, or Wednesday 3/18, 9-11 AM. &lt;br /&gt;
: Electronic submission by Wednesday 3/18, 11 AM.&lt;br /&gt;
: Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8, 28.4.10 #5, 28.4.12 #5. Also turn in all of your PIC code and MATLAB code.&lt;br /&gt;
: Upload a demonstration video of the results of good current tuning, and following a trajectory with good gains and bad gains.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: Sign up for a 5 minute time slot to demo your final project: TBD&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1reEmJ7B2UCTsKIef9iCSJKDipg_J4DuTVHDbNA6Ls-0/edit?usp=sharing googledoc]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Do I need to know the C language to take this course?&lt;br /&gt;
&lt;br /&gt;
A: No. But if you already know C, there is still plenty else in this course for you. If you already know C, know how to use microcontrollers for real-time control, and have a good understanding how common sensors and actuators work and how to interface to them, this course may not be for you. Consider taking ME 433 Advanced Mechatronics in the spring quarter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: Is there an independent project?&lt;br /&gt;
&lt;br /&gt;
A: There is no large independent project. There will be a two-week project at the end of the course, but there will be no machining. For a more significant project, take ME 433 Advanced Mechatronics, offered in the spring quarter. ME 333 is good preparation for ME 433.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: What kind of laptop do I need?&lt;br /&gt;
&lt;br /&gt;
A: You need a laptop with at least 2 USB ports.  Any operating system is fine.&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics_(Archive_Winter_2022)&amp;diff=26252</id>
		<title>ME 333 Introduction to Mechatronics (Archive Winter 2022)</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics_(Archive_Winter_2022)&amp;diff=26252"/>
		<updated>2021-12-22T17:19:20Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: /* Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Winter Quarter 2022&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;First day of class is Tuesday January 4.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Section 20:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 11:00-12:20, Tech A110 starting 1/18&lt;br /&gt;
* Section 21:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 12:30-1:50, Francis Searle 2407 1/18&lt;br /&gt;
* TAs:  &lt;br /&gt;
** Tito Fernandez&lt;br /&gt;
** Huan Weng&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Final demo&amp;#039;&amp;#039;&amp;#039; (in lieu of final exam):  Monday Mar 14 3-5 PM (12:30-1:50 section) and Wednesday Mar 16 9-11 AM (11-12:20 section)&lt;br /&gt;
* Office Hours: TBD &amp;lt;!--in Ford B100:  &lt;br /&gt;
** TuWThF 4-5pm with Prof. Marchuk in Ford B100, or by appt --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Quick links:&lt;br /&gt;
** [http://www.it.northwestern.edu/education/login.html Canvas Course Management System]&lt;br /&gt;
** [[NU32 Videos|NU32 Videos]]&lt;br /&gt;
** [[NU32 Software|NU32 Software]]&lt;br /&gt;
** [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form Report a typo or bug in the book]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Purpose of this Course ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this course is to &amp;#039;&amp;#039;&amp;#039;provide tools that help you express your creativity&amp;#039;&amp;#039;&amp;#039;.  Maybe you want to build a robot, or a piece of kinetic art, or an automatic ball-throwing device to entertain your dog; maybe you&amp;#039;ve identified a market for a new smart product and you&amp;#039;d like to prototype the device.  This course provides fundamentals of mechatronics to give you confidence to take on these projects.  You are encouraged to take what you learn in this course and apply it in ME 433 Advanced Mechatronics, DSGN 360 Design Competition, senior design projects, or independent projects.&lt;br /&gt;
&lt;br /&gt;
== Approximate Syllabus ==&lt;br /&gt;
&lt;br /&gt;
This course is for students who want to build microprocessor-controlled electromechanical devices.  &lt;br /&gt;
&lt;br /&gt;
To do this, ME 333 focuses on three topics: (1) general C programming; (2) Microchip PIC microcontroller architecture and C programming specific to the PIC (e.g., using the PIC&amp;#039;s peripherals, such as analog inputs, digital I/O, counters/timers, comm ports, etc.); and (3) interfacing the PIC to sensors and actuators, some theory of sensor and actuator operation, and interface circuitry and signal processing. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;You will do a lot of programming in this course!&amp;#039;&amp;#039;&amp;#039;  If you are certain you hate programming, then this is not the course for you.  But knowing how to program is very useful for any modern engineer.  The language we will use is C, a fairly low-level language that works well for microcontrollers, which is more portable and not nearly as painful and low-level as assembly language.  If you don&amp;#039;t know C, that&amp;#039;s not a problem, most students don&amp;#039;t before taking ME 333; but you should plan to learn it, and rather quickly.  You will have all the materials you need to start learning C before class starts, and &amp;#039;&amp;#039;&amp;#039;the first assignment on C is due on the first day of class&amp;#039;&amp;#039;&amp;#039;!  The reason:  even though we start out with C, that&amp;#039;s not the main goal of this course.  The main goal is to teach you about microcontrollers and mechatronics.  Plus some students already have C background.&lt;br /&gt;
&lt;br /&gt;
You will bring your laptop to each class.  As the quarter progresses, we will be handing out other equipment that you will need to bring to class, such as the NU32 development board that breaks out the [http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC32MX795F512H PIC32MX795F512H] microcontroller.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;It is essential you do the assigned reading and watch the videos in advance of class.&amp;#039;&amp;#039;&amp;#039;  You will have an assignment and/or lecture comprehension questions (L-comps) due before every class, turned in electronically on Canvas.  (This includes the very first day of class!)  Once a week we will have a short quiz.  Most classes will have a combination of a brief review, Q&amp;amp;A, and working individually or in small groups on problems while the instructors help answer any questions.&lt;br /&gt;
&lt;br /&gt;
Topics we will cover, time depending, include:&lt;br /&gt;
&lt;br /&gt;
* introduction to C programming&lt;br /&gt;
* introduction to the PIC32 hardware, and programming the PIC32 in C&lt;br /&gt;
* digital I/O&lt;br /&gt;
* counters/timers and interrupts&lt;br /&gt;
* analog input&lt;br /&gt;
* sensor smorgasbord&lt;br /&gt;
* digital signal processing:  filters and FFTs&lt;br /&gt;
* analog output and pulse-width modulation&lt;br /&gt;
* brushed permanent magnet DC motors:  theory and control&lt;br /&gt;
* stepper motors and RC servo motors&lt;br /&gt;
* communication by SPI, I2C, and RS-232&lt;br /&gt;
&lt;br /&gt;
== Checklist to Complete Before the First Day of Class ==&lt;br /&gt;
&lt;br /&gt;
By the first day of class, you should:&lt;br /&gt;
&lt;br /&gt;
* Complete the reading and assignment 1, which is &amp;#039;&amp;#039;&amp;#039;due the first day of class!&amp;#039;&amp;#039;&amp;#039;  The first assignments are designed to get you up to speed on the C programming language, which we will use throughout the course.&lt;br /&gt;
* Have a laptop with at least 2 USB A-style ports.  Any operating system is fine.  One port will be used to program and communicate with your PIC microcontroller, and the other will be used for your portable oscilloscope.  &lt;br /&gt;
* Be prepared to buy your class kit, consisting of the portable nScope oscilloscope, the NU32 PIC32 development board, and lots of other goodies.  Price $125 if you are starting from scratch; $75 if you already have the nScope. &lt;br /&gt;
&amp;lt;!--  &lt;br /&gt;
 * Buy your class kit [http://it.mccormick.northwestern.edu/matlab/student_license/login.php &amp;#039;&amp;#039;&amp;#039;here&amp;#039;&amp;#039;&amp;#039;].  If you already have the oscilloscope and multimeter from this year&amp;#039;s ME 233 offering, you should choose &amp;quot;ME 333 (nScope not needed ($75))&amp;quot; for the price of $75.  If you do not have the oscilloscope and multimeter, you should choose &amp;quot;ME 333 (including nScope ($125))&amp;quot; for the price of $125.  You will not be able to start the course until you have completed the purchase of your kit.  If you decide to drop the course, you will be refunded the purchase price upon return of all the equipment in working shape. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Student Contract ==&lt;br /&gt;
&lt;br /&gt;
By signing up for this course, you agree to complete the checklist above before the course starts.  You agree to stay engaged during the class period; even if your computer is open, no facebook or other distractions that will lessen your contribution to the class.  You understand that learning from classmates, and helping classmates, is encouraged, up to the stage of conceptualizing solutions.  You are not allowed to fully complete a solution in a team.  You understand that plagiarism is not tolerated.  You will report instances of plagiarism you are aware of.  Plagiarism includes, but is not limited to:&lt;br /&gt;
&lt;br /&gt;
* Allowing another student to copy your work.&lt;br /&gt;
* Copying another student&amp;#039;s work, in whole or in part.&lt;br /&gt;
* Transforming copied sections of code or solutions to try to disguise their origin.&lt;br /&gt;
* Borrowing code or solutions from others not in the course, e.g., code found on the internet, without attribution.  Borrowing code found on the internet is acceptable if the source is clearly indicated in your code comments, and if you understand how the code works.&lt;br /&gt;
&lt;br /&gt;
On our part (faculty and TAs), we commit to do our best to provide you a curriculum and set of experimental materials to get you up to speed on sophisticated mechatronics integration as quickly and efficiently as possible, while giving you a foundation in concepts needed to go further in future projects and courses.&lt;br /&gt;
&lt;br /&gt;
== Prerequisite ==&lt;br /&gt;
&lt;br /&gt;
ME 233 Electronics Design or similar (EECS 221, 225, BME 305 (pre-2020) or BME 308 (post-2020)) is required. You will be expected to analyze circuits with resistors, capacitors, inductors, diodes, transistors, and op-amps. You can find refresher material and a sample quiz at [[ME_333_Circuits_Review_Material|this page]] and in Appendix B of the book.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
&lt;br /&gt;
Required:&lt;br /&gt;
&lt;br /&gt;
* Textbook: &amp;quot;Embedded Computing and Mechatronics with the PIC32 Microcontroller&amp;quot; ([http://www.amazon.com/gp/product/0124201652/ Amazon], [http://store.elsevier.com/product.jsp?isbn=9780124201651 Elsevier]).  Sample chapters, including the appendix &amp;quot;A Crash Course in C&amp;quot; can be found in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]].  &lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;A pdf of the textbook is included in the class kit, you do not need to buy it online or at the bookstore!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Optional:  [[Media:EssentialC.pdf|Essential C]] is also a very nice intro to C.  Let us know about other online C resources you find particularly useful.&lt;br /&gt;
* [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]]&lt;br /&gt;
* [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]]&lt;br /&gt;
&lt;br /&gt;
Find a typo in the book or a bug in the code? Report it [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form here]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Useful, but not required:&lt;br /&gt;
* [http://www.amazon.com/Programming-32-bit-Microcontrollers-Exploring-Technology/dp/0750687096/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1294091438&amp;amp;sr=8-1-spell Programming 32-bit Microcontrollers in C:  Exploring the PIC32] by Lucio Di Jasio.  This is an easy to read and informative exploration of the PIC32.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Other C resources, such as this [[Media:CBook.pdf|pdf version]] of &amp;quot;The C Book,&amp;quot; and the classic [http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1294091625&amp;amp;sr=1-1 C Programming Language] reference book by Kernighan and Ritchie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
Grades will be approximately 40% quizzes and 60% assignments and L-comps (including the final project).  We will have short quizzes once a week at the beginning of class covering material on the previous assignment. We will have a final project and demo in lieu of a final exam.&lt;br /&gt;
&lt;br /&gt;
All quizzes, assignments, and L-comps have equal weight, regardless of how many points they are graded out of.  If one assignment is graded out of 20 points, and the next out of 40, the formula for calculating your total grade for these two assignments would be 0.5*(score1/20) + 0.5*(score2/40).&lt;br /&gt;
&lt;br /&gt;
== Homework Submission ==&lt;br /&gt;
&lt;br /&gt;
All homework will be submitted using the [http://www.it.northwestern.edu/education/login.html Canvas Course Management System].  Homework should be submitted by 11 AM on the day it is due (i.e., before the first section of the day).  Late homework will not be accepted.&lt;br /&gt;
&lt;br /&gt;
Here are a few guidelines/tips associated with homework submissions:&lt;br /&gt;
&lt;br /&gt;
* Upload files individually. No zip archives!&lt;br /&gt;
&lt;br /&gt;
* Submit written responses as PDFs. &lt;br /&gt;
&lt;br /&gt;
* If you upload a PDF of handwritten work, make sure that the text appears clearly and the picture is oriented portrait style. &lt;br /&gt;
&lt;br /&gt;
* When asked to submit C code for a given programming assignment, we are only concerned with receiving the relevant source files, i.e., all *.c and *.h files.   &lt;br /&gt;
&lt;br /&gt;
* When writing your responses, please follow any instructions on how to write your response.  For example, if we ask for a snippet of code, please do not submit your entire C program with header files and a main routine.  We typically are only expecting a few lines of code that solve the problem.&lt;br /&gt;
&lt;br /&gt;
* Be neat and make sure your answers are easy to follow.  Messy hard-to-follow assignments make TAs cranky, and you don&amp;#039;t want cranky TAs grading your assignment!&lt;br /&gt;
&lt;br /&gt;
* It helps both us and you if you format your code nicely.  Clean looking code is easier for us to grade and easier for you to debug.  Text editors with IDEs such as Visual Studio Code, Netbeans and MPLAB X have tools for auto-formatting code.  For example, highlighting a region and hitting Alt+Shift+f (Linux and Windows) will format that region according to your local formatting preferences.&lt;br /&gt;
&lt;br /&gt;
* When you compile your code, pay attention to any compiler warnings.  They are there for a reason!  You should be able to eventually get your code to produce no warnings.  Often if a piece of code is not working, the warnings will give a clue as to why.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
This course is (partially) &amp;quot;flipped&amp;quot;:  you watch video lectures and do readings in advance of class, and during class, you should have plenty of opportunity for questions and interaction with the instructors and TAs as you work on assignments.  The purpose of this is to try to maximize the value of the class time.  In a typical lecture, 80% of the material is the same every time it is given, and the other 20% is interactive and variable based on student questions.  In a flipped class, we hope to flip this percentage, to better tailor the class to student needs.  You will have time with the instructors while your brains are actually on and working on the material (not just scribbling notes), the times when you are most likely to have questions.  Making the video lectures available should also allow you to spend more or less time on the lecture portion, depending on your prior background.  If the material is difficult for you, you can pause or rewind.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Please keep track of any questions you have as you watch the videos!&amp;#039;&amp;#039;&amp;#039; Bring these questions to class; it will make for a livelier classroom.  &lt;br /&gt;
&lt;br /&gt;
All videos can be found at this page:  [[NU32 Videos|&amp;#039;&amp;#039;&amp;#039;NU32 Videos&amp;#039;&amp;#039;&amp;#039;]] and sample code at the bottom of [[NU32 Software|&amp;#039;&amp;#039;&amp;#039;NU32 Software&amp;#039;&amp;#039;&amp;#039;]].  We will cover almost all of the Appendix, a Crash Course in C, in the first 1.5 weeks of class, so you can work ahead and do all the readings, watch all the videos, and do all the problems, if you have time over the break.  But at a minimum, you must do the winter break assignment.  &lt;br /&gt;
&lt;br /&gt;
We will have video lecture comprehension questions (L-comps) due before every class, assignments due every Tuesday, and quizzes every Thursday (on the material covered in the assignment turned in on Thursday).  L-comps and assignments are turned in using Canvas before 11 AM the day of the class.  The weekly rhythm will be:&lt;br /&gt;
&lt;br /&gt;
* before Tuesday:  turn in assignment on material from previous week and L-comps on videos for the next class&lt;br /&gt;
* Tuesday in class:  discuss assignment, brief recap and Q&amp;amp;A on new videos, start on next assignment&lt;br /&gt;
* before Thursday:  turn in L-comps on videos for next class&lt;br /&gt;
* Thursday in class:  brief quiz on material in assignment turned in on Thursday, recap and discuss videos, continue with assignment&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Winter Break&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Reading due for first class&amp;#039;&amp;#039;&amp;#039;:  pages 515-527 in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]]&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:  1-7 of Appendix A [[NU32 Videos]].  Answer the lecture comprehension (L-comp) questions in CANVAS. &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment&amp;#039;&amp;#039;&amp;#039;:  Exercises 1-4, 6-8, 10-11, 16-17 of Appendix A.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;:  Make a video of your HelloWorld.c program and upload in CANVAS.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 1&amp;#039;&amp;#039;&amp;#039; (T 1/4)  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment due&amp;#039;&amp;#039;&amp;#039;:  L-comp and exercise solutions, and demo video, for the Winter Break assignment by 11am on CANVAS.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from last year&amp;#039;&amp;#039;&amp;#039; https://youtu.be/6cFSmm6eX6w https://youtu.be/P9v-AxwCvHc https://youtu.be/BgNt20-Ivfw https://youtu.be/EvIfmEzMXqs&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Begin next assignment:&amp;#039;&amp;#039;&amp;#039;  Appendix A exercises 18-19, 21-22, 27-28, 30-32, 34-35.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;: Exercise 34 and 35.&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps: 8-16 of a Crash Course in C. &lt;br /&gt;
: Reading:  Through page 562 of a Crash Course in C, and the rest of the Appendix as reference.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 2&amp;#039;&amp;#039;&amp;#039; (Th 1/6)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Answer L-comps &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from last year&amp;quot; https://youtu.be/PcREfvXxJQE https://youtu.be/fMmT7FyACMI https://youtu.be/6L7qcu_-I_Q https://youtu.be/r2a4Lg2p0to&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Continue assignment&amp;#039;&amp;#039;&amp;#039;   &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  17 of a Crash Course in C.&lt;br /&gt;
: Reading:  Rest of a Crash Course in C as reference&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 3&amp;#039;&amp;#039;&amp;#039; (T 1/11)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Turn in assignment, L-comps, and demo videos.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Review for the Quiz&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos from last year&amp;#039;&amp;#039;&amp;#039; https://youtu.be/I5wguSQcEiw https://youtu.be/LbuoWj5BM3Q&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Study.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 4&amp;#039;&amp;#039;&amp;#039; (Th 1/13)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz review on Zoom&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz:&amp;#039;&amp;#039;&amp;#039; At home, on C, posted on Canvas at 3pm, due by 8pm &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (no L-comps):  Chapter 1 (for your specific OS)&lt;br /&gt;
: Reading:  Chapter 1: Quickstart&lt;br /&gt;
: Download, install, and compile all software as indicated through the end of Chapter 1.3. See [[NU32 Software | NU32 Software]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 5&amp;#039;&amp;#039;&amp;#039; (T 1/18)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Watch Chapter 1 videos (no L-comps), install all software from Chapter 1&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;In class demonstration&amp;#039;&amp;#039;&amp;#039;: Compile helloWorld and talkingPIC for NU32.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: Go over PIC32 software&amp;#039;&amp;#039;&amp;#039; - https://youtu.be/0mG7hlwUduA  https://youtu.be/ZGzbVhb_sdU&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps): 1-4 from Chapter 2.&lt;br /&gt;
: Reading:  Complete Chapter 1 (quickstart) and Chapter 2.  &lt;br /&gt;
: Assignment:  Problems 3-16 of Chapter 2.  You will need the [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]] and the [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]].&lt;br /&gt;
: Pay for your equipment.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 6&amp;#039;&amp;#039;&amp;#039; (Th 1/20)&lt;br /&gt;
: Turn in Chapter 2 L-comps&lt;br /&gt;
: Quiz on Chapter 1&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/0R-aj6XtJLE https://youtu.be/NEICsIIprKU &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 3. &lt;br /&gt;
: Reading:  Complete Chapter 3.&lt;br /&gt;
: Homework for Chapters 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 7&amp;#039;&amp;#039;&amp;#039; (T 1/25)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Turn in Homework from Chapter 2, L-comps for Chapter 3 videos, read Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/CyGwEoNJdS4 https://youtu.be/5LyWPeLY7yU https://youtu.be/UXNOx6Z1Q9w&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 4. &lt;br /&gt;
: Reading:  Complete Chapter 4.&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 1-9 (skip demo for 5 if you don&amp;#039;t have your kit yet). Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 8&amp;#039;&amp;#039;&amp;#039; (Th 1/27)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Chapter 4 L-comp.&lt;br /&gt;
: Quiz on Chapter 2&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/16_lVr_k7R0  https://youtu.be/HoNKp8MNGOw  &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Make sure your NU32 works, test simplePIC and talking PIC&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 9&amp;#039;&amp;#039;&amp;#039; (T 2/1)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 3 and 4 homework&lt;br /&gt;
: Videos and L-comps on Chapter 5 &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 5:&lt;br /&gt;
: Homework: Chapter 5 (use no optimization for all exercises): Exercises 3, 4.  Chapter 6:  Exercises 1, 4, 5, 8, 9, 16,17. Make a demo video for 6.17&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 10&amp;#039;&amp;#039;&amp;#039; (Th 2/3)&lt;br /&gt;
: Quiz on Chapter 3 and 4&lt;br /&gt;
: Videos and L-comps on Chapter 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 6: https://youtu.be/YhmynLK8dTY https://youtu.be/kJ2rvqyuQzM https://youtu.be/JGBWpj5yNfY and a video by Petras, on Canvas&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 11&amp;#039;&amp;#039;&amp;#039; (T 2/8)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 5 and 6 homework&lt;br /&gt;
: Videos and L-comps on Chapters 7 and 8&lt;br /&gt;
&amp;quot; &amp;#039;&amp;#039;&amp;#039;Lecture videos: &amp;#039;&amp;#039; On Chapter 7 &amp;amp; 8: https://youtu.be/04C3QZ7JTMs  https://youtu.be/b3aOIfClECE&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Chapter 7: Exercises 1,2. Chapter 8: Exercise 1. Chapter 9: Exercise 1. Chapter 10: Exercise 1,2.&lt;br /&gt;
: The next assignment is related, do Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Th 2/10)&lt;br /&gt;
: Quiz on Chapter 5 and 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos:&amp;#039;&amp;#039;&amp;#039; On Chapter 9, 10 &amp;amp; 11: 9, 10, https://youtu.be/Eqip-9y3mCc &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (T 2/15)&lt;br /&gt;
: Due: Homework from Chapter 7, 8, 9, 10, and the first half of Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 7 8 9 10 homework&lt;br /&gt;
: Assignment: Chapter 24 project. Create solutions for Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2, 24.5, 24.7, and 24.8.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Th 2/17)&lt;br /&gt;
: Quiz on Chapter 7 8 9 10 11&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (T 2/22)&lt;br /&gt;
: Due: Homework from Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 24 homework&lt;br /&gt;
: Assignment: First half of Chapter 28: Chapter 28 through 28.4.1. Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 2/25)&lt;br /&gt;
: Quiz on Chapter 23&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (T 3/1)&lt;br /&gt;
: Due: First half of Chapter 28, up to 28.4.9&lt;br /&gt;
: Assignment: Complete Chapter 28: 28.4.10 #5, 28.4.12 #5.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Th 3/3)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos:&amp;#039;&amp;#039;&amp;#039; https://youtu.be/eoszZpwqNgY https://youtu.be/cz9ckQUsvH8 https://youtu.be/I--miZscPxc https://youtu.be/x5bSqBKPn1U&lt;br /&gt;
: Quiz on Chapter 25 26 27 during finals week&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (T 3/8)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 20&amp;#039;&amp;#039;&amp;#039; (T 3/10)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Assignment&amp;#039;&amp;#039;&amp;#039; Due by Thur 3/16 at noon&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Th 2/13)&lt;br /&gt;
: Quiz on Chapter 3 and 4 and buttons and LEDs&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Discussion of video and L-comp for Chapter 5&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Brief intro to Chapter 6&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps on Chapter 6 &lt;br /&gt;
: Continue homework for Chapter 5 and 6&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (T 2/18)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Turn in Homework from Chapter 5 and 6, L-comps for Chapter 6 videos&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Brief intro to Chapter 24, and digital i/o and counter/timers&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
&lt;br /&gt;
: Reading:  Chapters 7 and 8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Th 2/20)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz on Chapter 5 and 6&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Brief intro to output compare&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps on Chapters 9 and 10&lt;br /&gt;
: Reading:  Chapters 9 and 10&lt;br /&gt;
: Assignment: : Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (T 2/25)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: L-comps from Chapter 9, 10 and 23, Assignment from Chapter 7-10&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Discussion of turned-in homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Discussion of L-comps&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Intro to Chapter 23 and 24&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Homework: Chapter 24.5, 24.7, and 24.8.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 2/27)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz on Chapter 7-10&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Review Chapter 24&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;Work on assignment&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Complete Chapter 24&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (T 3/3)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Upload solutions and demo for Ch 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Discussion of turned-in homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Discussion of Chapter 25 and 28&lt;br /&gt;
: Hand out motors&lt;br /&gt;
&lt;br /&gt;
At home: &lt;br /&gt;
: Assignment: : Read Chapter 28 through 28.4.1. Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8 &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Th 3/5)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz on Chapter 23, PID Control.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Discussion of Chapter 26 and 27&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Continue Chapter 28&lt;br /&gt;
: L-comps for Chapter 27&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (T 3/10)  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: L-comps&lt;br /&gt;
: Discussion of Chapter 29&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Complete Chapter 28: 28.4.10 #5, 28.4.12 #5.&lt;br /&gt;
: Sign up for a time slot to demonstrate your final assignment: [https://docs.google.com/spreadsheets/d/1reEmJ7B2UCTsKIef9iCSJKDipg_J4DuTVHDbNA6Ls-0/edit?usp=sharing google_sheet]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 20&amp;#039;&amp;#039;&amp;#039; (Th 3/12)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Final Quiz, on Chapter 25, 26 and 27&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Demo&amp;#039;&amp;#039;&amp;#039;:  &lt;br /&gt;
: In person, on Monday 3/16, 3-5 PM, or Wednesday 3/18, 9-11 AM. &lt;br /&gt;
: Electronic submission by Wednesday 3/18, 11 AM.&lt;br /&gt;
: Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8, 28.4.10 #5, 28.4.12 #5. Also turn in all of your PIC code and MATLAB code.&lt;br /&gt;
: Upload a demonstration video of the results of good current tuning, and following a trajectory with good gains and bad gains.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: Sign up for a 5 minute time slot to demo your final project: TBD&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1reEmJ7B2UCTsKIef9iCSJKDipg_J4DuTVHDbNA6Ls-0/edit?usp=sharing googledoc]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Do I need to know the C language to take this course?&lt;br /&gt;
&lt;br /&gt;
A: No. But if you already know C, there is still plenty else in this course for you. If you already know C, know how to use microcontrollers for real-time control, and have a good understanding how common sensors and actuators work and how to interface to them, this course may not be for you. Consider taking ME 433 Advanced Mechatronics in the spring quarter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: Is there an independent project?&lt;br /&gt;
&lt;br /&gt;
A: There is no large independent project. There will be a two-week project at the end of the course, but there will be no machining. For a more significant project, take ME 433 Advanced Mechatronics, offered in the spring quarter. ME 333 is good preparation for ME 433.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: What kind of laptop do I need?&lt;br /&gt;
&lt;br /&gt;
A: You need a laptop with at least 2 USB ports.  Any operating system is fine.&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=NU32_Videos&amp;diff=26251</id>
		<title>NU32 Videos</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=NU32_Videos&amp;diff=26251"/>
		<updated>2021-12-22T17:02:25Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page has a number of videos supporting chapters in the book [[NU32|Embedded Computing and Mechatronics with the PIC32 Microcontroller]].  Sample code for the book used in these videos can be downloaded from the [[NU32|NU32 page]].  The sample code is for the PIC32MX795F512H as it is used on the NU32 development board.&lt;br /&gt;
&lt;br /&gt;
You can go directly to [https://www.youtube.com/user/kevinl2145 Kevin Lynch&amp;#039;s YouTube channel] with all the videos, or you can use the directory below to go to a specific video or to the playlist for a specific chapter.  Each chapter with videos has its own playlist that plays the chapter&amp;#039;s videos in sequence.&lt;br /&gt;
&lt;br /&gt;
Most of the videos below were created using the [https://sites.google.com/site/northwesternlightboard/ Lightboard], an ingenious and easy-to-use device developed by Prof. Michael Peshkin at Northwestern University.  &lt;br /&gt;
&lt;br /&gt;
===Some online lectures from the Covid times ===&lt;br /&gt;
&lt;br /&gt;
[https://youtube.com/playlist?list=PLs00gIc4luIDGhg_7wekbJlvk1_lxZja- &amp;#039;&amp;#039;&amp;#039;Video playlist from 2021&amp;#039;&amp;#039;&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Appendix A:  A Crash Course in C===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/playlist?list=PLggLP4f-rq02gmlePH-vQJ8PF6hyf08CN &amp;#039;&amp;#039;&amp;#039;Click here for a playlist of all videos in this chapter&amp;#039;&amp;#039;&amp;#039;]&lt;br /&gt;
# [http://www.youtube.com/watch?v=tVInDFCDVZA&amp;amp;feature=youtu.be &amp;#039;&amp;#039;&amp;#039;Writing your first program in C, HelloWorld.c&amp;#039;&amp;#039;&amp;#039;] (5:09).  Chapter A.1.  &lt;br /&gt;
# [http://www.youtube.com/watch?v=fjSGtiPb-YY&amp;amp;feature=youtu.be &amp;#039;&amp;#039;&amp;#039;Differences between C and MATLAB&amp;#039;&amp;#039;&amp;#039;] (7:30).  Chapter A.2.  &lt;br /&gt;
# [http://www.youtube.com/watch?v=kC4EoTxnJys&amp;amp;feature=youtu.be &amp;#039;&amp;#039;&amp;#039;Binary and hexadecimal (Base 2 and 16)&amp;#039;&amp;#039;&amp;#039;] (4:47).  Chapter A.3.1.  &lt;br /&gt;
# [http://www.youtube.com/watch?v=V1mBtAZxHgw&amp;amp;feature=youtu.be &amp;#039;&amp;#039;&amp;#039;C data types&amp;#039;&amp;#039;&amp;#039;] (5:30).  Chapter A.3.1. &lt;br /&gt;
# [http://www.youtube.com/watch?v=4XleTmp-RR4&amp;amp;feature=youtu.be &amp;#039;&amp;#039;&amp;#039;Using C data types&amp;#039;&amp;#039;&amp;#039;] (3:49).  Chapter A.3.1. &lt;br /&gt;
# [http://www.youtube.com/watch?v=jsmCIpBeKjk&amp;amp;feature=youtu.be &amp;#039;&amp;#039;&amp;#039;Representations of C data types&amp;#039;&amp;#039;&amp;#039;] (5:15).  Chapter A.3.1. &lt;br /&gt;
# [http://www.youtube.com/watch?v=47IS8VtAM9E&amp;amp;feature=youtu.be &amp;#039;&amp;#039;&amp;#039;C pointer basics&amp;#039;&amp;#039;&amp;#039;] (5:54).  Chapter A.3.2.  &lt;br /&gt;
# [http://www.youtube.com/watch?v=yBLApvS7fcY&amp;amp;feature=youtu.be &amp;#039;&amp;#039;&amp;#039;Sample program:  printout.c&amp;#039;&amp;#039;&amp;#039;] (5:55).  Chapter A.4.  &lt;br /&gt;
# [http://www.youtube.com/watch?v=YH-h-hGHIBw&amp;amp;feature=youtu.be &amp;#039;&amp;#039;&amp;#039;Sample program:  datasizes.c&amp;#039;&amp;#039;&amp;#039;] (2:57).  Chapter A.4.  &lt;br /&gt;
# [http://www.youtube.com/watch?v=HXXCdVuGm70&amp;amp;feature=youtu.be &amp;#039;&amp;#039;&amp;#039;Sample program:  overflow.c&amp;#039;&amp;#039;&amp;#039;] (2:43).  Chapter A.4. &lt;br /&gt;
# [http://www.youtube.com/watch?v=dd_Uk00yURI&amp;amp;feature=youtu.be &amp;#039;&amp;#039;&amp;#039;Sample program:  typecast.c&amp;#039;&amp;#039;&amp;#039;] (5:43).  Chapter A.4. &lt;br /&gt;
# [http://www.youtube.com/watch?v=MQaHeovdTCU&amp;amp;feature=youtu.be &amp;#039;&amp;#039;&amp;#039;invest.c, part 1/5:  intro to a typical C program&amp;#039;&amp;#039;&amp;#039;] (4:18).  Chapter A.4. &lt;br /&gt;
# [http://www.youtube.com/watch?v=CGmxOs7uxwI&amp;amp;feature=youtu.be &amp;#039;&amp;#039;&amp;#039;invest.c, part 2/5:  overview&amp;#039;&amp;#039;&amp;#039;] (3:58).  Chapter A.4. &lt;br /&gt;
# [http://www.youtube.com/watch?v=x218qBniZdo&amp;amp;feature=youtu.be &amp;#039;&amp;#039;&amp;#039;invest.c, part 3/5:  sections 1-4:  program comments, preprocessor commands, new data type definitions, and global variables&amp;#039;&amp;#039;&amp;#039;] (4:48).  Chapter A.4.  &lt;br /&gt;
# [http://www.youtube.com/watch?v=2Rl3Dno42pc&amp;amp;feature=youtu.be &amp;#039;&amp;#039;&amp;#039;invest.c, part 4/5:  sections 5-6:  helper function prototypes and the main function&amp;#039;&amp;#039;&amp;#039;] (4:40).  Chapter A.4.&lt;br /&gt;
# [http://www.youtube.com/watch?v=soT9_c6XXko&amp;amp;feature=youtu.be &amp;#039;&amp;#039;&amp;#039;invest.c, part 5/5:  section 7:  helper functions&amp;#039;&amp;#039;&amp;#039;] (7:42).  Chapter A.4. &lt;br /&gt;
# [http://www.youtube.com/watch?v=5UMHbzZGQuE &amp;#039;&amp;#039;&amp;#039;Header files and libraries&amp;#039;&amp;#039;&amp;#039;] (9:31).  Chapter A.4.15.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Chapter 1:  Quickstart===&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/playlist?list=PLggLP4f-rq00BLJVaX4LryXm45jiyXict &amp;#039;&amp;#039;&amp;#039;Click here for a playlist of all videos in this chapter for the Mac (and, almost, Linux)&amp;#039;&amp;#039;&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/playlist?list=PLggLP4f-rq02SD4GoDSfJEpXyPjYpHXvD &amp;#039;&amp;#039;&amp;#039;Click here for a playlist of all videos in this chapter for Windows&amp;#039;&amp;#039;&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Intro video for all host computers&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
# [https://youtu.be/dNUD46sAQSU &amp;#039;&amp;#039;&amp;#039;NU32 quickstart introduction&amp;#039;&amp;#039;&amp;#039;] (2:06)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Videos specific for the Mac (and, almost, Linux):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# [https://www.youtube.com/watch?v=a2o5sx1xxm4 &amp;#039;&amp;#039;&amp;#039;NU32 quickstart for Mac, part 1/3:  software downloads&amp;#039;&amp;#039;&amp;#039;] (7:11)&lt;br /&gt;
# [https://www.youtube.com/watch?v=tOuKL2vZWjE &amp;#039;&amp;#039;&amp;#039;NU32 quickstart for Mac, part 2/3:  compiling and loading&amp;#039;&amp;#039;&amp;#039;] (4:04)&lt;br /&gt;
# [https://www.youtube.com/watch?v=o5fKVnmiKrk &amp;#039;&amp;#039;&amp;#039;NU32 quickstart for Mac, part 3/3:  using make&amp;#039;&amp;#039;&amp;#039;] (5:31)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Videos specific for Windows:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# [https://www.youtube.com/watch?v=jBwzfmpyFiY &amp;#039;&amp;#039;&amp;#039;NU32 quickstart for Windows, part 1/3:  software downloads&amp;#039;&amp;#039;&amp;#039;] (5:55)&lt;br /&gt;
# [https://www.youtube.com/watch?v=AUF4Bx-Hfqw &amp;#039;&amp;#039;&amp;#039;NU32 quickstart for Windows, part 2/3:  compiling and loading&amp;#039;&amp;#039;&amp;#039;] (4:36)&lt;br /&gt;
# [https://www.youtube.com/watch?v=314F5qkCQ0I &amp;#039;&amp;#039;&amp;#039;NU32 quickstart for Windows, part 3/3:  using make&amp;#039;&amp;#039;&amp;#039;] (5:13)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Chapter 2: Hardware===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/playlist?list=PLggLP4f-rq02HwYXVcY7z_9K719BxAXRF &amp;#039;&amp;#039;&amp;#039;Click here for a playlist of all videos in this chapter&amp;#039;&amp;#039;&amp;#039;]&lt;br /&gt;
# [https://www.youtube.com/watch?v=UAS0kl30EMA &amp;#039;&amp;#039;&amp;#039;Introduction to the PIC32 microcontroller&amp;#039;&amp;#039;&amp;#039;] (4:42)&lt;br /&gt;
# [http://youtu.be/UOv0zG_04Bg &amp;#039;&amp;#039;&amp;#039;Introduction to the PIC32 architecture&amp;#039;&amp;#039;&amp;#039;] (6:02)&lt;br /&gt;
# [http://youtu.be/YrkUKYBcVA8 &amp;#039;&amp;#039;&amp;#039;The PIC32 physical memory map&amp;#039;&amp;#039;&amp;#039;] (5:20)&lt;br /&gt;
# [https://www.youtube.com/watch?v=ByXYMqVQpWU &amp;#039;&amp;#039;&amp;#039;Introduction to the NU32 development board&amp;#039;&amp;#039;&amp;#039;] (2:28)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Chapter 3: Software===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/playlist?list=PLggLP4f-rq00keomJD_HhrzvxwIsxB9WS &amp;#039;&amp;#039;&amp;#039;Click here for a playlist of all videos in this chapter&amp;#039;&amp;#039;&amp;#039;]&lt;br /&gt;
# [http://www.youtube.com/watch?v=VqCPafcov1c &amp;#039;&amp;#039;&amp;#039;The PIC32 virtual memory map&amp;#039;&amp;#039;&amp;#039;] (5:24)&lt;br /&gt;
# [https://www.youtube.com/watch?v=Cfa0L990DCU &amp;#039;&amp;#039;&amp;#039;Understanding simplePIC.c&amp;#039;&amp;#039;&amp;#039;] (6:34).  &lt;br /&gt;
# [https://www.youtube.com/watch?v=HFAX6mKIlSA &amp;#039;&amp;#039;&amp;#039;Digging through PIC32 header files&amp;#039;&amp;#039;&amp;#039;] (6:19).&lt;br /&gt;
# [https://www.youtube.com/watch?v=QwA-NtxMC3E &amp;#039;&amp;#039;&amp;#039;The PIC32 executable build process&amp;#039;&amp;#039;&amp;#039;] (3:36).&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Chapter 4:  Using Libraries===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Video&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/playlist?list=PLggLP4f-rq02hxyFislPy2SuN6vndLMi- &amp;#039;&amp;#039;&amp;#039;Click here for a playlist of all videos in this chapter&amp;#039;&amp;#039;&amp;#039;]&lt;br /&gt;
# [https://youtu.be/_qq0cOjl9Cs &amp;#039;&amp;#039;&amp;#039;The NU32 library&amp;#039;&amp;#039;&amp;#039;] (5:20)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Chapter 5:  Time and Space===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/playlist?list=PLggLP4f-rq01Sl5GNFtYcOf0gcwVqVLj2 &amp;#039;&amp;#039;&amp;#039;Click here for a playlist of all videos in this chapter&amp;#039;&amp;#039;&amp;#039;]&lt;br /&gt;
# [https://youtu.be/-Xpfi9mR7oc &amp;#039;&amp;#039;&amp;#039;Timing PIC32 code and the disassembly file&amp;#039;&amp;#039;&amp;#039;] (11:11). &lt;br /&gt;
# [https://youtu.be/OcsLl_FuXwg &amp;#039;&amp;#039;&amp;#039;The PIC32 memory map file&amp;#039;&amp;#039;&amp;#039;] (8:20). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Chapter 6:  Interrupts===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/playlist?list=PLggLP4f-rq01y1WOKqkMxElhm8gAm8Uxg &amp;#039;&amp;#039;&amp;#039;Click here for a playlist of all videos in this chapter&amp;#039;&amp;#039;&amp;#039;]&lt;br /&gt;
# [http://www.youtube.com/watch?v=Kmss3C732Kg&amp;amp;feature=youtu.be &amp;#039;&amp;#039;&amp;#039;Overview of interrupts on the PIC32&amp;#039;&amp;#039;&amp;#039;] (4:29)&lt;br /&gt;
# [http://www.youtube.com/watch?v=aLJX-CxMb-w&amp;amp;feature=youtu.be &amp;#039;&amp;#039;&amp;#039;PIC32 interrupt SFRs&amp;#039;&amp;#039;&amp;#039;] (6:22)&lt;br /&gt;
# [http://www.youtube.com/watch?v=aIClq90qV7E&amp;amp;feature=youtu.be &amp;#039;&amp;#039;&amp;#039;The PIC32 shadow register set&amp;#039;&amp;#039;&amp;#039;] (1:25)&lt;br /&gt;
# [http://www.youtube.com/watch?v=6Ap3H39iCVI&amp;amp;feature=youtu.be &amp;#039;&amp;#039;&amp;#039;Seven steps to using an interrupt with the PIC32&amp;#039;&amp;#039;&amp;#039;] (3:47)&lt;br /&gt;
# [https://youtu.be/oydXEvJ-FUU &amp;#039;&amp;#039;&amp;#039;PIC32 interrupt code example&amp;#039;&amp;#039;&amp;#039;] (4:19) &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Chapter 7:  Digital Input and Output===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/playlist?list=PLggLP4f-rq024v9r7mc5fK-1abgErFEcM &amp;#039;&amp;#039;&amp;#039;Click here for a playlist of all videos in this chapter&amp;#039;&amp;#039;&amp;#039;]&lt;br /&gt;
# [http://youtu.be/QweUbVV6zOQ &amp;#039;&amp;#039;&amp;#039;Intro to digital I/O on the PIC32&amp;#039;&amp;#039;&amp;#039;] (6:24)&lt;br /&gt;
# [http://youtu.be/TyhJXYsvSgE &amp;#039;&amp;#039;&amp;#039;Change notification on the PIC32&amp;#039;&amp;#039;&amp;#039;] (1:18)&lt;br /&gt;
# [https://youtu.be/imjtEoTcJgI &amp;#039;&amp;#039;&amp;#039;PIC32 program with digital I/O and change notification&amp;#039;&amp;#039;&amp;#039;] (4:33)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Chapter 8:  Counters / Timers===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/playlist?list=PLggLP4f-rq007Vy2Qulf3n9g9VO3d4VUV &amp;#039;&amp;#039;&amp;#039;Click here for a playlist of all videos in this chapter&amp;#039;&amp;#039;&amp;#039;]&lt;br /&gt;
# [http://youtu.be/wOeRTo55BCE &amp;#039;&amp;#039;&amp;#039;Intro to PIC32 counter/timers&amp;#039;&amp;#039;&amp;#039;] (5:59)&lt;br /&gt;
# [http://youtu.be/5bNf9GZUdk8 &amp;#039;&amp;#039;&amp;#039;PIC32 timer SFRs&amp;#039;&amp;#039;&amp;#039;] (5:55)&lt;br /&gt;
# [https://youtu.be/bu6G8ERqapI &amp;#039;&amp;#039;&amp;#039;Using PIC32 timers to generate interrupts&amp;#039;&amp;#039;&amp;#039;] (2:39)&lt;br /&gt;
# [https://youtu.be/bu6TTZHnMPY &amp;#039;&amp;#039;&amp;#039;Example PIC32 timer interrupt program&amp;#039;&amp;#039;&amp;#039;] (3:42)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Chapter 9:  Output Compare===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/playlist?list=PLggLP4f-rq00_EW8xrcBsgqAP90qmdDxR &amp;#039;&amp;#039;&amp;#039;Click here for a playlist of all videos in this chapter&amp;#039;&amp;#039;&amp;#039;]&lt;br /&gt;
# [http://youtu.be/U4T53SFPhXI &amp;#039;&amp;#039;&amp;#039;Introduction to the PIC32 output compare&amp;#039;&amp;#039;&amp;#039;] (5:30)&lt;br /&gt;
# [https://youtu.be/l9ApqJMgeoY &amp;#039;&amp;#039;&amp;#039;A PWM program on the PIC32&amp;#039;&amp;#039;&amp;#039;] (3:10)&lt;br /&gt;
# [http://youtu.be/xhdiiYYF-zY &amp;#039;&amp;#039;&amp;#039;Using output compare to create an analog output&amp;#039;&amp;#039;&amp;#039;] (3:09)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Chapter 10:  Analog Input===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Video&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/playlist?list=PLggLP4f-rq0376JNt1ntQSQ7QdEgOfRhW &amp;#039;&amp;#039;&amp;#039;Click here for a playlist of all videos in this chapter&amp;#039;&amp;#039;&amp;#039;]&lt;br /&gt;
# [http://youtu.be/JvlPeWEU5i8 &amp;#039;&amp;#039;&amp;#039;The PIC32 analog-to-digital converter&amp;#039;&amp;#039;&amp;#039;] (6:47)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Chapter 23:  PID Feedback Control===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/playlist?list=PLggLP4f-rq02ecj0q0VB9jEbfua8lOc_E &amp;#039;&amp;#039;&amp;#039;Click here for a playlist of all videos in this chapter&amp;#039;&amp;#039;&amp;#039;]&lt;br /&gt;
# [http://youtu.be/taSlxgvvrBM &amp;#039;&amp;#039;&amp;#039;Introduction to PID control&amp;#039;&amp;#039;&amp;#039;] (4:28)&lt;br /&gt;
# [http://youtu.be/La9vll93h44 &amp;#039;&amp;#039;&amp;#039;Improving the basic PID control algorithm&amp;#039;&amp;#039;&amp;#039;] (2:33)&lt;br /&gt;
# [http://youtu.be/T9_C3jhnQXI &amp;#039;&amp;#039;&amp;#039;PID control of a mass-spring-damper&amp;#039;&amp;#039;&amp;#039;] (4:10)&lt;br /&gt;
# [http://youtu.be/LE6SIRA2v48 &amp;#039;&amp;#039;&amp;#039;P, PI, and PD variants of PID control&amp;#039;&amp;#039;&amp;#039;] (2:42)&lt;br /&gt;
# [http://youtu.be/uXnDwojRb1g &amp;#039;&amp;#039;&amp;#039;Empirical PID gain tuning&amp;#039;&amp;#039;&amp;#039;] (7:08)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Chapter 25:  Brushed Permanent Magnet DC Motors===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/playlist?list=PLggLP4f-rq02o8CuzclHrbdVCEZ1noFEj &amp;#039;&amp;#039;&amp;#039;Click here for a playlist of all videos in this chapter&amp;#039;&amp;#039;&amp;#039;]&lt;br /&gt;
# [http://youtu.be/Mj2bV03mVM8 &amp;#039;&amp;#039;&amp;#039;Intro to brushed permanent magnet DC motors, part 1/2&amp;#039;&amp;#039;&amp;#039;] (4:31)&lt;br /&gt;
# [http://youtu.be/9n9QiALi4E4 &amp;#039;&amp;#039;&amp;#039;Intro to brushed permanent magnet DC motors, part 2/2&amp;#039;&amp;#039;&amp;#039;] (7:10)&lt;br /&gt;
# [http://youtu.be/8_SQnN6eNz4 &amp;#039;&amp;#039;&amp;#039;Brushed DC motor equations&amp;#039;&amp;#039;&amp;#039;] (6:53)&lt;br /&gt;
# [http://youtu.be/pxtRlKs0pAg &amp;#039;&amp;#039;&amp;#039;Brushed DC motor speed-torque curve&amp;#039;&amp;#039;&amp;#039;] (5:59)&lt;br /&gt;
# [https://www.youtube.com/watch?v=KmnztbTCvxM&amp;amp;feature=youtu.be &amp;#039;&amp;#039;&amp;#039;The DC motor speed-torque plane&amp;#039;&amp;#039;&amp;#039;] (4:27)&lt;br /&gt;
# [https://www.youtube.com/watch?v=Lr59zMIeKck&amp;amp;feature=youtu.be &amp;#039;&amp;#039;&amp;#039;DC motor electrical and mechanical power in the speed-torque plane&amp;#039;&amp;#039;&amp;#039;] (3:52)&lt;br /&gt;
# [http://youtu.be/drkC5P11Ch4 &amp;#039;&amp;#039;&amp;#039;DC motor output power&amp;#039;&amp;#039;&amp;#039;] (2:05)&lt;br /&gt;
# [http://youtu.be/nSPgvxoKZIg &amp;#039;&amp;#039;&amp;#039;Friction in DC motors&amp;#039;&amp;#039;&amp;#039;] (0:55)&lt;br /&gt;
# [http://youtu.be/SM1b0co89yg &amp;#039;&amp;#039;&amp;#039;A DC motor data sheet&amp;#039;&amp;#039;&amp;#039;] (4:34)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Chapter 26:  Gearing and Motor Sizing===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/playlist?list=PLggLP4f-rq02tJpO5NUa-w0wP_fL_n72n &amp;#039;&amp;#039;&amp;#039;Click here for a playlist of all videos in this chapter&amp;#039;&amp;#039;&amp;#039;]&lt;br /&gt;
# [http://youtu.be/D1chF7_pIR0 &amp;#039;&amp;#039;&amp;#039;Introduction to gears&amp;#039;&amp;#039;&amp;#039;] (4:12)&lt;br /&gt;
# [http://youtu.be/vVg8jb5vaMI &amp;#039;&amp;#039;&amp;#039;Gear efficiency&amp;#039;&amp;#039;&amp;#039;] (2:40)&lt;br /&gt;
# [http://youtu.be/Cc9uvnWaNl0 &amp;#039;&amp;#039;&amp;#039;Types of gears&amp;#039;&amp;#039;&amp;#039;] (3:47)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Chapter 27:  DC Motor Control===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/playlist?list=PLggLP4f-rq03w7Bm5M-EjF8Yn4wL_M7HW &amp;#039;&amp;#039;&amp;#039;Click here for a playlist of all videos in this chapter&amp;#039;&amp;#039;&amp;#039;]&lt;br /&gt;
# [http://youtu.be/6R_3jHeimiE &amp;#039;&amp;#039;&amp;#039;Driving DC motors, part 1/3:  Flyback diodes&amp;#039;&amp;#039;&amp;#039;] (7:03)&lt;br /&gt;
# [http://youtu.be/m5JYkgCRbBI &amp;#039;&amp;#039;&amp;#039;Driving DC motors, part 2/3:  PWM&amp;#039;&amp;#039;&amp;#039;] (3:05)&lt;br /&gt;
# [http://youtu.be/fVgnUWIWzZ8 &amp;#039;&amp;#039;&amp;#039;Driving DC motors, part 3/3:  H-bridges&amp;#039;&amp;#039;&amp;#039;] (4:22)&lt;br /&gt;
# [http://youtu.be/LdVyC8BOBjA &amp;#039;&amp;#039;&amp;#039;A professional motor control system&amp;#039;&amp;#039;&amp;#039;] (6:55)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Chapter 28:  A Motor Control Project===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/playlist?list=PLggLP4f-rq03WhWvWauGd9ex6ZXGLtrdd &amp;#039;&amp;#039;&amp;#039;Click here for a playlist of all videos in this chapter&amp;#039;&amp;#039;&amp;#039;]&lt;br /&gt;
# [https://youtu.be/sMXWoYCmfm4 &amp;#039;&amp;#039;&amp;#039;A motor control project with the PIC32&amp;#039;&amp;#039;&amp;#039;] (4:04)&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics_(Archive_Winter_2022)&amp;diff=26250</id>
		<title>ME 333 Introduction to Mechatronics (Archive Winter 2022)</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=ME_333_Introduction_to_Mechatronics_(Archive_Winter_2022)&amp;diff=26250"/>
		<updated>2021-12-22T16:57:25Z</updated>

		<summary type="html">&lt;p&gt;NickMarchuk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Winter Quarter 2022&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;First day of class is Tuesday January 4.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Section 20:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 11:00-12:20, Tech A110 starting 1/18&lt;br /&gt;
* Section 21:  Prof. Nick Marchuk (nick.marchuk@u.northwestern.edu), T Th, 12:30-1:50, Francis Searle 2407 1/18&lt;br /&gt;
* TAs:  &lt;br /&gt;
** Tito Fernandez&lt;br /&gt;
** Huan Weng&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Final demo&amp;#039;&amp;#039;&amp;#039; (in lieu of final exam):  Monday Mar 14 3-5 PM (12:30-1:50 section) and Wednesday Mar 16 9-11 AM (11-12:20 section)&lt;br /&gt;
* Office Hours: TBD &amp;lt;!--in Ford B100:  &lt;br /&gt;
** TuWThF 4-5pm with Prof. Marchuk in Ford B100, or by appt --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Quick links:&lt;br /&gt;
** [http://www.it.northwestern.edu/education/login.html Canvas Course Management System]&lt;br /&gt;
** [[NU32 Videos|NU32 Videos]]&lt;br /&gt;
** [[NU32 Software|NU32 Software]]&lt;br /&gt;
** [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form Report a typo or bug in the book]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Purpose of this Course ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this course is to &amp;#039;&amp;#039;&amp;#039;provide tools that help you express your creativity&amp;#039;&amp;#039;&amp;#039;.  Maybe you want to build a robot, or a piece of kinetic art, or an automatic ball-throwing device to entertain your dog; maybe you&amp;#039;ve identified a market for a new smart product and you&amp;#039;d like to prototype the device.  This course provides fundamentals of mechatronics to give you confidence to take on these projects.  You are encouraged to take what you learn in this course and apply it in ME 433 Advanced Mechatronics, DSGN 360 Design Competition, senior design projects, or independent projects.&lt;br /&gt;
&lt;br /&gt;
== Approximate Syllabus ==&lt;br /&gt;
&lt;br /&gt;
This course is for students who want to build microprocessor-controlled electromechanical devices.  &lt;br /&gt;
&lt;br /&gt;
To do this, ME 333 focuses on three topics: (1) general C programming; (2) Microchip PIC microcontroller architecture and C programming specific to the PIC (e.g., using the PIC&amp;#039;s peripherals, such as analog inputs, digital I/O, counters/timers, comm ports, etc.); and (3) interfacing the PIC to sensors and actuators, some theory of sensor and actuator operation, and interface circuitry and signal processing. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;You will do a lot of programming in this course!&amp;#039;&amp;#039;&amp;#039;  If you are certain you hate programming, then this is not the course for you.  But knowing how to program is very useful for any modern engineer.  The language we will use is C, a fairly low-level language that works well for microcontrollers, which is more portable and not nearly as painful and low-level as assembly language.  If you don&amp;#039;t know C, that&amp;#039;s not a problem, most students don&amp;#039;t before taking ME 333; but you should plan to learn it, and rather quickly.  You will have all the materials you need to start learning C before class starts, and &amp;#039;&amp;#039;&amp;#039;the first assignment on C is due on the first day of class&amp;#039;&amp;#039;&amp;#039;!  The reason:  even though we start out with C, that&amp;#039;s not the main goal of this course.  The main goal is to teach you about microcontrollers and mechatronics.  Plus some students already have C background.&lt;br /&gt;
&lt;br /&gt;
You will bring your laptop to each class.  As the quarter progresses, we will be handing out other equipment that you will need to bring to class, such as the NU32 development board that breaks out the [http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC32MX795F512H PIC32MX795F512H] microcontroller.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;It is essential you do the assigned reading and watch the videos in advance of class.&amp;#039;&amp;#039;&amp;#039;  You will have an assignment and/or lecture comprehension questions (L-comps) due before every class, turned in electronically on Canvas.  (This includes the very first day of class!)  Once a week we will have a short quiz.  Most classes will have a combination of a brief review, Q&amp;amp;A, and working individually or in small groups on problems while the instructors help answer any questions.&lt;br /&gt;
&lt;br /&gt;
Topics we will cover, time depending, include:&lt;br /&gt;
&lt;br /&gt;
* introduction to C programming&lt;br /&gt;
* introduction to the PIC32 hardware, and programming the PIC32 in C&lt;br /&gt;
* digital I/O&lt;br /&gt;
* counters/timers and interrupts&lt;br /&gt;
* analog input&lt;br /&gt;
* sensor smorgasbord&lt;br /&gt;
* digital signal processing:  filters and FFTs&lt;br /&gt;
* analog output and pulse-width modulation&lt;br /&gt;
* brushed permanent magnet DC motors:  theory and control&lt;br /&gt;
* stepper motors and RC servo motors&lt;br /&gt;
* communication by SPI, I2C, and RS-232&lt;br /&gt;
&lt;br /&gt;
== Checklist to Complete Before the First Day of Class ==&lt;br /&gt;
&lt;br /&gt;
By the first day of class, you should:&lt;br /&gt;
&lt;br /&gt;
* Complete the reading and assignment 1, which is &amp;#039;&amp;#039;&amp;#039;due the first day of class!&amp;#039;&amp;#039;&amp;#039;  The first assignments are designed to get you up to speed on the C programming language, which we will use throughout the course.&lt;br /&gt;
* Have a laptop with at least 2 USB A-style ports.  Any operating system is fine.  One port will be used to program and communicate with your PIC microcontroller, and the other will be used for your portable oscilloscope.  &lt;br /&gt;
* Be prepared to buy your class kit, consisting of the portable nScope oscilloscope, the NU32 PIC32 development board, and lots of other goodies.  Price $125 if you are starting from scratch; $75 if you already have the nScope. &lt;br /&gt;
&amp;lt;!--  &lt;br /&gt;
 * Buy your class kit [http://it.mccormick.northwestern.edu/matlab/student_license/login.php &amp;#039;&amp;#039;&amp;#039;here&amp;#039;&amp;#039;&amp;#039;].  If you already have the oscilloscope and multimeter from this year&amp;#039;s ME 233 offering, you should choose &amp;quot;ME 333 (nScope not needed ($75))&amp;quot; for the price of $75.  If you do not have the oscilloscope and multimeter, you should choose &amp;quot;ME 333 (including nScope ($125))&amp;quot; for the price of $125.  You will not be able to start the course until you have completed the purchase of your kit.  If you decide to drop the course, you will be refunded the purchase price upon return of all the equipment in working shape. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Student Contract ==&lt;br /&gt;
&lt;br /&gt;
By signing up for this course, you agree to complete the checklist above before the course starts.  You agree to stay engaged during the class period; even if your computer is open, no facebook or other distractions that will lessen your contribution to the class.  You understand that learning from classmates, and helping classmates, is encouraged, up to the stage of conceptualizing solutions.  You are not allowed to fully complete a solution in a team.  You understand that plagiarism is not tolerated.  You will report instances of plagiarism you are aware of.  Plagiarism includes, but is not limited to:&lt;br /&gt;
&lt;br /&gt;
* Allowing another student to copy your work.&lt;br /&gt;
* Copying another student&amp;#039;s work, in whole or in part.&lt;br /&gt;
* Transforming copied sections of code or solutions to try to disguise their origin.&lt;br /&gt;
* Borrowing code or solutions from others not in the course, e.g., code found on the internet, without attribution.  Borrowing code found on the internet is acceptable if the source is clearly indicated in your code comments, and if you understand how the code works.&lt;br /&gt;
&lt;br /&gt;
On our part (faculty and TAs), we commit to do our best to provide you a curriculum and set of experimental materials to get you up to speed on sophisticated mechatronics integration as quickly and efficiently as possible, while giving you a foundation in concepts needed to go further in future projects and courses.&lt;br /&gt;
&lt;br /&gt;
== Prerequisite ==&lt;br /&gt;
&lt;br /&gt;
ME 233 Electronics Design or similar (EECS 221, 225, BME 305 (pre-2020) or BME 308 (post-2020)) is required. You will be expected to analyze circuits with resistors, capacitors, inductors, diodes, transistors, and op-amps. You can find refresher material and a sample quiz at [[ME_333_Circuits_Review_Material|this page]] and in Appendix B of the book.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
&lt;br /&gt;
Required:&lt;br /&gt;
&lt;br /&gt;
* Textbook: &amp;quot;Embedded Computing and Mechatronics with the PIC32 Microcontroller&amp;quot; ([http://www.amazon.com/gp/product/0124201652/ Amazon], [http://store.elsevier.com/product.jsp?isbn=9780124201651 Elsevier]).  Sample chapters, including the appendix &amp;quot;A Crash Course in C&amp;quot; can be found in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]].  &lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;A pdf of the textbook is included in the class kit, you do not need to buy it online or at the bookstore!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Optional:  [[Media:EssentialC.pdf|Essential C]] is also a very nice intro to C.  Let us know about other online C resources you find particularly useful.&lt;br /&gt;
* [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]]&lt;br /&gt;
* [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]]&lt;br /&gt;
&lt;br /&gt;
Find a typo in the book or a bug in the code? Report it [https://docs.google.com/forms/d/1LkHw5Lthzfudmoc3s3vediJe34B4qfFAnEiTqxew5IE/viewform?usp=send_form here]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Useful, but not required:&lt;br /&gt;
* [http://www.amazon.com/Programming-32-bit-Microcontrollers-Exploring-Technology/dp/0750687096/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1294091438&amp;amp;sr=8-1-spell Programming 32-bit Microcontrollers in C:  Exploring the PIC32] by Lucio Di Jasio.  This is an easy to read and informative exploration of the PIC32.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Other C resources, such as this [[Media:CBook.pdf|pdf version]] of &amp;quot;The C Book,&amp;quot; and the classic [http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1294091625&amp;amp;sr=1-1 C Programming Language] reference book by Kernighan and Ritchie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
Grades will be approximately 40% quizzes and 60% assignments and L-comps (including the final project).  We will have short quizzes once a week at the beginning of class covering material on the previous assignment. We will have a final project and demo in lieu of a final exam.&lt;br /&gt;
&lt;br /&gt;
All quizzes, assignments, and L-comps have equal weight, regardless of how many points they are graded out of.  If one assignment is graded out of 20 points, and the next out of 40, the formula for calculating your total grade for these two assignments would be 0.5*(score1/20) + 0.5*(score2/40).&lt;br /&gt;
&lt;br /&gt;
== Homework Submission ==&lt;br /&gt;
&lt;br /&gt;
All homework will be submitted using the [http://www.it.northwestern.edu/education/login.html Canvas Course Management System].  Homework should be submitted by 11 AM on the day it is due (i.e., before the first section of the day).  Late homework will not be accepted.&lt;br /&gt;
&lt;br /&gt;
Here are a few guidelines/tips associated with homework submissions:&lt;br /&gt;
&lt;br /&gt;
* Upload files individually. No zip archives!&lt;br /&gt;
&lt;br /&gt;
* Submit written responses as PDFs. &lt;br /&gt;
&lt;br /&gt;
* If you upload a PDF of handwritten work, make sure that the text appears clearly and the picture is oriented portrait style. &lt;br /&gt;
&lt;br /&gt;
* When asked to submit C code for a given programming assignment, we are only concerned with receiving the relevant source files, i.e., all *.c and *.h files.   &lt;br /&gt;
&lt;br /&gt;
* When writing your responses, please follow any instructions on how to write your response.  For example, if we ask for a snippet of code, please do not submit your entire C program with header files and a main routine.  We typically are only expecting a few lines of code that solve the problem.&lt;br /&gt;
&lt;br /&gt;
* Be neat and make sure your answers are easy to follow.  Messy hard-to-follow assignments make TAs cranky, and you don&amp;#039;t want cranky TAs grading your assignment!&lt;br /&gt;
&lt;br /&gt;
* It helps both us and you if you format your code nicely.  Clean looking code is easier for us to grade and easier for you to debug.  Text editors with IDEs such as Visual Studio Code, Netbeans and MPLAB X have tools for auto-formatting code.  For example, highlighting a region and hitting Alt+Shift+f (Linux and Windows) will format that region according to your local formatting preferences.&lt;br /&gt;
&lt;br /&gt;
* When you compile your code, pay attention to any compiler warnings.  They are there for a reason!  You should be able to eventually get your code to produce no warnings.  Often if a piece of code is not working, the warnings will give a clue as to why.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
This course is (partially) &amp;quot;flipped&amp;quot;:  you watch video lectures and do readings in advance of class, and during class, you should have plenty of opportunity for questions and interaction with the instructors and TAs as you work on assignments.  The purpose of this is to try to maximize the value of the class time.  In a typical lecture, 80% of the material is the same every time it is given, and the other 20% is interactive and variable based on student questions.  In a flipped class, we hope to flip this percentage, to better tailor the class to student needs.  You will have time with the instructors while your brains are actually on and working on the material (not just scribbling notes), the times when you are most likely to have questions.  Making the video lectures available should also allow you to spend more or less time on the lecture portion, depending on your prior background.  If the material is difficult for you, you can pause or rewind.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Please keep track of any questions you have as you watch the videos!&amp;#039;&amp;#039;&amp;#039; Bring these questions to class; it will make for a livelier classroom.  &lt;br /&gt;
&lt;br /&gt;
All videos can be found at this page:  [[NU32 Videos|&amp;#039;&amp;#039;&amp;#039;NU32 Videos&amp;#039;&amp;#039;&amp;#039;]] and sample code at the bottom of [[NU32 Software|&amp;#039;&amp;#039;&amp;#039;NU32 Software&amp;#039;&amp;#039;&amp;#039;]].  We will cover almost all of the Appendix, a Crash Course in C, in the first 1.5 weeks of class, so you can work ahead and do all the readings, watch all the videos, and do all the problems, if you have time over the break.  But at a minimum, you must do the winter break assignment.  &lt;br /&gt;
&lt;br /&gt;
We will have video lecture comprehension questions (L-comps) due before every class, assignments due every Tuesday, and quizzes every Thursday (on the material covered in the assignment turned in on Thursday).  L-comps and assignments are turned in using Canvas before 11 AM the day of the class.  The weekly rhythm will be:&lt;br /&gt;
&lt;br /&gt;
* before Tuesday:  turn in assignment on material from previous week and L-comps on videos for the next class&lt;br /&gt;
* Tuesday in class:  discuss assignment, brief recap and Q&amp;amp;A on new videos, start on next assignment&lt;br /&gt;
* before Thursday:  turn in L-comps on videos for next class&lt;br /&gt;
* Thursday in class:  brief quiz on material in assignment turned in on Thursday, recap and discuss videos, continue with assignment&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Winter Break&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Reading due for first class&amp;#039;&amp;#039;&amp;#039;:  pages 515-527 in the [[Media:EmbeddedComputingMechatronicsSampleChapters.pdf|freely downloadable sample chapters]]&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Videos&amp;#039;&amp;#039;&amp;#039;:  1-7 of Appendix A [[NU32 Videos]].  Answer the lecture comprehension (L-comp) questions in CANVAS. &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment&amp;#039;&amp;#039;&amp;#039;:  Exercises 1-4, 6-8, 10-11, 16-17 of Appendix A.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;:  Make a video of your HelloWorld.c program and upload in CANVAS.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 1&amp;#039;&amp;#039;&amp;#039; (T 1/12)  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Assignment due&amp;#039;&amp;#039;&amp;#039;:  L-comp and exercise solutions, and demo video, for the Winter Break assignment by 11am on CANVAS.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos&amp;#039;&amp;#039;&amp;#039; https://youtu.be/6cFSmm6eX6w https://youtu.be/P9v-AxwCvHc https://youtu.be/BgNt20-Ivfw https://youtu.be/EvIfmEzMXqs&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Begin next assignment:&amp;#039;&amp;#039;&amp;#039;  Appendix A exercises 18-19, 21-22, 27-28, 30-32, 34-35.  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Demonstration&amp;#039;&amp;#039;&amp;#039;: Exercise 34 and 35.&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps: 8-16 of a Crash Course in C. &lt;br /&gt;
: Reading:  Through page 562 of a Crash Course in C, and the rest of the Appendix as reference.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 2&amp;#039;&amp;#039;&amp;#039; (Th 1/14)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Answer L-comps &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos&amp;quot; https://youtu.be/PcREfvXxJQE https://youtu.be/fMmT7FyACMI https://youtu.be/6L7qcu_-I_Q https://youtu.be/r2a4Lg2p0to&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Continue assignment&amp;#039;&amp;#039;&amp;#039;   &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  17 of a Crash Course in C.&lt;br /&gt;
: Reading:  Rest of a Crash Course in C as reference&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 3&amp;#039;&amp;#039;&amp;#039; (T 1/19)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM:&amp;#039;&amp;#039;&amp;#039;  Turn in assignment, L-comps, and demo videos.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Review for the Quiz&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos&amp;#039;&amp;#039;&amp;#039; https://youtu.be/I5wguSQcEiw https://youtu.be/LbuoWj5BM3Q&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Study.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 4&amp;#039;&amp;#039;&amp;#039; (Th 1/21)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz:&amp;#039;&amp;#039;&amp;#039; On C. &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (no L-comps):  Chapter 1 (for your specific OS)&lt;br /&gt;
: Reading:  Chapter 1: Quickstart&lt;br /&gt;
: Download, install, and compile all software as indicated through the end of Chapter 1.3. See [[NU32 Software | NU32 Software]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 5&amp;#039;&amp;#039;&amp;#039; (T 1/26)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Watch Chapter 1 videos (no L-comps), install all software from Chapter 1&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;In class demonstration&amp;#039;&amp;#039;&amp;#039;: Compile helloWorld and talkingPIC for NU32.&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: Go over PIC32 software&amp;#039;&amp;#039;&amp;#039; - https://youtu.be/0mG7hlwUduA  https://youtu.be/ZGzbVhb_sdU&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps): 1-4 from Chapter 2.&lt;br /&gt;
: Reading:  Complete Chapter 1 (quickstart) and Chapter 2.  &lt;br /&gt;
: Assignment:  Problems 3-16 of Chapter 2.  You will need the [[Media:PIC32MXDS-Dec2013.pdf|PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)]] and the [[Media:PIC32RefManual-Dec2013.pdf|PIC32 Reference Manual (Dec 2013)]].&lt;br /&gt;
: Pay for your equipment.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 6&amp;#039;&amp;#039;&amp;#039; (Th 1/28)&lt;br /&gt;
: Turn in Chapter 2 L-comps&lt;br /&gt;
: Quiz on Chapter 1&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/0R-aj6XtJLE https://youtu.be/NEICsIIprKU &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 3. &lt;br /&gt;
: Reading:  Complete Chapter 3.&lt;br /&gt;
: Homework for Chapters 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 7&amp;#039;&amp;#039;&amp;#039; (T 2/2)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Turn in Homework from Chapter 2, L-comps for Chapter 3 videos, read Chapter 3&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/CyGwEoNJdS4 https://youtu.be/5LyWPeLY7yU https://youtu.be/UXNOx6Z1Q9w&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos (and L-comps):  All of Chapter 4. &lt;br /&gt;
: Reading:  Complete Chapter 4.&lt;br /&gt;
: Homework for next Tuesday: Chapter 3, problems 1-9 (skip demo for 5 if you don&amp;#039;t have your kit yet). Chapter 4, problems 1, 2, and 4&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 8&amp;#039;&amp;#039;&amp;#039; (Th 2/4)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;:  Turn in Chapter 4 L-comp.&lt;br /&gt;
: Quiz on Chapter 2&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lectures: &amp;#039;&amp;#039;&amp;#039; https://youtu.be/16_lVr_k7R0  https://youtu.be/HoNKp8MNGOw  &lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Make sure your NU32 works, test simplePIC and talking PIC&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 9&amp;#039;&amp;#039;&amp;#039; (T 2/9)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 3 and 4 homework&lt;br /&gt;
: Videos and L-comps on Chapter 5 &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 5:&lt;br /&gt;
: Homework: Chapter 5 (use no optimization for all exercises): Exercises 3, 4.  Chapter 6:  Exercises 1, 4, 5, 8, 9, 16,17. Make a demo video for 6.17&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 10&amp;#039;&amp;#039;&amp;#039; (Th 2/11)&lt;br /&gt;
: Quiz on Chapter 3 and 4&lt;br /&gt;
: Videos and L-comps on Chapter 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039; Lecture videos: &amp;#039;&amp;#039;&amp;#039; On Chapter 6: https://youtu.be/YhmynLK8dTY https://youtu.be/kJ2rvqyuQzM https://youtu.be/JGBWpj5yNfY and a video by Petras, on Canvas&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 11&amp;#039;&amp;#039;&amp;#039; (T 2/16)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 5 and 6 homework&lt;br /&gt;
: Videos and L-comps on Chapters 7 and 8&lt;br /&gt;
&amp;quot; &amp;#039;&amp;#039;&amp;#039;Lecture videos: &amp;#039;&amp;#039; On Chapter 7 &amp;amp; 8: https://youtu.be/04C3QZ7JTMs  https://youtu.be/b3aOIfClECE&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Assignment: Chapter 7: Exercises 1,2. Chapter 8: Exercise 1. Chapter 9: Exercise 1. Chapter 10: Exercise 1,2.&lt;br /&gt;
: The next assignment is related, do Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Th 2/18)&lt;br /&gt;
: Quiz on Chapter 5 and 6&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture videos:&amp;#039;&amp;#039;&amp;#039; On Chapter 9, 10 &amp;amp; 11: 9, 10, https://youtu.be/Eqip-9y3mCc &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (T 2/23)&lt;br /&gt;
: Due: Homework from Chapter 7, 8, 9, 10, and the first half of Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 7 8 9 10 homework&lt;br /&gt;
: Assignment: Chapter 24 project. Create solutions for Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2, 24.5, 24.7, and 24.8.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Th 2/25)&lt;br /&gt;
: Quiz on Chapter 7 8 9 10 11&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (T 3/2)&lt;br /&gt;
: Due: Homework from Chapter 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Chapter 24 homework&lt;br /&gt;
: Assignment: First half of Chapter 28: Chapter 28 through 28.4.1. Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 3/4)&lt;br /&gt;
: Quiz on Chapter 23&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (T 3/9)&lt;br /&gt;
: Due: First half of Chapter 28, up to 28.4.9&lt;br /&gt;
: Assignment: Complete Chapter 28: 28.4.10 #5, 28.4.12 #5.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 3/11)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Lecture Videos:&amp;#039;&amp;#039;&amp;#039; https://youtu.be/eoszZpwqNgY https://youtu.be/cz9ckQUsvH8 https://youtu.be/I--miZscPxc https://youtu.be/x5bSqBKPn1U&lt;br /&gt;
: Quiz on Chapter 25 26 27 during finals week&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Assignment&amp;#039;&amp;#039;&amp;#039; Due by Thur 3/18 at noon&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 12&amp;#039;&amp;#039;&amp;#039; (Th 2/13)&lt;br /&gt;
: Quiz on Chapter 3 and 4 and buttons and LEDs&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Discussion of video and L-comp for Chapter 5&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Brief intro to Chapter 6&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps on Chapter 6 &lt;br /&gt;
: Continue homework for Chapter 5 and 6&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 13&amp;#039;&amp;#039;&amp;#039; (T 2/18)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Turn in Homework from Chapter 5 and 6, L-comps for Chapter 6 videos&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Brief intro to Chapter 24, and digital i/o and counter/timers&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
&lt;br /&gt;
: Reading:  Chapters 7 and 8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 14&amp;#039;&amp;#039;&amp;#039; (Th 2/20)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz on Chapter 5 and 6&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Brief intro to output compare&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Videos and L-comps on Chapters 9 and 10&lt;br /&gt;
: Reading:  Chapters 9 and 10&lt;br /&gt;
: Assignment: : Chapter 24.1.2, 24.2.1 and 2, 24.3.1 and 2&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 15&amp;#039;&amp;#039;&amp;#039; (T 2/25)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: L-comps from Chapter 9, 10 and 23, Assignment from Chapter 7-10&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Discussion of turned-in homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Discussion of L-comps&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Intro to Chapter 23 and 24&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Homework: Chapter 24.5, 24.7, and 24.8.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 16&amp;#039;&amp;#039;&amp;#039; (Th 2/27)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz on Chapter 7-10&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Review Chapter 24&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;Work on assignment&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Complete Chapter 24&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 17&amp;#039;&amp;#039;&amp;#039; (T 3/3)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: Upload solutions and demo for Ch 24&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Discussion of turned-in homework&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Discussion of Chapter 25 and 28&lt;br /&gt;
: Hand out motors&lt;br /&gt;
&lt;br /&gt;
At home: &lt;br /&gt;
: Assignment: : Read Chapter 28 through 28.4.1. Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8 &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 18&amp;#039;&amp;#039;&amp;#039; (Th 3/5)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Quiz on Chapter 23, PID Control.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Discussion of Chapter 26 and 27&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Continue Chapter 28&lt;br /&gt;
: L-comps for Chapter 27&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 19&amp;#039;&amp;#039;&amp;#039; (T 3/10)  &lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Before 11 AM&amp;#039;&amp;#039;&amp;#039;: L-comps&lt;br /&gt;
: Discussion of Chapter 29&lt;br /&gt;
&lt;br /&gt;
At home:&lt;br /&gt;
: Complete Chapter 28: 28.4.10 #5, 28.4.12 #5.&lt;br /&gt;
: Sign up for a time slot to demonstrate your final assignment: [https://docs.google.com/spreadsheets/d/1reEmJ7B2UCTsKIef9iCSJKDipg_J4DuTVHDbNA6Ls-0/edit?usp=sharing google_sheet]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Class 20&amp;#039;&amp;#039;&amp;#039; (Th 3/12)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Final Quiz, on Chapter 25, 26 and 27&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Final Demo&amp;#039;&amp;#039;&amp;#039;:  &lt;br /&gt;
: In person, on Monday 3/16, 3-5 PM, or Wednesday 3/18, 9-11 AM. &lt;br /&gt;
: Electronic submission by Wednesday 3/18, 11 AM.&lt;br /&gt;
: Turn in your responses to 28.4.1 #7, 28.4.7 #7, 28.4.9 #8, 28.4.10 #5, 28.4.12 #5. Also turn in all of your PIC code and MATLAB code.&lt;br /&gt;
: Upload a demonstration video of the results of good current tuning, and following a trajectory with good gains and bad gains.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: Sign up for a 5 minute time slot to demo your final project: TBD&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1reEmJ7B2UCTsKIef9iCSJKDipg_J4DuTVHDbNA6Ls-0/edit?usp=sharing googledoc]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Do I need to know the C language to take this course?&lt;br /&gt;
&lt;br /&gt;
A: No. But if you already know C, there is still plenty else in this course for you. If you already know C, know how to use microcontrollers for real-time control, and have a good understanding how common sensors and actuators work and how to interface to them, this course may not be for you. Consider taking ME 433 Advanced Mechatronics in the spring quarter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: Is there an independent project?&lt;br /&gt;
&lt;br /&gt;
A: There is no large independent project. There will be a two-week project at the end of the course, but there will be no machining. For a more significant project, take ME 433 Advanced Mechatronics, offered in the spring quarter. ME 333 is good preparation for ME 433.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: What kind of laptop do I need?&lt;br /&gt;
&lt;br /&gt;
A: You need a laptop with at least 2 USB ports.  Any operating system is fine.&lt;/div&gt;</summary>
		<author><name>NickMarchuk</name></author>
	</entry>
</feed>