This course is meant to create a pathway into learning about microcontrollers, for people who are scared of the hardware and software trickery that comes with it. A hands-on approach is taken in this course through a combination of lecture and experimentation to teach you about the different functions that microcontrollers have. Additionally, visuals are used throughout lectures like step-by-step schematic building and line-by-line code explanations.
- The Introduction
Want to learn about microcontrollers? Please start here! This lesson explains the course content, what expectations you should have and what parts are needed for the course.
- Hardware Hello World
Building a ‘hello world’ application signifies a time honored approach to learning how to program. In this lesson, we will explore the first steps necessary for building and loading programs onto a microcontroller.
- Input and Output
All microcontrollers have general purpose input and output pins, often called GPIO. Here we will take a look at how to build a program and hardware to accept push-button input in order to affect output LEDs.
- Timers and Timing
All processors use a master clock frequency to execute instructions and microcontrollers are no different. In this lesson, we will explore the relation between processor speed, instruction timing, and internal timer modules.
- Analog to Digital Conversions
In order to interface to the analog world, microcontrollers often have an internal analog-to-digital converter. In this lesson, we will test the converter to understand how it works.
- Polling vs. Interrupts
In order to make your system as efficient as possible, you need to build a reactive system instead of a brute force polling system. In this lesson, we will explore why interrupts are important and why polling is inefficient.
- Communication with a PC
Most microcontrollers operate in an environment where they need to talk to other computers. In this lesson, we will use serial communication with our laptop to send commands to our microcontroller.
- Design An LED Game
At this point, we have tons of knowledge about microcontrollers, let’s take a break and do something fun: design a game! This game will be a game of skill with push buttons and LEDs.
- Design A Cyclops Eye
Another internal module in microcontrollers generates what is called a PWM output. In this lesson, we will explore using these PWM output modules to make a cyclops eye with fading LEDs.
- AVR vs Arduino
The arduino platform uses the AVR ATMEGA328 microcontroller to provide an awesome introduction to using microcontrollers, but there actually exists a world underneath arduino: let’s take a look at it.
Generally, electronics is a difficult subject mathematically, however theoretically it's actually not as bad if you take a hands-on approach and create vivid imagery to demonstrate what is going on. Using this approach, virtually anyone with a basic math background and a desire to know more about electronics can get started. So the following prerequisites are necessary for this course:
- High School Education
- Basic Algebra
- An Open Mind
- An Introduction To Modern Electronics
- Desire To Learn
This Introduction To Microcontrollers course will be split up into 10 lessons with the lecture video for each lesson hosted on youtube. The lectures will be 8-12 minutes in length so that you have enough time to see the information and can go over it twice to perform any of the experiments while following along with the video. Each lecture will contain 4 main sections: an introduction, theory, experiment and real world examples. In addition, each lesson video will be hosted at PyroEDU with downloadable offline information and material like homework, schematics, formulas and parts kit information.
- Introduction (Live!)
- Hardware Hello World (Live!)
- Input and Output (Live!)
- Timers and Timing (Live!)
- Analog to Digital Conversions (Live)!
- Polling vs Interrupts (Live!)
- Communicating with a PC (Live!)
- Design An LED Game (Live!)
- Design a Cyclops Eye (Live!)
- AVR vs Arduino (Live!)
You should expect to learn the basic of microcontrollers: input & output, timing, ADC, interrupts and how to build & program a microcontroller. Beyond that, you should also expect to get a better 'feeling' of what a microcontroller can do and where its limitations are.
This course and its additional material is located at:
From there you can access all of the lectures (as we do them) and download homework, schematics, formulas and parts kit information.
Hello! Aside from building many electronics tutorials and projects, and posting their full hardware schematics and source code on PyroElectro.com, I studied computer and electrical engineering at university and have Bachelor's + Master's degrees in the subject. My work is typically more slanted to digital hardware, however the basics are the same no matter if you're an analog designer or a digital designer.