Palm + eBlocks
The goal of this project is to allow Palm PDAs to interact with eBlocks through the Palm's serial port. Currently we have two applications working: A yes/no outputter and a logger. The yes/no outputter basically turns a PDA into a button eBlock, allowing the user to output yes or no. These were designed with the Palm V in mind, but in theory our apps can run on any PDA that has PalmOS 3.0 or above.
The logger eBlock is much more interesting. When running, the logger sniffs the serial port of the Palm for eBlock input, looking for changes from "YES" to "NO". The date and time of each status change is recorded and written to a file on the Palm. Later, the user can check the log to determine at what times the eBlock status changed.
Suppose a civil engineer wanted to look at traffic patterns on a sidewalk to determine at what times it was heavily used. Special systems already exist to perform this task, but with eBlocks and a PDA the job can be done for much cheaper - connect a motion sensor to a wireless transmitter, and on the other end have a wireless reciever connected to a Palm running the logger.
eBlocks use the UART of the PIC16F628, which uses TTL logic to communicate. However, the serial port on the Palm is RS232. To communicate between eBlocks and the Palm, we had to do TTL to RS232 (and RS232 to TTL) conversion using a MAX232 IC. The MAX232 is contained in the black box shown in the middle first picture. It contains an output for the palm, one eBlock input, and one eBlock output. When a TTL signal is recieved from an eBlock, it is converted to RS232 and sent to the Palm. Likewise, when an RS232 signal is recieved from the Palm, it is converted to TTL and sent to the eBlock.