EEL 4914 Senior Design

By Jamie Rose,2014-04-14 06:58
9 views 0
Board design; Level shifting circuits; High level GPS code; GPS tracking code; Keypad and button interface; Wireless interface & wireless update algorithm

    EEL 4914 Senior Design

    Preliminary Design Report

    thFall 2006, September 25

Project Title: GPS Tour Guide

Team Name: Lau-Suárez LLC

    Submitted by:

    Wai Ping Lau


    Julio Suárez



    Table of Contents

    Project assumptions …………………………………………………… 3

    Requirements …………………………………………………………... 4

    Project Plan …………………………………………………………….. 5

    Issues ……………………………………………………………………. 10


    Project Assumptions

Background Information

     Campus tours are usually conducted by a tour guide that takes a group of people around different sites on campus. If someone is interested in a taking a tour of a school

    campus, they must sign up for a tour that starts at a specific time. Therefore people who

    want a tour of a college campus must work their schedules around the tour start and end

    times. Visitors need an option that will not conflict with their schedules. This option will

    allow the visitor to take a campus tour at any time.

Project Definition

     Our project is to create an electronic tour guide system. The system will consist of

    handheld units for visitors to take along with them. These handheld units will be able to

    connect via an RF link to a base station to receive periodic updates*. The project will

    include GPS tracking, text messages via on an LCD, and speech feedback. The following

    will be developed in order to meet these goals:

    1) A handheld tour guide unit

    2) A base station unit that will update handheld units*

Scope of Project

     The scope of the project is to give people another option for taking campus tours.

    It is not being designed as a replacement for human tour guides. The system will be

    developed with off the shelf parts such as GPS modules, text to speech modules, and

    wireless modules. A custom designed PCB will be designed in order to integrate these

    different systems together using a microcontroller.

Major Objectives

    1) Build a device that is relatively easy to carry for an extended amount of time,

    and not be extremely heavy

    2) Build a base station that can establish a wireless link between itself and other

    tour guide units*

    3) Use off the shelf parts

    4) Build one tour guide unit, and one base station*


Product Expectations

    1) Real time GPS tracking of tour guide units

    2) When user enters a location of significant, give the user the option to read and

    hear different kinds of information (general information, historical

    information, technical data) about the location

    3) The tour guide unit can be updated by the base station*

* The base station updating system is on the project wish list. This system will be

    implemented after the tour guide unit is completed, and if time permits.



    ? Reasonable battery life

    ? Find key locations with error of no more than 100 feet

    ? Reasonably durable enclosure for handheld system

    ? Communicate wirelessly with base station of up to 50 feet*


    ? Give the user the option of turning on/off audio information in addition to text


    ? Notify user when near a key location

    ? Notify user if the handheld system has lost satellite signal

    ? Soft reset for user

* The base station updating system is on the project wish list. This system will be

    implemented after the tour guide unit is completed, and if time permits.


    Project Plan

