Main Content

Embedded Controllers Using C and Arduino / 2E - Laboratory Manual

This manual is intended for use in an introductory microprocessor or embedded controller course and is appropriate for two and four year electrical engineering technology curriculums. It utilizes the C programming language and the inexpensive, open-source Arduino hardware platform, specifically, the Arduino Uno which uses an Atmel ATmega 328P processor. The manual contains sufficient exercises for a typical 15 week course using a two to three hour practicum period. Some exercises may require more than one period (in particular, the arbitrary waveform generator). The first portion deals strictly with an introduction to the C language using standard desktop tools. Any reasonable compiler will do, and many are available free of charge. The second portion (roughly 2/3rds of the total) addresses the Arduino hardware. The Arduino system was chosen because the software is free, open-source, and multi-platform (Windows, Mac and Linux). There are several choices for hardware, most of which are quite inexpensive and open source. Although this manual focuses on the Uno board, other boards may be used with some modifications to the lab text. Interface components are fairly common such as LEDs and seven segment displays, switches, capacitors, diodes, low power resistors and switching transistors such as the 2N3904 or 2N2222. One unique element is an FSR (force sensing resistor), although the circuit may be implemented with an ordinary momentary contact pushbutton switch. Another item of interest is a small DC hobby motor or boxer fan (and optionally, the ZVN4206A power FET).
Each exercise starts with an overview of the topics to be discussed. This usually includes some code snippets for illustration. A programming application of interest is then developed with a pseudo-code. The pseudo-code is then broken into appropriate C language code chunks. Where appropriate, hardware interface issues are discussed. Finally, the entire package is fit together.
There is a companion OER (Open Educational Resource) text to accompany this lab manual. There is also an OER text on Operational Amplifiers and Linear Integrated Circuits, and another covering Semiconductor Devices. Other lab manuals in this series include DC and AC Electrical Circuits, Computer Programming with Python, Operational Amplifiers and Linear Integrated Circuits, and Semiconductor Devices. Workbooks are available for DC and AC Electrical Circuits. Please check my web sites for the latest versions.”

Link to article

Related Content