Instructions for working on the lab
Keil uVision download and setup version 5 (do not install version 4.7) 
How to install EE319K/EE445L/EE345M software on a Macintosh
How to install LaunchPad drivers for the TM4C123:
1) The is the official Texas Instruments web site where you can download the drivers, and is Stellaris Driver Installation Guide (Rev. C) on how to download windows drivers for the TM4C123
2) Plug TM4C123 LaunchPad board into PC (debug port) and turn on power
3) Open device manager in Windows, and for each TI driver (twice)
    a) right click the missing driver (yellow triangle)
    b) update driver, browse to spot where you just downloaded and install, Windows 7 details
4) Keil will need an extra install to be able to program the TM4C123
-- go to
-- click on install MDK_Stellaris_ICDI_AddOn.exe
-- Run this installer
-- Withing Keil, execute Project->Options for Target. In the Debug tab, on upper right side, select Stellaris ICDI to debug the real TM4C123
Windows 8 and 10 are similar to Windows 7. Windows 8 and 10 no longer need driver signature turned off. See download page for installing the EE319K version of TExaS.
We recommend you do not create new projects, Rather take an existing project and duplicate the folder. The change the old project/software as needed.  
How to reflash your chip (do this if you can no longer program the TM4C123  
Directions on how to port one uVision project into another

Labs and their Descriptions  - Introduction (Read First

You can find the Lab grading sheets in this folder: GradingSheets (Note that the TAs will print them, this is just for your reference)






None, do not go to lab.



Tutorial during lab session (bring your laptops to Lab for a hands-on tutorial)


Lab 1

Digital lock, I/O, parallel port, direction register and logic function, written in assembly (simulated, each student does Lab 1 themselves


 Lab 2

Temperature sensor data analysis - Mean, Range, Monotonicity, written in C (each student does Lab 2 themselves)


Lab 3

Breathing LED - LED and switch interface, circuit measurements, schematics, written in assembly (board, groups of two)


Lab 4  Debugging techniques, one switch, one LED, written in assembly (simulated and board, groups of two) Canceled spring 2021


No Lab

Exam 1 (Friday 3/5)


Lab 5

Traffic Light, FSMs, written in C (simulated and board, groups of two)

3/15-20 Spring Break


Lab 6

Digital Piano using a 4-bit DAC, written in C (simulated and board, groups of two)


Lab 7

LCD device driver, decimal fixed-point output, local variables, written in assembly (simulated and board, groups of two)


No Lab

Exam 2 (Friday 4/9)


Lab 8

Real-time position monitor, ADC, interrupts, LCD, mixture of assembly and C (simulated and board, groups of two)


Lab 9

Distributed DAS, serial port interrupts, FIFO queue, mixture of assembly and C (simulated and board, groups of two)



 No lab  (TAs help with Lab10 and Final)


Lab 10

In class, Game design competition, written in C (simulated and board, groups of two); EE319K/EE312 students will write the game in C++

You must add your proposal to this  Google Doc

Link to download





List of components in the baggy each EE319K student receives



Soldering guide (safety and tips)



Calculate the accuracy of the Lab 8 distance measurements

Lab 10 video from Fall 2012
YouTube video of superfinals
Lab10: WC.m 

Use BmpConvert16.exe to get pixel data from a bmp file
Proposal Sample: SuperBreakout.doc


YouTube video;

Matlab/Ocatve script


To learn more about Game Engine design look at Chapter 15 of the E-book 

Matlab/Octave script to convert wav files into C declaration with n-bit sound. To run the WC script you will need Matlab or a free version of Matlab called Octave. The function WavConv expects a filename and a precision (see the file for instructions on how to use). Here is a document that walks through how to incorporate sampled sound in your Lab10: Sampled Sound for Lab10

Sample proposal to use a guide to writing your own proposal.

Lab10Files is a directory that has some graphics and sounds used in SpaceInvaders and Connect4

This web page made by Jonathan Valvano, Go to Home