ECE/CS 152: Introduction to Programming 2 w/ Embedded Lab

ECE152 (combined with CS151) covers the entry level CS course requirements for the CS and ECE degree programs at Oregon State University. Alternatively students may take the CS161/162 sequence to meet this requirement.
ECE/CS 151 focuses on programming from the point of view of an embedded programmer working on low resource systems. This approach builds from the ‘bottom up’ rather than working from the ‘top down’ where large code bases can be used to do advanced functions quickly. The initial CS151 course covers the basics of C and its use on a light weight embedded platform. CS152 continues expanding experience in C and adds an object oriented language element to introduce higher level concepts. The motivation for the object orientated programing is based on usability rather than learning object orientated concepts for their own sake.

Wunderboard
The Wunderboard Board

Hardware Used

Software Used

Useful Tutorials

Important Documents

AT90USB647 Datasheet

Appendix

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 - Simple Java Terminal

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

Lab 5 - 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