Instructor Info
Daniel Kohn
Email:
dekohn@memphis.edu
Office ET218
Phone: 678-4515
Office Hours
Course Info
Course Policies
GradeWatch Access
Assignment Files
Submit Assignments
Graded Work (Feedback)
Required Text
The AVR Microcontroller and Embedded Systems Using Assembly and C: Using Arduino Uno and Atmel Studio by Sarmad Naimi and Muhammad Ali Mazidi 2nd Ed available via
Amazon. Please Buy the book...do NOT Rent.
Author's Website
http://nicerland.com/
Required Software
Atmel Studio 7
Arduino IDE (for avrdude utility)
Covid-19
Due to the uncertainty of Covid-19, it is possible we will be using different course delivery modes depending on current conditions. The calendar (below) will be updated for "Delivery Mode". Since this can change based on university covid conditions, faculty exposure / need to quarantine and other factors, it is best to check this website each day before class. If it is NOT posted for the day, assume the delivery method is the same as the previous class.
If we meet
IN PERSON, students are expected to follow the current Covid-19 Policy (
Linked Here) including, but not limited to: wearing masks, sanitizing your work area and maintaining social distancing.
If the class is a
HYBRID, make sure you know what day(s) you attend class and what days you are online or doing assignments. If you are considered High Risk and do not wish to come on campus, see
THIS WEBSITE on how to apply for a course modification.
If we are
ONLINE, classes will be held synchronously at the scheduled time. Please make sure you are familiar with
My Zoom Policies.
Also note:
- Classes will be recorded for future reference and will be posting to OneDrive for you to view anytime.
- Usually there will be "class time" to start on assignments and to ask questions before the end of class.
- If you have never used ZOOM before, you might want to check out this Video Tutorial and the log in instructions.
- If using a mic, make sure you know how to mute/unmute (to ask questions). If you do not have a mic, you can ask questions via the Chat function.
- I would prefer, if you have a camera, that you turn it ON. Non-verbal communication gives me feedback on your understanding of the lecture material and shows me you are paying attention.
- Ensure you know how to share your screen so I can see the issues you are having when asking questions on assignments.

Passcode 930853
As per the course catalog, you are required to have a computer (
see this page). It will be impossible for you to be successfull in either Hybrid or On Line classes without one! You will also need a good internet connection for ZOOM conferencing software (please avoid using cell phones or tablets for zoom).
You will need to install the required software on your computer. (downloading and installing these programs will be discussed in class).
Course Outline:
Reference Links:
ATmega328P Website
ATmega328P / Arduino pinout
C Quick Reference
NASA C Styleguide
AVR-C Video Series
Using Named Bits in ATEML Studio
IO Issue - AVR Freaks
Timer Calculator
Atmega328P names in Atmel Studio
Info needed for Labs
Determine Com Port
With Arduino plugged in to computer's USB port
Win 10 - Search for "Powershell" and open
Type - "Get-WMIObject Win32_SerialPort" (no quotes)
check results for Arduino Uno (Com __ )
Atmel Studio
Setup Strings:
C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe
-C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -p atmega328p -c arduino -P COM7 -b 115200 -U flash:w:"$(ProjectDir)Debug\$(TargetName).hex":i"
To get printf to work with floating point values:
Project |
nameofproject Properties | Toolchain : AVR/GNU Linker | General | Check "Use vprintf library(-Wl,-u,vfprintf)"
Project |
nameofproject Properties | Toolchain : AVR/GNU Linker | Miscellaneous | Other Linker Flags put into textbox | "-lprintf_flt" (leave off quotes).