Learn how to use Arduino hardware and software in this full course for beginners. Arduino is an easy-to-use, open-source electronics platform. Arduino boards are able to read inputs – light on a sensor, a finger on a button, or a Twitter message – and turn it into an output – activating a motor, turning on an LED, publishing something online. You can tell your board what to do by sending a set of instructions to the microcontroller on the board.
No hardware is required for to follow along with this course!
✏️ Course developed by Ashish Bansal.
📸 Ashish on Instagram: https://www.instagram.com/ashish_things/
Tinker with the circuits used in the course :
🔗 custom blink function: https://www.tinkercad.com/things/ib4c08HDTAe
🔗 digitalRead & digitalWrite : https://www.tinkercad.com/things/bvTdKaqDvQc
🔗 analogRead : https://www.tinkercad.com/things/6kEEQR3GZC1
🔗 analogWrite : https://www.tinkercad.com/things/hDwWdu92kws
⭐️Course Contents ⭐️
Section 1: Objective of the course
(0:00) Course Introduction
(01:21) Section 2: Foundation of Electronics
(01:36) Electricity
(02:10) Static Electricity
(03:37) Current Electricity
(04:12) Voltage
(06:09) Current
(08:45) Resistance
(10:05) Ohm’s Law
(11:55) Ohm’s Law Example
(13:46) Resistances in Series and Parallel
(26:03) Resistance Color Coding
(28:26) Section 3: Intro to Arduino Board
(28:46) What is Microcontroller and Microprocessor
(31:16) What category Arduino falls into?
(31:33) Different Types of Arduino Boards
(32:03) About Arduino
(33:04) Parts of Arduino Uno
(35:52) Technical Specifications of Arduino Uno
Section 4: Intro to Arduino IDE
(38:58) What is IDE?
(40:14) Downloading and Installing the official IDE
(41:51) Preparing your computer
(43:08) Testing the Arduino.
(44:22) What if you don’t have an Arduino board?
(46:34) Section 5: Before we move ahead
(47:04) What is breadboard?
(49:16) How to make connections in breadboard?
(1:00:10) Some safety instructions and Do’s and Don’ts
(1:01:53) Input & Output
(1:08:47) Analog & Digital
(1:14:04) Bit & Byte
(1:16:26) Section 6: Arduino Programming
(1:16:46) Introduction
(1:17:41) The First Step into Programming
(1:19:37) Bare minimum structure of an Arduino Program
(1:20:21) Comments
(1:21:37) White Spaces and Case Sensitivity
(1:24:06) pinMode
(1:26:44) digitalWrite and delay
(1:29:51) Camel casing
Section 6.1 Introduction to Variables and Data Types
(1:30:51) What are variables and data types
(1:31:31) Int data type
(1:35:11) Arithmetic operators
(1:41:51) Incrementing and Decrementing our variables
(1:44:14) Float data type
(1:46:48) Bool/Boolean data type
(1:49:24) Byte data type
(1:50:27) Char data type
(1:52:46) Conclusion
Section 6.2 Variable Scope and Qualifiers
(1:53:19) What is Scope? Global and Local Variables
(1:57:59) What are Qualifiers, starting with const qualifier
(1:59:51) Alternative to const qualifier: #define
(2:01:55) Static Qualifier
Section 6.2 Comparison and Logical Operators
(2:04:25) What are comparison operators?
(2:08:58) What are Logical Operators?
(2:13:16) Section 6.3 Control Structures
(2:14:21) if statement
(2:20:47) else statement
(2:24:24) A joke 😛
(2:25:10) if – else Simulation
(2:29:27) Introduction to loop control structures
(2:30:52) For loop
(2:41:02) While loop
(2:45:49) do…while loop
(2:50:16) break
(2:52:24) continue
(2:55:05) return
(2:56:41) switch..case
Section 6.4 Remaining data types
(3:01:30) Arrays
(3:09:34) Strings
Section 6.5 Functions
(3:15:14) What are functions?
(3:19:03) Create your own functions
Section 6.6 Arduino Built-in Functions and related concepts
(3:35:20) digitalRead & digitalWrite
(3:41:49) analogRead and Analog to Digital Converter (ADC)
(3:47:50) analogWrite and Pulse Width Modulation (PWM)
Section 6.7 Libraries
(3:56:25) What are Libraries?
(3:59:22) How to add Libraries in Arduino IDE
(4:02:30) What next?
🎉 Thanks to our Champion and Sponsor supporters:
👾 Wong Voon jinq
👾 hexploitation
👾 Katia Moran
👾 BlckPhantom
👾 Nick Raker
👾 Otis Morgan
👾 DeezMaster
👾 Treehouse
—
Learn to code for free and get a developer job: https://www.freecodecamp.org
Read hundreds of articles on programming: https://freecodecamp.org/news
And subscribe for new videos on technology every day: https://youtube.com/subscription_center?add_user=freecodecamp
source
46 replies on “Arduino Course for Beginners – Open-Source Electronics Platform”
I hope that this course helps people who are just starting their journey with Arduino or have some brilliant project ideas in their mind but are clueless about how to program an Arduino. This course will begin with the basic electronics concepts and then gradually teach about Arduino Programming. Arduino's programming language is derived from C++, so this course will also cover essential C++ concepts.
During my time working with Arduino, I have seen many people building great projects and product prototypes using this piece of hardware. Artists, designers, and even chefs who had absolutely no idea about electronics, sensors, and programming coupled their creativity with electronics and came up with fantastic work.
So this course is also an attempt to encourage people, regardless of their background, to start building stuff that they have in their mind without thinking that they don't know enough to begin.
Certainly, this course is not the end to the world of Arduino. For making some projects, one may need to know advanced concepts such as EEPROM, interrupts, communication buses like SPI, I2C, etc. But before moving to that, one needs to familiarize themselves with the basics.
I look forward to seeing the projects people come up with after finishing this course.
Thanks a lot 💯
thanks bro
Sir how making car Crank and cam signal generator please explain video
https://youtu.be/ypXqqdPrYQQ
This should be taught in school, not on higher education. It is the best way to learn coding and electronics.
I cannot thank you enough Boss.
I can only say for now, REMAIN BLESSED!
Very well done .
Great teaching
thanks buddy
Worst explanation ever.. Learnt only 10% rest is useless. Only programming.. Programming.. Without any Arduino programme
This was really very helpful sir. I must appreciate it
Can you tell me which software you are using at 50:22, when you explain the breadboard or share the link so that I can download it
Hello all,
I am working on a project but I am not able to download AFmotor library if u could tell how to install the library it would be good thanks.
Thank you for this video. Please do I need to have the an Arduino board connected to my PC to be able to view the output of my serial monitor?
Thanks for this free course
Hello! Is this C language or C++ language? Or is a similar programming language? I already know C++ and I would like to program arduinos and I don't know what programming language should I learn…
The programming section are likely to revise c language as it is the fundamental language for arduino… Happy to see this..
Can i get certificate from this ?
I cannot see the screen values
Sir thank you for making this video. You’re amazing 🤩
Arduino NANO
I have learned whole Arduino code for beginners in this video i love it.
I have a problem I can not solve:
1. I downloaded the driver and windows is able to recognise my arduino
2. I have an arduino clone
3. The bootloader is working because when I press the reset button the L led blinks 3 times
4. I choose the correct board in the arduino ide which is arduino uno
5. I choose the correct com port
6. I have done the loop back test and it has failed for some reason.
And after all of this it still can not upload to my arduino for some reason I always get this error code:
Arduino: 1.8.19 (Windows 10), Board: "Arduino Uno"
Sketch uses 924 bytes (2%) of program storage space. Maximum is 32256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x44
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x44
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x44
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x44
avrdude: stk500_recv(): programmer is not responding
Problem uploading to board. See https://support.arduino.cc/hc/en-us/sections/360003198300 for suggestions.
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x44
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x44
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x44
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x44
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x44
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x44
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Hey guys i have reached 1:50:19 and topic ie byte data type ..i have one doubt what if put digit more than 255 in mybytevariable
Your teaching method is very clear. Thank you so much
Homework answer: I think c will run
Lol the programmers used bool value as static idk how they are able to program robots withouting knowing variables and if statement . lol its a good one
wow 4 hour free course, ty
Thank you for making these videos.
I have a doubt, can we control a 6v motor with arduino?
Please upload advance Arduino course
One of the best explained youtube video.
Thanks for that ❤️🙏
Good job man especially when you considered all possible operating programs people have and explaining every single one of them
Loops. At 2:40:20, why is "int j = 0" re-initializing back to 0 when there is "j++". Shouldn't the value be incremented like the parent integer "i"?
edit: I think I get it. It's because the nested loop ends but the parent is still active. So when it goes back to parent loop it re-initializes "j" ONLY. So "i" is the only loop that maintains its increment until "i <= 5", every time loop with "j" ends it has to re-initialize value to "0".
We have to make a complete Bangla video about Sir Arduino
We have to make a complete Hindi video about Sir Arduino
Is laptop is needed for learning this course plesa reply
please post more about the features in Arduino menu, what are those stuffs in Arduino menu.
41:47
My man just explained electronic in depth
ITS THE INDIAN GUY FROM YOUTUBE!!!!!!!!
When I am going to run a programme, it shows "Board at null is not available" and "Serial port not selected"😓😓😓😓 What should I do? Plzz help..
Thank you so much you are the best man
Fantastic video, very helpful. Thanks for posting!
I don't have an arduino uno
but I have a nano board does the codes still work for both Uno and Nano?
JUST AWESOME https://youtu.be/jQy7b4csefM