Master bare metal embedded system programming with AVR uC (Udemy.com)
Learn embedded C, assembly & mixed programming, AVR microcontroller internals, GPIO, EEPROM & more
Created by: Arabinda Verma
Last updated February 2019
What you will learn
- AVR Micro-controller architecture & it's working - Instruction execution, pipelining, stack pointer & interrupts
- C, AVR assembly programming & implement mixed language projects
- Arguments and return values passing from a function to another, how memory & CPU registers are allocated during program execution
- How hardware manages program stack and management of local & global variables
- Interrupts, interrupt vector table (IVT) and interrupt service routine (ISR), IVT & ISR programming
- Build environment setup, GNU tools & utilities & build automation using GNU Make
- Setup in-circuit programmer and USB-Serial adapter, flash & configure ATmega328 micro-controller
- GPIO Programming, 4x4 keypad interfacing & driver development
How it compares
Against the other 295 rated Udemy courses in Arduino on CourseDuck:
- Rating4.0 out of 5higher than 11% of them
- Reviews154#154 of 296 by number of reviews
- Length9.7 hourslonger than 75% of them
- Last updatedFebruary 2019earlier than 87% of them
Course Description
>>> Your Search for In-depth Embedded System Programming Course ends here!! <<<
If you want to know how to kick start embedded programming skill and level up your career, read on. Hello, my name is Arabinda Verma and I have spent more than 15 years in research & software development, trained hundreds of graduates in programming and software engineering. When I ask students to tell me what their biggest challenge while learning Embedded Programming is, they all say the same thing: “Fundamentals are not clear.” To really become comfortable with embedded systems, students need guidance, mentorship, and practice. This isn’t always the case in programming schools and universities despite the high investments in time and money that they require.
This made me design this course, which will take you from the basics of embedded training to the advanced microcontroller architectures.
Why this course?
Embedded systems might appear complex to newcomers or even experienced programmers. With a different pedagogic approach, this course will help you become familiar with different aspects of this area, which will prove particularly helpful regardless of your experience in programming.
The course helps you build a sound understanding of C & Assembly programming. It discusses the architecture of the ATMega328 microcontroller and how software and hardware interact. You will gain here foundational knowledge, applied skills, hands-on programming exercises, proper guidance and mentorship.
I strongly believe that even the most complex contexts can be broken down to be assimilated by all students, regardless of their level.
Plus a 30 DAY MONEY BACK GUARANTEE if you're not satisfied for any reason.
What you will gain from this course?
You will rig-up the development board using the basic electronic components like capacitors, resistors, LEDs, microcontroller etc. And interface the development board with PC through USB-serial adapter and in-circuit programming. You shall setup the development environment on PC, configure the microcontroller and flash the bootloader.
You will learn memory management through the C compiler, microcontroller architecture, instruction execution, interrupt handling and cross-language programming. You shall implement programs using the C and Assembly programming languages and implement pre-main functionalities to bring up the development board. These topics not only introduce you to the programming but also prepare you to deal with the ecosystem of programming an embedded system.
What other students are saying about this course?
Lots of students have already taken the right decision by enrolling in the course. Following is what they are saying.
"........ Arabinda Verma has done an excellent job of making the basic of microcontroller for anyone who is struggling in developing embedded concepts. Furthermore, after completing internal's and peripherals very clear through his tutorials. It serves as a good foundation course the course I am more confident in writing my own drivers for the microcontroller. For the best result, I would suggest to purchase any hardware board of AVR architecture and implement the code discussed in the tutorials. I am also looking forward to Arabinda's other tutorial. Happy Learning :)" -Yousuf
"Awesome course for beginners to build foundation of embedded system and C programming. The best part of the course is to build the development board on the breadboard and run/test programs........." - Akash
"Very useful course to learn and understand embedded systems." - Ajaganna
Planned updates to this course
On the demand of our student’s we are continuously bringing updates that could help you more in this topic. Updates to this course are life time free for enrolled students Let’s talk more about this in the discussions section inside this course.
Update 4 (5th, Feb'19): Added EEPROM programming & driver development.
Update 3 (22nd, Jan’19): Added a section for programming challenges solution.
Update 2 (15th, Jan’19): Added section on GPIO
Update 1 (1st, Jan'19): Restructured the course.
My promise!
Now you don’t need to spend hours finding out a right course, instructor, study material for embedded programming. If you are in any way not satisfied, for any reason, you can get a full refund from Udemy within 30 days. The course comes with a ”No questions asked money back guarantee for 30 days". So, there is nothing for you to lose.
Enroll today and jump into the fascinating world of embedded systems to gain top skills and knowledge in this so-promising area of programming.
Instructor Details
- 4.0 Rating
154 Reviews
Arabinda Verma
Arabinda is an Entrepreneur, Educator, Researcher and Software professional. He has Bachelor degree in Electronics and Communication Engineering from National Institute of Technology, Surathkal (NITK), India and Master degree in Electrical Engineering from Advance Institute of Science and Technology (KAIST), South Korea. He has published several patents and papers in conferences of repute.
He has spent more than 15 years in research and software development. He has worked over a decade on Embedded System design and development and steered several embedded software development projects. He has lead the implementation of ITU-T protocols and standards on Embedded devices like multi-functional printers, audio video bridge and mobile devices.
As an educator, Arabinda has trained hundreds of graduates on programming, software engineering, Android, software testing principals and Automation. He has mentored several engineers during stints at companies like Samsung, Amazon etc. He has also contributed and worked closely with start-up. He is an avid learner and loves to teach electronics and software programming to young students.
More Arduino courses
Learn to Build a Computer (PC) in 2026 - all types!
4.9 (245 Reviews)
Provider: Udemy
Time: 6.1h
$74.99
Raspberry Pi For Beginners - 2026 Complete Course
4.8 (3,105 Reviews)
Provider: Udemy
Time: 10.6h
$89.99
Ultimate Guide to Raspberry Pi : Tips, Tricks and Hacks (2023)
4.8 (2,363 Reviews)
Provider: Udemy
Time: 5.2h
$69.99
Mastering Microcontroller: STM32-LTDC, LCD-TFT, LVGL (MCU3) (2026)
4.8 (487 Reviews)
Provider: Udemy
Time: 8.1h
$79.99
Arduino Step by Step: Getting Started (2024)
4.7 (8,714 Reviews)
Provider: Udemy
Time: 21.4h
$159.99
Reviews
By Dao Hai Linh on 12/4/2020
Hello Arabinda Verma, I think this course needs: - More Quizes and an End-course test which will help to prove that learners remember, understand and will be able to use all the knowledges represented in this course. - The programming challenges' solution can only be seen after learners finished these programming challenges on their own. - User can get the Course's Certificate only after the finished all the quizes, programming challenges and the End-course test.
By Prashant Mani Shukla on 8/9/2020
Worst teaching method ever. Neither the electronics,nor the coding part is explained properly. Plus the response from the instructor is also very late. Waste of money and time.
By George Roilos on 5/11/2020
Half of the course is too basic and over-explained and the other half is too difficult without even a minor explanation. Indeed, I agree with others that you feel like the instructor is a robot. Generally, the material covers many aspects of AVR programming and the structure of slides are organised properly. But again, if you mute the audio during the course you'll have the same knowledge as if you have left it on.
By Hussien Saleh on 5/9/2019
one star is too much for it, pretty basic and not detailed explanation. i feel like a robot is speaking. not worth the cash.
By Wahab Sidi on 1/30/2019
This is a very useful course for beginners going into AVR world. I really liked the parts for the embedded C programming which are foundation for the embedded developers.Its a must buy for university students hoping to land a job as embedded developer. Only suggestion i can think for this course is addition of I2C and SPI communication protocol for this controller with interfacing.
By S Yousuf Imam on 1/11/2019
Excellent Work !!! Nowadays almost 80% of the hobbyist use Arduino for their Embedded Applications and projects. The turn around time to put up a project using Arduino is very quick and online availability of libraries makes the work more easier. But the major disadvantage of using Arduino is it spoils the learning curve. If someone wants to switch from Arduino to any other family of controllers , it becomes a nightmare for him/her to proceed further. Arabinda Verma has done an excellent job of making the basic of microcontroller internal's and peripherals very clear through his tutorials. It serves as a good foundation course for anyone who is struggling in developing embedded concepts. Furthermore, after completing the course I am more confident in writing my own drivers for the microcontroller. For the best result, I would suggest to purchase any hardware board of AVR architecture and implement the code discussed in the tutorials. I am also looking forward to Arabinda's other tutorial. Happy Learning :)
By Shailendra Singh on 12/31/2018
This course got me started with embedded C programming which is exactly what I was looking for. If anyone is really interested in building embedded system skills, this is the course you should never miss. The microcontroller architecture is discussed in detail which really helps to visualize how a C program is executed by the hardware. Great content and several projects for hands-on practice. Thanks for setting up direction to explore further.
By Salman momin on 12/27/2018
This Course is well organized and well suited for beginners who want to pursue a career in embedded domain. Each and every topics are covered in detail. This course gives a practical exposure to various embedded terminologies and make your basics strong. Also, the instructor is very friendly and helpful during course. I would highly recommend this course to everyone as it will build a solid foundation in core electronic domain.
By Nalini Kant Verma on 12/25/2018
I learned a lot and really appreciate the time and effort put by the instructor. The course is excellent and the way of explanation is fantastic and easy to understand. It is a great start for beginners who want to get acquainted to processor architecture & C/Assembly programming. The coverage of content is amazing and the programming exercise help in understanding the concepts well. I recommend this course to people who want to kick-start learning embedded system.
By Akash Seth on 12/16/2018
Awesome course for beginners to build foundation of embedded system and C programming. The best part of the course is to build the development board on the breadboard and run/test programs. I stress on learning the fundamentals to gain concrete understanding of how things work. The course has delivered on my expectation. Looking forward to complete it ASAP. Thank you and looking forward to take such course more.
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 80 / 100






