The objective of this course is for the student to acquire an understanding of embedded systems architectures for the purpose of creating prototypes or products for a variety of applications. We will examine the salient issues in the decision making process, including tradeoffs between hardware and software implementations, processor and operating system selection, and IP creation or acquisition. Projects will involve the latest software development tools and hardware platforms to help develop a broad perspective of the capabilities of various embedded system solutions. Students have found this course material to be good preparation for job interviews, receiving offers for internships and jobs from Apple, Intel, Renesas, National Instruments, Magic Leap and other employers.
PLEASE NOTE: All content on the page subject to change until 15 September 2025
To apply, click on the appropriate link here and scroll down: Apply Now Certificate , Apply Now MS Degree
Graduate Students with Questions - please e-mail Adam Sadoff (Adam.Sadoff@Colorado.EDU) for enrollment questions.
3 Credit Hours, takes approximately 10-12 hours/week including lectures.
Lectures: MWF, 12:20 - 1:10 PM, ECCR 1B51 in person. Videos of the lectures will be posted and available on demand to enrolled students.
Projects: Requires checkout or purchase of dev kits*.
Prerequisites: Knowledge of assembly and C Programming, Digital Logic Design, and basic computer architecture. Students should have a first course in each of these subjects. The corresponding CU-Boulder courses are ECEN 2120/2350, ECEN 3100/3350, and ECEN 1030/1310/CSCI 1300. In particular, ability to perform tasks like write a string copy function in C and design sequential circuits using Karnaugh maps or other methods is needed.
Course Materials: Course materials include textbooks, papers, lecture slides, project guides, and other online materials.
Required textbook:
Embedded Systems: A Contemporary Design Tool, 2nd Edition, by James K. Peckol, ISBN: 978-1119457503. There is an ebook available at a discount for our class from the publisher (Wiley).
What Every Engineer Should Know about Developing Real-Time Embedded Products by Kim R. Fowler. The electronic version is available for free through the CU Library.
PC Requirements: a PC running either Windows 10 or 11 or recent Linux OS, like RHEL 6.5 or greater or Mac OS X 10.14, at least 1 USB-A port (see USB connector info here), 1+ GHz CPU, 4 GB memory, 15 GB of free disk space.
Required development boards*:
1. ST Nucleo-F401RE board. $13.83 from Digi-key. An ARM University program kit, see http://www.arm.com/support/university/educators/embedded/index.php. Description here: http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1847/PF260000?icmp=nucleo-ipf_pron_pr-nucleo_feb2014&sc=nucleoF401RE-pr
2. Raspberry Pi 4 Model B ($45.00 from Digi-key) or BeagleBone Black. See https://www.raspberrypi.com/products/raspberry-pi-4-model-b/ and https://www.beagleboard.org/boards/beaglebone-black . Only this specific model of the Raspberry Pi will work with the operating systems we use.
Required for Distance/Remote students: A PC with a microphone and web camera; reliable internet connection (minimum 5 megabits per second download speed).
This course will be administered on Canvas
*Kits will be provided to campus students in Boulder and shipped to U.S.-based distance students only (i.e. Professional Certificate students and distance degree students).
Office hours: MW, 2:00-3:00 pm and TTH 4:00-5:00 Pm in ECOT 340 or on Zoom
TA Contact Information:
Damini Gowda <Damini.Gowda@colorado.edu>
Aysvarya Gopinath <Aysvarya.Gopinath@colorado.edu>
This course leverages the main-stream electronic system design platforms, including ARM embedded platforms from Broadcom, ST, and Texas Instruments using RTX, QNX and Linux operating systems. This course assumes knowledge of assembly and C Programming, Digital Logic Design, and basic computer architecture.
Holistic software and hardware engineering of embedded systems
Mainstream embedded processors, processor architectures and related design issues
Embedded system hardware design and programming
Embedded software architecture and development
Implementation of leading RTOS & OS options
System engineering, software-hardware integration, testing and troubleshooting
System Design Tools like Matlab/Simulink for algorithm development
Firmware, middleware and device drivers
Common protocols & devices: USB, SPI, Ethernet, PCIe, etc.
System on Modules (SOMs) and Buy vs. Build
Application of embedded systems in case studies
Project 1: Construct a solution for a low-level application using both bare-metal and a light weight RTOS operating system, developed under both resident and cloud IDEs.
Project 2: Compare an existing ARM/QNX implementation to ARM/Linux by constructing a working VoIP telephone system
For detailed information, see the Syllabus at TBD
Course materials include textbooks, papers, lecture slides, project guides, and other online materials.
Textbooks (CU bookstore)
Embedded Systems: A Contemporary Design Tool, 2nd Edition, by James K. Peckol, ISBN: 978-1119457503 . The is an ebook available at a discount for our class from the publisher (Wiley).
What Every Engineer Should Know about Developing Real-Time Embedded Products by Kim R. Fowler
Course website
Course lecture slides posted weekly on Canvas at TBD
Course labs and project material posted weekly on Canvas
Other online materials
The course grade will be based on in-class participation, homework assignments, quizzes, course projects, and 3 exams. The grade proportions are as follows:
Homework and Class Participation 20%
Course projects 30%
Quizzes 10%
Final and Mid-term Exams 40%
A complete description of the honor code can be found here .
To summarize: "Violations of the Honor Code are acts of academic dishonesty and include but are not limited to plagiarism, cheating, fabrication, aid of academic dishonesty, lying to course instructors, lying to representatives of the Honor Code, bribery or threats pertaining to academic matters, or an attempt to do any of the aforementioned violations."