Arduino under the Hood - AVR for Professionals

via Udemy

Go to Course: https://www.udemy.com/course/arduino-under-the-hood/

Overview

As one of the most extensive courses available: we will look at everything and more under the hood of Arduino. At its core, the ATmega328P MCU integrates many features that are not exposed through the Arduino library. While learning how the periphery works, the student writes code, exhibiting high performance at low power consumption. Embedded systems deployed in the field and powered by small batteries can run and collect data for years.The enormous advantage of the AVR platform is that many concepts introduced in this course also apply to other MCUs. Therefore, an entire portfolio of MCUs, ranging from the small ATtiny to the larger ATmega series, becomes accessible. The ATmega328P used in this course is just an example and the gained knowledge is applicable to many embedded systems not limited to the Arduino platform. This is motivated by practical sessions and exercises in which real-world problems are to be solved. In case questions during implementation arise, the student can peek at hints and tips and if nothing works, also at the solutions with plenty of comments in the source code.This course provides handmade captions in English covering the following topics, which focus on the practical aspects and what a concept can be used for. In addition, the course does not follow a particular outline and the topics can be taken in any order based on the interest and needs. The covered topics include:GNU Compiler Collection and what happens in every Step and whyA brief introduction to C and PointersMoving from the Arduino library to AVR: Less Luxury, faster Execution, fewer ResourcesHow to compile with Makefiles? Targets, Rules, and ShortcutsEasy Mistakes in C and how to avoid themAttack VectorsPeripheries:Timers, Counters, and Pulse Width ModulationInterruptsCommunication ProtocolsUART/USARTI2C/TWISPIDHT and 1-WireUSIHow to mimic other, formerly incompatible, and unsupported Protocols?Analog-Digital ConverterHow does it work?Measuring the Temperature without external ComponentsMeasuring Battery Level with the ADCAnalog ComparatorNon-volatile MemoriesFlashHow to use the Flash (Program Memory) for Constants?How to use the Flash while executing a Program?EEPROMFusesClock SourcesLock BitsDebuggingRunning the AVR on a BreadboardSaving powerSleepingDynamic Clock FrequencyTurning off unnecessary ComponentsWake-up SourcesDebugging (with practical examples)SimulatorsJTAGdebugWIREBonus Chapter: Parallel Task ExecutionAfter completing this course, the successful student will have the experience not only to evaluate existing software but also create implementations that are highly optimized to be deployed on small microcontrollers to squeeze out every quantum of performance and battery life.

Skills

Reviews