This page has a number of videos supporting chapters in the book Embedded Computing and Mechatronics with the PIC32 Microcontroller. Sample code for the book used in these videos can be downloaded from the NU32 page. The sample code is for the PIC32MX795F512H as it is used on the NU32 development board.
You can go directly to Kevin Lynch'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's videos in sequence.
Most of the videos below were created using the Lightboard, an ingenious and easy-to-use device developed by Prof. Michael Peshkin at Northwestern University.
Appendix A: A Crash Course in C
- Writing your first program in C, HelloWorld.c (5:09). Chapter A.1.
- Differences between C and MATLAB (7:30). Chapter A.2.
- Binary and hexadecimal (Base 2 and 16) (4:47). Chapter A.3.1.
- C data types (5:30). Chapter A.3.1.
- Using C data types (3:49). Chapter A.3.1.
- Representations of C data types (5:15). Chapter A.3.1.
- C pointer basics (5:54). Chapter A.3.2.
- Sample program: printout.c (5:55). Chapter A.4.
- Sample program: datasizes.c (2:57). Chapter A.4.
- Sample program: overflow.c (2:43). Chapter A.4.
- Sample program: typecast.c (5:43). Chapter A.4.
- invest.c, part 1/5: intro to a typical C program (4:18). Chapter A.4.
- invest.c, part 2/5: overview (3:58). Chapter A.4.
- invest.c, part 3/5: sections 1-4: program comments, preprocessor commands, new data type definitions, and global variables (4:48). Chapter A.4.
- invest.c, part 4/5: sections 5-6: helper function prototypes and the main function (4:40). Chapter A.4.
- invest.c, part 5/5: section 7: helper functions (7:42). Chapter A.4.
- Header files and libraries (9:31). Chapter A.4.15.
Chapter 1: Quickstart
Intro video for all host computers:
- NU32 quickstart introduction (2:06)
Videos specific for the Mac (and, almost, Linux):
- NU32 quickstart for Mac, part 1/3: software downloads (7:11)
- NU32 quickstart for Mac, part 2/3: compiling and loading (4:04)
- NU32 quickstart for Mac, part 3/3: using make (5:31)
Videos specific for Windows:
- NU32 quickstart for Windows, part 1/3: software downloads (5:55)
- NU32 quickstart for Windows, part 2/3: compiling and loading (4:36)
- NU32 quickstart for Windows, part 3/3: using make (5:13)
Chapter 2: Hardware
- Introduction to the PIC32 microcontroller (4:42)
- Introduction to the PIC32 architecture (6:02)
- The PIC32 physical memory map (5:20)
- Introduction to the NU32 development board (2:28)
Chapter 3: Software
- The PIC32 virtual memory map (5:24)
- Understanding simplePIC.c (6:34).
- Digging through PIC32 header files (6:19).
- The PIC32 executable build process (3:36).
Chapter 4: Using Libraries
- The NU32 library (5:20)
Chapter 5: Time and Space
Chapter 6: Interrupts
- Overview of interrupts on the PIC32 (4:29)
- PIC32 interrupt SFRs (6:22)
- The PIC32 shadow register set (1:25)
- Seven steps to using an interrupt with the PIC32 (3:47)
- PIC32 interrupt code example (4:19)
Chapter 7: Digital Input and Output
- Intro to digital I/O on the PIC32 (6:24)
- Change notification on the PIC32 (1:18)
- PIC32 program with digital I/O and change notification (4:33)
Chapter 8: Counters / Timers
- Intro to PIC32 counter/timers (5:59)
- PIC32 timer SFRs (5:55)
- Using PIC32 timers to generate interrupts (2:39)
- Example PIC32 timer interrupt program (3:42)
Chapter 9: Output Compare
- Introduction to the PIC32 output compare (5:30)
- A PWM program on the PIC32 (3:10)
- Using output compare to create an analog output (3:09)
Chapter 10: Analog Input
Chapter 23: PID Feedback Control
- Introduction to PID control (4:28)
- Improving the basic PID control algorithm (2:33)
- PID control of a mass-spring-damper (4:10)
- P, PI, and PD variants of PID control (2:42)
- Empirical PID gain tuning (7:08)
Chapter 25: Brushed Permanent Magnet DC Motors
- Intro to brushed permanent magnet DC motors, part 1/2 (4:31)
- Intro to brushed permanent magnet DC motors, part 2/2 (7:10)
- Brushed DC motor equations (6:53)
- Brushed DC motor speed-torque curve (5:59)
- The DC motor speed-torque plane (4:27)
- DC motor electrical and mechanical power in the speed-torque plane (3:52)
- DC motor output power (2:05)
- Friction in DC motors (0:55)
- A DC motor data sheet (4:34)
Chapter 26: Gearing and Motor Sizing
Chapter 27: DC Motor Control
- Driving DC motors, part 1/3: Flyback diodes (7:03)
- Driving DC motors, part 2/3: PWM (3:05)
- Driving DC motors, part 3/3: H-bridges (4:22)
- A professional motor control system (6:55)
Chapter 28: A Motor Control Project