Hands-on Embedded Systems, ARM Cortex Tutorials - ADCs
3.8 (6 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
98 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Hands-on Embedded Systems, ARM Cortex Tutorials - ADCs to your Wishlist.

Add to Wishlist

Hands-on Embedded Systems, ARM Cortex Tutorials - ADCs

3 Hands-on projects to get you up to speed on embedded systems programming for ARM Cortex MCUs, with a focus on ADCs
3.8 (6 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
98 students enrolled
Created by Akshay Gill
Last updated 11/2016
Current price: $10 Original price: $55 Discount: 82% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 1 hour on-demand video
  • 6 Articles
  • 6 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion
What Will I Learn?
  • Program ADCs on ARM Cortex
  • Understand and configure various timing requirements of an ADC
  • Handle ADC triggers and interrupts
  • Clock management
  • How to read digital codes and find their corresponding analog value
  • How to read chip temperature using ADCs
  • Understand the core concepts of analog to digital converters
  • Use ASF (Atmel Studio Framework) to write embedded code for ARM Cortex microcontrollers
  • Directly write to registers to program ARM Cortex peripherals
  • Understanding embedded systems
View Curriculum
  • Curiosity about embedded systems programming is all that is needed for this course
  • We will be using SAM4s Xplained Pro development board, it is helpful but not necessary for students to purchase it

We will start by getting you set up with Atmel Studio and the SAM4s Xplained Pro (Cortex M4) environment and take you through step by step tutorials on how to read analog voltages and temperature sensors using the ADC peripherals. We will achieve this together by first understanding the ADC theory, then using Atmel Studio framework and then diving deep into direct register control to configure the ADC. At the end of the course, you will learn key things to consider when programming your application to receive an analog input, and how to implement this in the ARM Cortex world. 

This course content was generated from scratch in a way to get the point across to you, in the most efficient, exciting and engaging way!

ADC - Analog to Digital Converter

Who is the target audience?
  • Beginners to embedded programming, with basic understanding of code
  • Intermediate embedded programmers
  • Students wanting to explore embedded programming
  • ARM Cortex enthusiasts
  • Atmel SAM4s enthusiasts
Students Who Viewed This Course Also Viewed
Curriculum For This Course
25 Lectures
Getting Started
5 Lectures 11:01

Lets get you setup with the environment in which we will be programming. This is Atmel Studio. I have included the download link with this lecture. If you follow the link, it will take you to Atmel's website and if you scroll down to the bottom, you can find the suitable download for your computer. Note that there is a 32 bit version and a 64 bit version. You should install the one that is compatible with your computer. 

The second step is to buy the SAM4s Xplained Pro development board. I have included links for two sellers that you can buy the board from directly. This is optional, but it would be helpful for you to follow along by writing your own code and running it on your board. 

Don't forget to get a micro usb cable as well, if you don't have one already!

Before we get started

In this lecture, you will power up the board, connect the debug USB cable to the board and load up a hello world project which turns the on board LED on when switch 0 on the board is pressed.

Preview 03:15

In this video you will learn the theory for analog to digital converters using the block diagram of the SAM4s ADC peripheral.

ADC Theory

A few questions on things we covered in Lecture 4 about ADC Theory

ADC Theory Quiz
3 questions

This is a simulation to show the importance of sample and hold circuits used in many ADCs on the market.

Sample and Hold Circuit Simulation

Quick recap of the ADC theory we learned in this section

ADC Theory Quiz 2
2 questions
Project 1 - ADC using Atmel Studio Framework
6 Lectures 27:57

Introduces you to the first of 3 projects that we will be working on.

Introduction to the first project

ADCs - Common points of error quiz
1 question

Atmel Studio Framework (ASF) Setup

ASF Quiz
1 question

Attached document is a quick start guide provided by Atmel to use its ASF framework to get started with ADCs. There are certain inconsistencies and errors in this document, like the naming of the ADC handler function. But the following video will take you through the correct way of configuring and programming the ADC.

Writing the ADC setup function

Quick recap of what we learned in the ADC init function

ADC setup Quiz
2 questions

Writing the ADC setup function - part 2

ADC timing quick recap

ADC setup Quiz
1 question

Writing the ADC setup function - part 3

ADC Timing Configuration Quiz
3 questions

Writing the Interrupt Handler and Running the Code

Triggers and Interrupt Handler Quiz
2 questions
Project 2 - ADC using direct register access
4 Lectures 21:23

In project 2 we will be reading an analog signal of 1 volts on ADC 5, but we will configure the ADC by writing directly to the registers. In this video you will learn to program the ADC control register.

Programming the ADC Control Register

In this video you will learn how to program the ADC Mode Register. This is where most of the ADC timing specifications will be programmed.

Programming the ADC Mode Register

ADC Mode Register Quiz
2 questions

In this lesson you will learn how to program the ADC Channel Enable register and ADC Interrupt Enable register.

Preview 05:25

Compiling and running the code!

ADC Registers Quiz
3 questions
Project 3 - Temperature Sensing using ADCs
4 Lectures 12:13

Introduces you to the third project in this course in which you will learn how to program the on board temperature sensor of the SAM4s ARM Cortex M4 microcontroller.

Preview 00:42

Configuring the ADC to read the on-board temperature sensor

Temperature sensing quiz
3 questions

In this lesson you will learn how to measure and interpret the temperature sensor reading at room temperature

Measuring room temperature

In this lesson, we heat up the board using a heat gun and test the temperature sensor that you have programmed in the previous lessons!

Heat up the board and test the temperature sensor!
Homework Project 4 - Temperature Sensing Using Register Access
0 Lectures 00:00
This is a homework project for you will learn how to get the configure, enable and read the on board temperature sensor by directly writing to registers.
Temperature Sensing Using Register Access
1 question

2 questions
Closing Notes
1 Lecture 00:33
Congratulations and thank you!
Reference Material
5 Lectures 00:35
SAM4s Xplained Pro Datasheet

SAM4s Datasheet

Useful Excerpts from the Datasheet

Excel spreadsheet to convert digital codes to voltage and temperature

Source Code
About the Instructor
Akshay Gill
3.8 Average rating
6 Reviews
98 Students
1 Course

Akshay has 7 years of experience in firmware programming. He currently writes firmware for battery electronics that are designed for electric cars. 

His educational background is in Electrical and Computer Engineering. During his masters career, he worked on an educational startup called Makermax, to teach young makers about electronics and firmware through hands on projects. 

Akshay is a firm believer in learning by doing and encourages all his students to do so - Knowledge is not just learned, but also retained through hands-on projects.

In his spare time, he composes music, plays guitar, tutors high school students in math, physics, and loves to go for long hikes in the mountains.