SUNY Community

Embedded Controllers using C and Arduino + Lab Manual


Affiliation: Mohawk Valley Community College

  • Available on Amazon

This text introduces embedded controller systems using the inexpensive and widely available Arduino hardware platform and the C programming language. It is intended for students in Electrical Engineering and Electrical Engineering Technology programs at the Associate and Baccalaureate levels. Unlike many Arduino texts, this text does not rely solely on the Arduino libraries. Rather, it “gets under the hood” and directly accesses I/O ports, pins and DDR, as would be expected in a traditional college level microprocessor/microcontroller course.

The companion laboratory manual introduces embedded controller systems using the Arduino hardware platform and the C programming language. Exercises include usage of seven-segment displays, switches and analog input devices; a reaction timer; PWM; an event counter and an arbitrary waveform generator.


pdf icon Embedded Controllers using C and Arduino 


Embedded Controllers using C and Arduino 


Laboratory Manual: 

Laboratory Manual PDF

Laboratory Manual ODT


Using this text? Fill out this short questionnaire to let us know about you and how you are using this text!


1. Course Introduction
2. C Memory Organization
3. C Language Basics
4. C Language Basics II
5. C Storage Types and Scope
6. C Arrays and Strings
7. C Conditionals and Looping
8. C Pointers
9. C Look-Up Tables
10. C Structures
11. C Linked Lists*
12. C Memory*
13. C File I/O*
14. C Command Line Arguments*
15. Embedded Programming
16. Hardware Architecture
17. AVR ATmega 328P Overview**
18. Bits & Pieces: includes and defines
19. Bits & Pieces: Digital Output Circuitry
20. Bits & Pieces: Digital Input Circuitry
21. Bits & Pieces: pinMode
22. Bits & Pieces: digitalWrite
23. Bits & Pieces: delay
24. Bits & Pieces: digitalRead
25. Bits & Pieces: Analog Input Circuitry
26. Bits & Pieces: analogRead
27. Bits & Pieces: analogWrite
28. Bits & Pieces: Timer/Counters
29. Bits & Pieces: Interrupts
* Included for more complete language coverage but seldom used for small to medium scale embedded work.
** Including modest comic relief for film noir buffs.

James Fiore

James Fiore is a professor of Electrical Engineering Technology at Mohawk Valley Community College in Utica, NY. He has over 35 years of teaching and course development experience in ABET accredited electrical engineering technology programs. He is the author of several OER texts and laboratory manuals along with dozens of articles in trade journals and technical magazines covering the areas of electronic design, programming and electronic music production. Professor Fiore is a recipient of the 2015 SUNY Chancellor’s Award for Excellence in Scholarship, the 2014 MVCC Award for Excellence in Scholarship, and the 2013 MVCC Aeries Award for community service. He is an advocate for OER and author/artist rights. Professor Fiore maintains web pages at the MVCC web site that include links to the latest versions of all of his OER titles in both pdf and odt formats at

He also maintains a mirror at his own site