When you enroll through our links, we may earn a small commission—at no extra cost to you. This helps keep our platform free and inspires us to add more value.

Udemy logo

Arduino under the Hood - AVR for Professionals

From C, Makefiles, and Compiler to all Registers, Periphery, Fuses, Power Reduction Tricks, ISP, DebugWIRE, and LockBits

     
  • 4.4
  •  |
  • Reviews ( 70 )
₹1299
Arduino under the Hood - AVR for Professionals

    This Course Includes

    • iconudemy
    • icon4.4 (70 reviews )
    • icon20h 6m
    • iconenglish
    • iconOnline - Self Paced
    • iconprofessional certificate
    • iconUdemy

    About Arduino under the Hood - AVR for Professionals

    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: 1. GNU Compiler Collection and what happens in every Step and why 2. A brief introduction to C and Pointers 3. Moving from the Arduino library to AVR: Less Luxury, faster Execution, fewer Resources 4. How to compile with Makefiles? Targets, Rules, and Shortcuts 5. Easy Mistakes in C and how to avoid them 1. Attack Vectors 6. Peripheries: 1. Timers, Counters, and Pulse Width Modulation 2. Interrupts 7. Communication Protocols 1. UART/USART 2. I2C/TWI 3. SPI 4. DHT and 1-Wire 5. USI 6.

    How to mimic other, formerly incompatible, and unsupported Protocols?

    8. Analog-Digital Converter 1. How does it work? 2.

    Measuring the Temperature without external Components

    3.

    Measuring Battery Level with the ADC

    9. Analog Comparator 10. Non-volatile Memories 1. Flash 1. How to use the Flash (Program Memory) for Constants? 2. How to use the Flash _while_ executing a Program? 2. EEPROM 3. Fuses 1. Clock Sources 2. Lock Bits 3. Debugging 11.

    Running the AVR on a Breadboard

    12. Saving power 1. Sleeping 2.

    Dynamic

    Clock Frequency 3. Turning off unnecessary Components 4. Wake-up Sources 13. Debugging (with practical examples) 1. Simulators 2. JTAG 3.

    debugWIRE

    14.

    Bonus Chapter: Parallel Task Execution

    After 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.

    What You Will Learn?

    • Program and Software Optimizations to reduce Power Consumption .
    • Stripping away the Arduino library, how does the ATmega work under the Hood? .
    • All peripherals: Timers, Watchdog, Reset, Brown-Out, Clock Manipulation registers, ADC, Temperatur Sensor (built in), etc. .
    • Effective Computing for Embedded Systems and the Arduino Platform .
    • Pointers to Registers in C: An easy guide, on how to access Registers. Make your code efficient. .
    • Steps in the GNU Compiler Chain: The journey from the Source Code to the Executable .
    • Ease the Compilation Process: What are Makefiles and how to use them? .
    • Communciation Protocols (TWI/I2C, SPI U(S)ART, debugWIRE, Bit Banging) of Embedded Systems: How does the MCU communicate and how to configure it? .
    • How to debug the AVR using debugWIRE? (How to read the Register Contents, step through the Program?) .
    • What is the purpose of the Boot Loader? How to programming the AVR using without it? (through ISP) .
    • Protect your Intellectual Property (IP): Fuses and Locks of the AVR .
    • Develop proficiency in your embedded development skills and confidently take the next steps. .
    • The documentation is thick, but not scary. Learn how to get the information that you need. Show moreShow less.