Major hardware components to be used

    ? EM-406 GPS unit (

    ? MiRF v2 - nRF24L01 Transceiver (

    ? Emic Text-to-Speech Module (

    ? Optrex C-51847 LCD (

    ? Atmel ATmega128 microcontroller

Other hardware components

    ? Custom designed PCB using EagleCAD, manufactured by Advanced Circuits


    ? Keypads, and buttons (user interface components)

    ? MOSFET for GPS level shifting circuit (N-Channel BS170)

    ? TI CD4504BM level shifter

    ? BJTs for driving status LEDs (NPN 2N222)

    ? Voltage regulators LM1084

    ? Diode-OR (Schottky Diode - STPS20150C)

    ? Various capacitors, resistors and inductors (ADC filter inductor)

Overview of hardware:

The following is a block diagram of the GPS tour guide unit:

    Text to Speech moduleText LCD

    GPSMCUInput buttons

    Status LEDSRF link*


GPS module:

    The GPS module will communicate with the Atmel ATmega128 microcontroller

    via a UART serial connection. The GPS module outputs standard messages which are

    defined in the GPS module’s datasheet. The incoming information is in ASCII text. In

    software, the data needed will be taken from the ASCII messages. There is no need to

    send commands to the GPS module, therefore making the GPS module a read only device.

Text to speech module:

    The text to speech module will also communicate with the Atmel ATmega128

    microcontroller via a UART serial connection. The device receives ASCII strings and

    converts them into speech. The text to speech device will return acknowledgements in

    the form of an ASCII “OK” to indicate the text to speech conversions have been

    successfully completed.


    The text LCD is a standard Hitachi interface LCD that operates on a parallel

    interface. 8-bit mode will be used with the LCD. The LCD will be used to display text

    information to the user.

Button interface:

    Input buttons will be implemented so that the user can input commands to the unit.

    Commands such as the kind of information desired about a location, and the ability to

    turn on and off audio information will be implemented.

Wireless Link:

    The RF link interface to the microcontroller will operate on the SPI (Serial

    Peripheral Interface) bus. The RF TX and RX chips will be the slave devices, while the

    microcontroller is the master device that initiates the communication over the bus. The

    wireless module was chosen because the nRF24L01 chip has commands that allow

    reading of the chips internal registers. This feature will make debugging easier.

Status LEDs:

    The status LEDs will indicate how many satellites are connected to the GPS

    module. The six LEDs will be driven by BJTs. The BJTs will be operating as switches.

    The number of LEDs that are illuminated will indicate the number of satellites that are

    locked to the GPS module.

LEDs off ……………………………………. No satellites locked

    1 LED on ……………………………………. 1 or 2 satellites locked (not good enough)

    2 LEDs on …………………………………… 3 or 4 satellites locked


    3 LEDs on …………………………………… 5 or 6 satellites locked 4 LEDs on …………………………………… 7 or 8 satellites locked 5 LEDs on …………………………………… 9 or 10 satellites locked 6 LEDs on …………………………………….11 or 12 satellites locked (max locks is 12)

     Text LCDThe following is a block diagram of the base station:

    MCUInput buttons

    RF link*

The Base station uses the same text LCD, and the same RF interface as tour guide unit.

Overview of software:

    ? Programming will be done in C using the GNU GCC compiler

    ? The programming will be module based

    ? The microcontroller will be programmed via ISP (In System Programmer)

    The software package that will be used is the WinAVR, a GNU tool chain for

    windows. It provides a programming environment, and microcontroller programming

    capabilities. This software package is also free.

    The software will be module based. This means that each aspect of the project will be

    able to work independently from the other. For example, the LCD code does not depend

    on the GPS code to work properly. Just as GPS code will not depend on the LCD code to

    operate properly. This will allow for easier debugging of modules, and easier integration

    of modules.

Preliminary Software Implementation plan for hardware modules:

GPS module:

     The UART will be interrupt based. That is every time a character is received by

    the UART, an interrupt will be triggered. This interrupt will check for the beginning of a

    standard message from the GPS unit, and will proceed to place the message in a character

    string. Higher levels of software will make a copy of the string and proceed to extract


    required data from the string for processing. The higher level software will also convert ASCII numerical strings into integer variables for easier processing. When the higher level of software makes a copy of the string, interrupt service will have to be temporarily halted in order to prevent data corruption. All required data from the GPS will then be placed in specific variables for higher levels of software to use. This way, higher level software does not interfere with lower level software operation (which will be transparent to high level programmers).

Text to speech module:

     The UART will not be interrupt driven for the text to speech module. Most of the operations will be transmit operations. A function will be created so that higher levels of software can send messages for speech conversion to the device. The lower level interface software will also take care of acknowledgements received from the text to speech module (which will be transparent to high level programmers).


     The LCD will be programmed in 8-bit mode. The LCD is a standard Hitachi interface LCD. Higher level functions for the LCD will include a set cursor position function, and a clear screen function for higher levels of programming. Also, stdout (the standard output device in C programming) will be redefined to be the LCD so that the printf() function can be used to send characters to the LCD display. This will make it easier to create the user interface. For example, printf (“Hello World”); would be used to

    write “Hello World” to the LCD.

Button interface:

     The buttons will be implemented using a simple button scanning routine. In essence the software will be polling the buttons. A function for button scanning will be created for higher level software.

Wireless Link:

     The wireless link software approach is still in development. This aspect of the project will be addressed if the main aspects of the project are completed, and if there is enough time to work on the wireless link. The lower level software will consist of initializing the SPI bus and wireless chips so that data can be sent wirelessly. The higher level software implementation will be determined at a later date (if circumstances permit).

Status LEDs:


     The status LED software will toggle ports high and low to turn the BJTs that drive

    the LEDs on and off. A function will be created to make it easy to control the LEDs from

    high level software.

Assignment of tasks:

    Wai Ping:

    ? User interface code

    ? Low level GPS code

    ? Low level Text to speech code

    ? LCD interface code

    ? Wireless interface & wireless update algorithm

    ? Packaging

    Julio Suarez:

    ? Board design

    ? Level shifting circuits

    ? High level GPS code

    ? GPS tracking code

    ? Keypad and button interface

    ? Wireless interface & wireless update algorithm

    ? Packaging

Priority matrix:

    Priority levels range from 1 (low) to 5 (high)

Task to be completed Priority Level

    User interface Code 5 Low level GPS code 5 GPS tracking code 5 LCD interface code 5 Board design 5 Packaging 5 High Level GPS 4 Level shift circuits 3 Low level Text to speech code 3 Keypad and buttons interface code 2 Wireless Interface 1*

* The wireless interface is a 1 because this aspect of the project is on our wish list


Task Duration Who Time

    Aug Sept Sept Sept Sept Sept Oct Oct Oct

    28th - 1st - 3rd - 10th - 17th - 25th - 1st - 8th - 15th -

     31st 2nd 9th 16th 24th 30th 7th 14th 21st Level shift circuits 1wk Julio Board design 3wk Julio

    Wai LCD interface code 1wk Ping Keypad and buttons

    interface code 1wk Julio

    Wai Low level GPS code 1wk Ping Low level Text to Wai speech code 1wk Ping High Level GPS 2wk Julio

    Wai User interface Code 3wk Ping Packaging 8wk Both GPS tracking code 6wk Julio Wireless Interface 6wk Both Testing 5wk Both


Report this document

For any questions or suggestions please email