Autoplay
Autocomplete
HTML5
Flash
Player
Speed
Previous Lecture
Complete and continue
Embedded Systems Masterclass
Week 1 - Introduction to Microcontrollers
Introduction to Microcontrollers (3:10)
History of Microcontrollers, Princeton and Harvard Architecture (6:38)
Overview of blocks inside the MCU (4:04)
Zooming into the CPU blocks (5:25)
Types of memory and whats their use in a MCU (5:38)
What is the process involved in booting up of an MCU? (1:33)
Instruction Set Architecture, Operands, and Opcodes (4:53)
Week 2 - Important Features of the MCU
Different types of Addressing Modes (7:00)
Logic Levels (1:53)
What interrupts are, how they work and what is polling? (5:11)
Reset sequence, Power on reset and the Watchdog Timer (8:09)
JTAG and its uses (2:50)
Week 3 - Peripherals
Timers and Counters (4:01)
Prescalers (1:38)
PLL - Phased Locked Loop (2:10)
ADC - Analog to Digital Conversion (4:11)
DAC - Digital to Analog Conversion (2:49)
AC - Analog Comparator (1:37)
IOPORTS - Input / Output (6:11)
Week 4 - Introduction to 32 bit microcontrollers
ARM Cortex Family (3:35)
Cortex-M Family (4:47)
Cortex-M Instruction Set (3:05)
Overview of the Nucleo F303RE board (4:00)
ARM vs Thumb instructions quiz
Reference Documents
Week 5 - Architecture of 32-bit ARM
Programmers Model for the ARM Cortex-M MCU (6:10)
General Registers and Process Specific Registers (4:35)
Special Registers and their functions (5:36)
Lab Session #1 - Programmers Model - General and Special Registers (22:16)
Programmers Model Quiz
Lab Session #2 - Programmers Model - xPSR and Control Register (17:56)
Week 6 - Important Features of 32 bit ARM
Exception Model and Vector Table (18:04)
Lab Session #3 - Reset Exception Handler and the Vector Table (8:23)
Vector Table Offset Register (VTOR) (4:00)
Lab Session #4 - Using VTOR to move vector table to SRAM (20:59)
Exception Model Quiz
Core Peripherals (4:50)
Big Endian vs Little Endian (2:49)
STM32F3x System Overview, Bus Interface (4:22)
Week 7 - Setting up the development environment and Introduction to HAL
Section Introduction
Setting up the virtual machine (2:57)
Setting up Linux OS on the virtual machine (3:29)
Setting up the Eclipse development environment (2:39)
Setting up the development toolchain (6:10)
Creating a blinky project (3:05)
Setting up the open source debugger (8:08)
Setting up the open source debugger (Part 2) (8:32)
Running the blinky project (6:53)
FAQ and troubleshooting (8:09)
Week 8 - Projects using the Hardware Abstraction Library
Install STCubeMX for generating HAL drivers (5:34)
Project 1 - GPIO Peripheral Driver Development (29:01)
Project 2 - DAC and TIM Peripheral Driver development (31:31)
Week 9 - Deep dive into communication protocols
Introduction to Communication Protocols (4:02)
I2C - Inter Integrated Circuit Communication (7:41)
History of I2C, Features and Important points (5:10)
How to establish connections for I2C communication (2:45)
How to choose the right pull up resistors for I2C lines (4:46)
Practical example of I2C communication using LTC2990 (7:00)
The effect of bus capacitance on I2C comms (3:08)
Commonly used I2C Formats that you should be aware of (4:09)
Week 10 - HAL Driver implementation of I2C using the MakerMax shield
Setting up the STCubeMx project to work with the I2C shield (18:34)
Writing the I2C Read Driver for LTC2990 (9:27)
Using the I2C Driver to read the supply voltage from LTC2990 slave (14:49)
Using I2C Write to configure the LTC2990 (11:20)
Writing the I2C Driver for SSD1306 controller (9:46)
Week 11 - Lab Exercise I2C Challenges
Challenge 1 Solution - Unlocking real time temperature sensing (7:04)
Configuring the LTC2990 Control Register (5:58)
Challenge 2 solution - Unlocking potentiometer analog input (7:11)
Challenge 3 solution - Unlocking processor current sensing (6:09)
Challenge 4 solution - Unlocking push button digital input (11:18)
Week 12 - Driver development from scratch -RCC, UART, GPIO
Code placement and RCC init
Understanding project files in detail
IO driver implementation
UART - Universal Asynchronous Receiver Transmitter Communication (9:52)
UART driver implementation
Week 13 - Driver development from scratch - I2C and SPI
I2C driver implementation
SPI - Serial Peripheral Interface Communication (5:11)
SPI driver implementation
Week 14 - Review and Final exam
Review sessions
Final exam
Lab Session #2 - Programmers Model - xPSR and Control Register
Lecture content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock