Free Course Image Advanced Arduino Programming

Free online courseAdvanced Arduino Programming

Duration of the online course: 5 hours and 41 minutes

New course

Master robotics with the Advanced Arduino Programming course. Learn register-level programming, GPIO setup, PWM, I2C, and more for innovative Arduino projects.

In this free course, learn about

  • Course Overview and Development Environment
  • ATmega328 Pinout and Basic GPIO
  • Seven Segment and Character LCD Interfaces
  • Digital Inputs, Buttons, and Relays
  • Interrupts and Timer Fundamentals
  • Advanced Timer Modes and Input Capture
  • PWM Generation and ADC Basics
  • UART, Bluetooth, and I2C Communication

Course Description

Dive deep into the technical realms of robotics with the Advanced Arduino Programming course. Designed for enthusiasts and professionals alike, this comprehensive program offers a meticulously structured curriculum that guides you through the complexities of register-level programming in Arduino. Explore the features and capabilities of the Atmega328 microcontroller, central to the Arduino Uno, and unravel its intricacies over various thematic modules.

Begin your journey with an introduction to the essential hardware and software, gaining insights into the Arduino IDE's dynamic environment. Master the fundamentals of pin layout and port structure for precise control and learn to configure GPIO with practical examples. This course offers a rich hands-on experience, from interfacing LEDs and 7-segment displays to understanding advanced hardware like 16x2 LCDs.

Expand your understanding with a deep dive into input device logic and explore the seamless integration of push buttons and relays. Delve into the world of interrupts, mastering both external and timer interrupt programming to elevate your projects to new heights. The course equips you with skills to harness Timer Output Compare and Input Capture modes, setting a foundation for sophisticated task execution.

PWM and ADC modules come to life, empowering you to control LED brightness and build dimmers with confidence. Communications are made easy with explanations and applications of UART and I2C protocols. Unlock connectivity by integrating an HC-05 Bluetooth Module, or dive into memory interfacing with expertise gleaned from the I2C EEPROM modules.

This course offers not just theoretical understanding but also hands-on engagement with real-world applications. From hardware setup to advanced programming techniques, the Advanced Arduino Programming course ensures you have the knowledge and skills to innovate and implement sophisticated Arduino projects. Embark on this educational journey to become proficient in robotics and expand your programming arsenal.

