Project Ideas

Here are some projects ideas. Feel free to propose you own project or one that's 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.

Bluetooth OBDII transmitter

Add a bluetooth radio and a ODB-II interface (serial) to a ZNEO 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). Helpful information:

Potential tutorials:

  • Bluetooth
  • OBDII
  • Controller Area Networks

NanoVM Port

Port the NanoVM to the Zilog 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 ZNEO.

Possible tutorials:

  • Embedded JVM
  • Porting C code lessons learned.

RTOS

Write a small operating system that manages multiple tasks.

SNAP/X10

Implement SNAP over X10 Powerline interface. Connect 2 ZNEO 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.

Possible tutorials:

  • Power line communication in general
  • Power line interfaces, SNAP.

Basic Interpreter

Port one of the many available BASIC interpreters to the ZNEO 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.

Possible tutorial topics:

  • BASIC
  • interpreters
  • SD card interfacing
  • FAT16 file format.

Voice Recorder

Record and playback 1-bit audio on the ZNEO. 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).

Potential tutorials:

  • How 1-bit audio works
  • Audio data in general (PCM).

Bluetooth Cell Phone link

Establish a BlueTooth link between a ZNEO 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 ZNEO LED display and by requesting data from the ZNEO (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.

Lots of potential for a tutorial here:

  • Bluetooth
  • J2ME
  • Embedded C programming for a Cellphone.

IR Remote

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 ZNEO 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.

Possible tutorial topics:

  • IR remote signaling.
  • Techniques for capturing unknown signals and decoding timing information.

Text-To-Speech

Build a text-to-speech terminal using a ZNEO 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 simple 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

Possible tutorial topics:

  • Speech generation techniques
  • SpeakJet operation.

Data Logger

Record data from some sensors (temperaure and pressure) and save to an SD card.  USe a code libryary for reading/writing to the SD card (FAT16/32). Pissibly add a display. If you want to get fancy, seperate the sensors and the memory card on to 2 Z16 development kits and link them with a low frequency FM transceiver pair.

MP3 Player

Build an simple MP3 Player. Use a commercial MP3 decoder chip (see SparkFun). Add an SDcard for MP3 sorage.

Weather Station

Capture data from some weather sensors (temperaure and pressure) . Display it on a LCD dispaly.