EECS 162: 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.
- Putty (SSH Client)
- Notepad++ (Text Editor)
- Notepad++ Portable (Text Editor for machines where you do do not have install rights)
- Winavr (Embedded C Compiler)
- WunderBoard Alternate Drivers
- Atmel F.L.I.P. Program
Important DocumentsAT90USB1287 Datasheet
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.
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.
This 2 week lab will have you creating a program that can take acceleration measurements and transmit them to a PC using serial.
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.
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++.
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