Some projects ideas. Feel free to propose you own project or one thats based on one of these with changes. The advantage of choosing one of these is that I can loan you the hardware for most of them.
Add a bluetooth radio and a ODB-II interface (serial) to a Z8 developers kit. Transmit some interesting ODB codes to your cell phone (you will need to write a simple J2ME application to receive and display the information in your cell phone. Optionally use JSR-256 if your phone supports that). Helpful information:
NanoVM (http://www.harbaum.org/till/nanovm/) is a little Java VM that runs on an AVR microcontroller (like the Z8 but different). The VM is written in C (no assembly language). The NanoVM has some tools written in Java to manipulate the Java class files and also build the VM.
Get an AVR development kit (< $50), the necessary tools (free compiler) and demonstrate NanoVM working, then add some native methods to access some sort of added hardware like a sensor and an LED.
I have an AVR developers mini-board and programming cable that I can loan for the duration of this project if you choose the AVR option. This is the board: http://www.sparkfun.com/commerce/product_info.php?products_id=29 and there is a version of GCC for the AVR that you will need to get, learn and use, and you will need to get a software programmer (there are several free ones depending on the OS you use).
Port the NanoVM to the Zilog Z8F, Z16F (ZNEO) or Renesas M16C. Add some native methods to access some of the hardware on the development board (such as scrolling LED text) and one added hardware device (light sensor, temperature senor, or something). The hard part here is figuring out the NanoVM build tools (in java) and hacking at them so that they work with the Z8.
Implement SNAP over X10 Powerline interface. Connect 2 Z8 boards, each to a power line interface (http://www.x10.com/automation/x10_tw523.htm). Implement the SNAP protocol (http://www.hth.com/snap/). Write a program so that pressing a button on one board will request a sensor reading from the other and display it on the requesting board (using the power line as a network).
I can loan 2 Power line interfaces for this project for the duration of the project.
Port on of the many available BASIC interpreters to the Z8 or Renesas boards (or implement your own). Enhance the BASIC interpreter with some modifications (peek, poke, I2C, AnalogIn, LedText, SerialIO). Also add an SDIO card with FAT16 and read BASIC progrems from the SD card and run them.
Record and playback 1-bit audio on the Z8. Write your program so that you can record multiple small recordings and so that the recordings are stored in flash and you can find them after a power cycle.
Here is a web page describing 1-bit audio
http://centauri.ezy.net.au/~fastvid/picsound.htm but its painfully slow. Here is the Google cache (without images) http://209.85.165.104/search?q=cache:RB8tY3ixmKYJ:centauri.ezy.net.au/~f... and the Internet wayback machine archive http://web.archive.org/web/20050813024839/http://centauri.ezy.net.au/~fa... which I find works the best.
I will loan a microphone/preamp module and a audio amp module that you will need for the 1-bit audio for the duration of this project (I will also loan you the few components you need for an RC filter if you choose to implement that).
Establish a BlueTooth link between a Z8 development board and a BlueTooth enabled cellphone. Write a complete API for both the cellphone and for the Z8 so that you can easily establish a connection and send data/commands between the two. Demonstrate this by sending text from the Cellphone to the Z8 LED display and by requesting data from the Z8 (temperature?) and displaying this on the Cellphone.
You can get a BlueTooth module from SparkFun Electronics http://www.sparkfun.com/commerce/product_info.php?products_id=582 (or other places).
You will need a BlueTooth enabled Cellphone and some way of programming that cellphone in either C or Java. If Java then the phone must support the full JSR-82 (the Bluetooth API, not all Bluetooth capable cell phones do). I think Java is the easiest but you may already be familiar with C and have a development environment for your phone.
I have a box of about 30 remote controls, most of them work. For this project you will build an IR remote control tester and identification program. You program will need to capture the IR remote signal and determine the type of remote control signaling used and then decode the remote command (which button was pressed).
If you use the Z8 developers board, you will need to interface an LCD module to display the output. If you use the Renesas developers board then you will need to add in IR port to capture the remote control signals.
Build a text-to-speech terminal using a Z8 or Renesas development board, a keyboard, and a SpeakJet chip ( http://www.acroname.com/robotics/parts/R225-SPEAKJET.html ). You should add an LCD display to the Z8 board. As you type text on the keyboard it will be displayed on the LCD and allow for imple edits. When the ENTER key is pressed the system will output spoken text. Here is an example of such a device: http://www.affordaspeech.com/KN200.htm
Evlautate a Sunspot kit for suitability for use as the development platform for future Embedded Systems classes. Propose something interesting to do with a Sun Spot kit. http://www.sunspotworld.com/ Think fast as you need to allow time for the university to order it. Your project should a number of features of the Sunspot module. Your report should include an evaluation of the module as a future platform for this classes labs.
Evaluate the AVR32 ATNGW100 platform for suitability for use as the development platform for future Embedded Systems classes. http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4102 Propose something interesting to do with the AVR32 kit. Think fast as you need to allow time for the university to order it. Your project should a number of features of the processor and development biard. Your report should include an evaluation of the module as a future platform for this classes labs. Additional information on the board: http://rocky.digikey.com/scripts/ProductInfo.dll?Site=US&V=313&M=ATNGW10...