Course content

  • Video class: Curriculum for Register Level Programming Course in Arduino 04m
  • Exercise: Select the best interface to drive a 2004 LCD with minimal Arduino pins
  • Video class: Introduction to Atemga328 (Arduino Uno) | Register Level Programming in Arduino | T - 1 02m
  • Exercise: Reliable Serial debugging alongside Wi-Fi communication on Arduino
  • Video class: Features of Atmega328 Microcontroller (Arduino Uno) | Register Level Programming in Arduino T - 2 02m
  • Exercise: Which memory on ATmega328 defines the maximum sketch size you can upload
  • Video class: Hardware and Software used in this Register Level Programming Course in Arduino T - 3 02m
  • Exercise: Which ATmega328P pin maps to Arduino Uno digital 13 for the onboard LED
  • Video class: Hardware Components Required for Register Level Programming Course in Arduino | T - 4 02m
  • Exercise: Ensuring reliable push button input for a Bluetooth-triggered action on Arduino
  • Video class: Downloading and Installing Arduino IDE to PC 01m
  • Exercise: Setting up the Arduino IDE for register-level development
  • Video class: Introduction to Arduino IDE | Register Level Programming in Arduino | T - 5 01m
  • Exercise: Non-blocking control of LCD, RFID, and 90° servo on Arduino
  • Video class: Pin Layout and Port Structure of ATMEGA328 (Arduino Uno) | Register Programming in Ardiuno | T - 6 03m
  • Exercise: On ATmega328-based boards, which statement correctly describes Port B availability when the external crystal is used?
  • Video class: GPIO Configuration Part - 1 for Arduino | Register Level Programming in Arduino | T - 7 16m
  • Exercise: Direct register setup for input with pull-up on ATmega328P
  • Video class: GPIO Configuration Part - 2 for Arduino | Register Level Programming in Arduino | T - 8 08m
  • Exercise: Configuring PB08 via direct registers Which bitmask enables it as output when writing to DIRSET on a SAMD based Arduino
  • Video class: Interfacing of LED with Arduino | Register Level Programming in Arduino T - 9 05m
  • Exercise: Which approach best toggles a digital output on pin 5 without blocking other logic in an advanced Arduino sketch
  • Video class: 7 Segment Display Working Explained 10m
  • Video class: Interfacing of 7 Segment Display with Arduino | Register Level Programming in Arduino T - 11 09m
  • Exercise: Best method to multiplex four 7‑segment displays in an advanced Arduino project while keeping loop responsive
  • Video class: 16x2 LCD Working principle explained 05m
  • Video class: Interfacing of 16x2 LCD with Arduino | Register Level Programming in Arduino T - 13 13m
  • Exercise: Strobing the LCD Enable pin correctly in 4-bit mode
  • Video class: LCD Working Explained in 4 Bit Mode | 16x2 LCD Functions for any Microcontroller 17m
  • Exercise: Which Arduino serial function should you use to send raw binary bytes to an RS232 UART device?
  • Video class: Input devices working logics explained | Pull-up and Pull-down 04m
  • Video class: Interfacing of Push Buttons with Arduino | Register Level Programming in Arduino T - 15 06m
  • Exercise: Reading a pull-down button on PD2 to drive the LED on PB5 at register level
  • Video class: Relay working principle explained 13m
  • Exercise: Controlling a 110 V AC lamp with Arduino
  • Video class: Interfacing of Relay with Arduino | Register Level Programming in Arduino T - 40 06m
  • Exercise: Using registers to read a button on PD7 and drive a relay on PB0
  • Video class: Interrupt Method Programming Working Explained in Arduino | Register Programming in Arduino | T - 16 06m
  • Exercise: Best method to handle a mechanical button in an advanced Arduino sketch to prevent false triggers
  • Video class: External Interrupt Programming in Arduino | Register Level Programming in Arduino | T - 17 13m
  • Exercise: Configure INT0 for rising-edge interrupt via registers on Arduino Uno
  • Video class: TIMER INTERRUPT MODE IN AVR MICROCONTROLLER WORKING EXPLAINED 04m
  • Exercise: Compute overflow time for an 8 bit Arduino timer in Normal mode at 16 MHz with prescaler 64
  • Video class: Timer Interrupt Register Configuration in Arduino | Register Programming in Arduino | T - 19 10m
  • Exercise: Configure Timer1 prescaler to 1024 on ATmega328
  • Video class: Timer Interrupt Programming in Arduino | Register Level Programming in Arduino | T - 20 04m
  • Exercise: Best practice for button IF logic and timing-friendly debounce on Arduino
  • Video class: TIMER OUTPUT COMPARE IN AVR MICROCONTROLLER WORKING EXPLAINED 03m
  • Exercise: Output Compare Mode Period Calculation
  • Video class: Timer Output Compare Mode Register Configuration in Arduino | Register Programming in Arduino | T 22 10m
  • Exercise: Timer1 CTC: OCR1A for 1 kHz on OC1A with toggle, 16 MHz clock, prescaler 8
  • Video class: Timer Output Compare Programming in Arduino | Register Level Programming in Arduino | T - 23 04m
  • Exercise: Timer1 CTC: OCR1A for 1 kHz Interrupt (16 MHz, prescaler 8)
  • Video class: TIMER INPUT CAPTURE MODE WORKING EXPLAINED 04m
  • Exercise: Understanding Timer Input Capture in Arduino
  • Video class: Timer Input Capture Register Configuration in Arduino | Register Programming in Arduino | T - 25 09m
  • Exercise: Timer1 Input Capture which register stores the latched value
  • Video class: Timer Input Capture Programming in Arduino | Register Level Programming in Arduino | T - 26 07m
  • Exercise: Configure Timer1 Input Capture and Serial Output
  • Video class: What is Pulse Width Modulation? How to generate PWM signal ? Pulse Width Modulation Explained 06m
  • Video class: PWM Register Configuration in Arduino | Register level Programming in Arduino | T - 28 11m
  • Exercise: On a 16 MHz Arduino, Timer1 is configured to Fast PWM with ICR1 = 4999 as TOP and prescaler = 64. What is the resulting PWM frequency?
  • Video class: Fading LED Brightness using PWM in Arduino | Register Level Programming in Arduino | T - 29 06m
  • Exercise: Mapping ADC to PWM: What PWM value corresponds to the maximum 10-bit analogRead (0–1023) when mapped to 8-bit (0–255)?
  • Video class: ADC module working principle explained 12m
  • Exercise: What is the voltage resolution per step of a 10-bit ADC on a 5 V Arduino?
  • Video class: ADC Register Configuration in Arduino | Register Level Programming in Arduino | T - 31 10m
  • Exercise: When ADLAR is cleared (0) in ADMUX on ATmega328, how is the 10-bit ADC result aligned and stored?
  • Video class: Building LED Dimmer using ADC in Arduino | Register Level Programming in Arduino | T - 32 07m
  • Exercise: Stable ADC sampling with a single timer channel on AVR based Arduino
  • Video class: Universal asynchronous receiver-transmitter 05m
  • Video class: Register Configuration for UART Communication in Arduino | Register Programming in Arduino | T-34 14m
  • Exercise: Configure AVR UART for 9600 baud TX on Arduino Uno 16 MHz
  • Video class: Interfacing of HC-05 Bluetooth Module with Arduino | Register Level Programming in Arduino T - 35 07m
  • Exercise: Best interface to control Arduino from a mobile app in an offline, short-range setup
  • Video class: I2C communication protocol working explained 12m
  • Video class: Register Configuration for I2C in Arduino PART -1 | Register Programming in Arduino | T-37 08m
  • Exercise: In Arduino UART communication to a Bluetooth module, how is the start bit generated for each frame?
  • Video class: Register Configuration for I2C in Arduino PART -2 | Register Programming in Arduino | T-38 07m
  • Exercise: Choose the best function signature to compute force from an ADC reading with decimal precision on Arduino
  • Video class: Interfacing of 24C04 I2C EEPROM with Arduino | Register Level Programming in Arduino | T - 39 12m
  • Exercise: Which function initializes I2C communication on Arduino during configuration?

