Introduction to Programming 2 w/ Embedded Lab

The laboratory component of the EECS162 course explores the boundary between hardware and software in EECS. This unique lab allows students to build real systems, that are usable immediately. It combines hardware and coding.


Hardware Used

Software Used

Useful Tutorials

Important Documents

AT90USB1287 Datasheet


Lab Manual

Lab 1 - Installing Tool Chains

This lab covers the basics of getting the 'software tool' chain setup on a computer. Once the tool chain is in place, a simple Java program is written and submitted.

Lab 2 - Debugging and Serial Interfaces

In this lab, you will be enabling a ‘serial debugging terminal’ that you will be using in all later labs. To enable the serial port (USART1) on the AT90USB chip on the Wunderboard, you will need to read and understand the datasheet section about the USART.

Lab 3 - Serial and Timers: Datalogging

This 2 week lab will have you creating a program that can take acceleration measurements and transmit them to a PC using serial.

Lab 4 - Data Logging and Timer Interrupts

Using interrupts allows for microprocessors and microcontrollers to handle events as they happen without wasting time always 'looking' for them (polling). In this lab we will be revising lab 3 to use interrupts for the timer.

Lab 5 - Simple C++ Terminal

In this two week lab, you will create a simple C++ based serial terminal that allows you to talk to your Wunderboard. Your C++ program must be robust and catch errors. You will need to setup the C++ serial classes for your operating systems and create a number to ASCII conversion system on the Wunderboard. You will be using the basic 'stream' functionality of C++.

Final Project

The final project for the course is decided on by you the student. You can work in groups of two if you would like, but if you have a group of two, two Wunderboard are required. All projects must also involve a Java based PC application. Below is a list of some interesting projects, but don’t feel limited by this list.

  • Security System
  • Beat Box
  • Remote Controlled TekBot
  • Autonomous TekBot
  • Persistence of vision display for bicycle with Java download tool
  • Sophisticated Data Logger