CS 122A Laboratory Assignments (Intel Galileo Version)

Denmark                             Denmark

CS 122A - Intermediate Embedded and Real-Time Systems.

CS 122A is a ten-week long upper-division course that builds on CS 122A, emphasizing issues relevant to real-time systems programming and advanced peripherals. The course includes 3 hours of lecture and 6 hours of laboratory per week. The laboratory assignments were originally designed to use ATMEGA microcontrollers. With financial support provided by Intel, we have redesigned the laboratory portion of the course to use the Galileo microcontroller board featuring the IntelĀ® Quark SoC X1000 Application Processor. As part of the Intel University program, we are publicly releasing the Galileo-based laboratory assignments for use by the wider academic community. To reduce academic dishonesty, we are releasing only the laboratory project descriptions and demonstration videos that we have produced. We can and will provide source code to instructors and teaching assistants; please contact Dr. Brisk via email if you wish to obtain the source code to these projects.

The first laboratory assignment below is the task scheduler, and the second is port manipulation. After that, the laboratory assignments can be introduced in pretty much any order (the one exception is the LED Matrix Lab, which should be completed before attempting the Joystick Control Lab), as the focus of each is a new peripheral, rather than a core concept in embedded systems. Similar to CS/EE 120B, the course includes a substantial (4-5 week) custom laboratory project that students propose. Each assignment posted here includes a PDF description and a YouTube video illustrating correct operation of the different sub-problems.

Parts List

Task Scheduling


Port Manipulation


Bluetooth (requires an Android Phone to communicate with the Galileo)


External Registers


LED Matrix


Joystick Control (using the LED matrix)


Stepper Motor



Andrew Nava-Juarez ported the laboratory exercises from the ATMEGA microcontrollers to the Intel Galileo platform and created each of the above videos shown above.

More Information

General Campus Information

University of California, Riverside
900 University Ave.
Riverside, CA 92521
Tel: (951) 827-1012

Career OpportunitiesUCR Libraries
Campus StatusDirections to UCR

College Information

Bourns College of Engineering
Bourns Hall

Tel: (951) 827-5190
Fax: (951) 827-3188
E-mail: systems@cs.ucr.edu

Related Links