This free course includes:

5 hours and 41 minutes of online video course

Digital certificate of course completion (Free)

Exercises to train your knowledge

100% free, from content to certificate

Ready to get started?Download the app and get started today.

Install the app now

to access the course
Icon representing technology and business courses

Over 5,000 free courses

Programming, English, Digital Marketing and much more! Learn whatever you want, for free.

Calendar icon with target representing study planning

Study plan with AI

Our app's Artificial Intelligence can create a study schedule for the course you choose.

Professional icon representing career and business

From zero to professional success

Improve your resume with our free Certificate and then use our Artificial Intelligence to find your dream job.

You can also use the QR Code or the links below.

QR Code - Download Cursa - Online Courses

More free courses at Robotics

Free Ebook + Audiobooks! Learn by listening or reading!

Download the App now to have access to + 3300 free courses, exercises, certificates and lots of content without paying anything!

  • 100% free online courses from start to finish

    Thousands of online courses in video, ebooks and audiobooks.

  • More than 48 thousand free exercises

    To test your knowledge during online courses

  • Valid free Digital Certificate with QR Code

    Generated directly from your cell phone's photo gallery and sent to your email

Cursa app on the ebook screen, the video course screen and the course exercises screen, plus the course completion certificate

+ 9 million
students

Free and Valid
Certificate

60 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video and ebooks