Our project was designed for our EECE 276 - Embedded Systems class as undergraduates at Vanderbilt University. The project was developed in C running on an ATMEGA 1280 AVR 8-bit microcontroller. Our application code runs on top of uCOS/II, which provides the RT scheduling primitives that we utilize for scheduling the different tasks in the system. The dataflow diagram (listed on the project page and found in the project files) shows how the data is retrieved from the sensors, handed over to the uCOS/II messageboxes, interpreted by parsing tasks, and then finally converted and transmitted for display on the LCD.
The LCD is a modified Nokia 3310 LCD which has wires glued onto the ITO traces on the glass of the screen. The screen pixels when active are visible (opaque) to the user and are invisible (transparent) to the user when inactive. This functionality was accomplished by removing the backlight and polarizers from the LCD, and adding our own polarizer. As such, the ambient/environmental light around the user acts as the backlight for the screen while the single polarizer partially polarizes some of the background light to make the active pixels opaque enough to be visible.