Vision Enhanced Car

For my senior design project at Penn State, I worked with 3 other individuals to create the Vision Enhanced Car. This project spanned 2 semesters, going from conception to realization. This page briefly describes what the Vision Enhanced Car is all about. For more information, including detailed technical description, the entire design process, and results, consult the files listed at the bottom of the page.

The Vision Enhanced Car (VEC) is a system designed to improve the safety of a vehicle by alerting drivers to any objects near the vehicle and problems detected through the On Board Diagnostics, level II (OBD II) system, using both visible and audible alerts. The VEC uses ultrasonic distance sensors, a Personal Digital Assistant (PDA), and a speech synthesis system to detect and alert drivers to objects around the vehicle. The VEC also alerts the driver to unsafe conditions in the vehicle itself whenever the vehicle is in use. To do this, the VEC accesses the OBD II system of the vehicle, allowing the user easily identify and correct error conditions in the vehicle, and thus keep the vehicle safe to drive.

The VEC, when broken down into a high level concept, is comprised of essentially 4 different components: the PDA, the distance sensors, the Winbond text-to-speech chip, and the OBD II interface circuit. These 4 components all operate and communicate via a Rabbit 3000 microcontroller.


One of my primary tasks for this project was to create a program that ran on Palm OS and interfaced between the PDA and the Rabbit 3000 MCU. This program was to display information received through the OBD II interface of the vehicle, such as speed and Diagnostic Trouble Codes (DTCs), as well as visually indicate warnings detected via the distance sensors. The program includes a user interface (I also designed the graphics), event handling, and serial port communication code. All code for the PDA was developed in Codewarrior for the Palm OS, which is C/C++. A large portion of the code can be downloaded here (in PDF format):

Additional tasks included writing software for the Rabbit 3000 MCU to communicate with the PDA (embedded C), fabricating a custom IDE interface plug to connect the Rabbit 3000 MCU to a breadboard, testing and debugging various system components, and integration, testing, and debugging of the VEC system.

Two different PCBs were fabricated in-house for the VEC system:
The VEC was tested in a garage, parking lots, and highways. The sensors correctly reported any objects that were within range, and the PDA and Winbond output visual and audible warnings when necessary. The ELM322 accurately reported the vehicle’s speed, the number of Diagnostic Trouble Codes present, the Vehicle Identification Number, and any actual trouble codes. The speed and trouble codes were displayed on the PDA.

The VEC system was an exercise in design planning, communication, and system integration. Our end-product displays a conceptual model of a system that could be turned into a marketable product with just a few improvements.

Much more information about the VEC:

Videos of the VEC in action:

All source material for © Roger Grayson. Contents may not be cited or reproduced, in whole or in part, without prior written consent of the author. Powered by PHP! Valid XHTML 1.0 Transitional Valid CSS!