You are on page 1of 14

Embedded Software Design

● Write assembly programs to obtain a given functionality

● Identify different hardware components that can be used with PIC


● Be familiar with interfacing techniques

Evaluations are based on following points. Hardware implementation
is not expected.

● System design

 State diagrams

 Flow charts

● Assembly language programs

 Implemented functionalities

 Software simulations (demonstrations)

● Selected hardware components

 Specifications of hardware components

 Justification of selections (why do you select the same

component over others available)

● Estimated budget for the final product

Important dates
Presentations and demonstrations are on 11th and 12th of November
2010. Exact schedule will be given later.

Each group will be given a maximum of 20 minutes.

Presentation should include all the points mentioned under

“Evaluations” except code segments and software simulations. However,
software simulations should be carried out simultaneously with the

Project details
All projects are listed and numbered in the same order as the project
group numbers.

Ex: Group 1 → Project 1

Find the basic requirements here. You are free to make reasonable
assumptions and extend the project scope accordingly. Please highlight
them during your demonstration/presentation.
1. Analog Clock using LEDs
a. Features

i. Use two concentric circles with 60 Dual Color LEDs on the

outer circle and 12 Single Color LEDs in the inner circle.

ii. Outer Circle indicates Seconds and Minutes

iii. Inner Circle indicates Hours

2. Triangular Wave generator using PIC 16F84

a. Features

i. Generate a square pulse train from the microcontroller

ii. Frequency and duty cycle are adjustable

iii. Integrate this pulse train using an op-amp based

integrator circuit and create the triangular wave

3. Number base converter

a. features

i. numbers are given using a keypad

ii. use a suitable method to specify the base

iii. input number and the output number with their

corresponding bases should be displayed on an LCD

iv. bases to be supported are the followings

1. Binary

2. Decimal

3. Octal

4. Hex decimal
4. I2C based text display system
a. A keypad and an array of 15 segment displays are interfaced via I2C
protocol, to MCU

b. Keypad should accommodate all the English letters

c. An enter button is available in keypad to denote the end of the


d. Use indicator LEDs to notify any messages such as “max

length exceeded”, “Enter is not pressed yet”

5. Barrier detection and analysis

a. A device that can detect the width and height of an obstacle in its

b. Use an LCD to display the results

6. Shape recognizing system

a. A shape (a polygon) within a certain range, say for instance
5cmx5cm, in dimensions should be identified

b. The detected shape should be presented in hyper terminal

7. Temperature monitoring device

a. features

i. option for setting the temperature unit (Celsius or Fahrenheit)

ii. Current temperature display in the configured unit

iii. User setting up temperature range as two distinct values for

lower bound and upper bound

iv. Unique alarm signal for temperature dropping below lower


v. Unique alarm signal for temperature raising above the

upper bound
8. Sinusoidal signal analyzer
a. Description
i. In this project students are expected to build a device that
can determine the frequency, amplitude and peak to peak
voltage of an applied sinusoidal signal and display the result
in LCD
b. Features
i. User can select the format of units that he expects the
result to be (kilo hertz, mega hertz etc)
9. Ultrasonic reverse sensor
a. features

i. Should display the distance in cm on an LCD

ii. Should provide a pattern of beeps to indicate the

distance when less than 20, 10 and 5

10. Heat sensitive FAN

a. Speed of the fan increases as temperature increases and vice

b. Use PWM module

c. Display the current temperature and fan speed on LCD

11. Traffic light system for a 'T' Junction

a. Count down timer with display (00 to 99)

b. Pedestrian crossings across two sides

c. Blinking amber light after 11PM and up to 6AM

12. Character case converter
a. features

i. input string is given through the hyper terminal of a PC

ii. for each alphabetic character in the string its case

should be converted such that an upper case letter
becomes a lowercase letter and a lowercase letter
becomes an uppercase letter

iii. it should be transmitted over RS 232 port and the

converted string should be returned to the same
terminal screen in a new line

iv. the max length of the input string is 50

v. non alphabetic characters should not be altered and

they should remain in the out put string as they are

13. Proximity map

a. A device that can monitor the surrounding in 360 degrees and
identify the closest object’s distance in every 5 degrees resolution

b. The observed results should be displayed in hyper terminal

indicating the angle and the distance in a comprehensive

14. Fibonacci sequence generator

a. Features

i. User enter a positive integer(say n) and selects the

forward or backward direction

ii. Fibonacci sequence up to nth term is generated and

displayed on hyper terminal

iii. If the direction is forward, sequence should start from

term 1 and progress upward

iv. Otherwise sequence should start from term n and

progress downward
15. Text based chatting system using 2
PIC16F877 devices
a. Features

i. Chat system using asynchronous serial communication

ii. Max length of a string/sentence is limited to 12


iii. Recent chat history of 5 lines on both sides

iv. Use hyper terminal as the display

16. Implement a symbol(say characters from

A to H) matching game
a. Some symbols are assigned to a 4x4 matrix

b. There are only 8 distinct symbols and therefore always the same
symbols is found in two cells of the matrix

c. This matrix is mapped to 4x4 key pad

d. When a user presses a button, the symbol should be displayed

e. The challenge for the user is to find matching symbols in two

consecutive button presses and score a point

f. The total time to score 8 points is counted and displayed

g. Current time should be displayed for users convenience

h. The system should always memorize the minimum time and the
user’s name and that should be updated as multiple users play the

i. The order of the symbols, arranged in matrix and the set of symbols
used should change for each game.

j. You may use a maximum time period for “game over”

17. Simple number guessing game
a. Description

i. This is a simple game that a user can guess the number that
PIC is thinking about in a pre determined amount of attempts.

b. Features

i. PIC generates a random number in a particular range such as

from 0 to 99.

ii. User can set the number of attempts he need to try to

successfully guess the number

iii. Then PIC prompts the user to enter his guess

iv. If it is correct, a message should be displayed to congratulate


v. Else he can try the next attempt.

vi. This process is repeated until the number of attempts is

expired or user guess is correct.

vii. If user fails all attempts the number PIC thought initially
should be displayed.

18. Integer comparison game

a. Description

i. System generates two integers and these integers can

be negative or positive

ii. Negative numbers are displayed with the absolute

values operator

1. Ex: |-1429|

iii. Player has to say if the first number is greater than, less
than or equal to the second

iv. System records the time from the beginning to the end
of the game

v. Any wrong comment ends the game

vi. Player who correctly mention all the comparison in a

given period of time (say 3 minutes) wins the game
vii. Player who identify maximum number of comparisons in
the given time period holds the record

viii. Record holder’s name and his/her achievement are

displayed whenever a new game is started

19. Digital clock

a. features

i. Time of day

1. 12 hours format

2. 24 hours format

ii. Month and week

iii. Time reset option

iv. Birthday greeting message

v. Alarm function

vi. Stop watch with following features

1. Time display as MM:SS:msmsms

2. Start

3. Pause

4. Resume

5. Stop

6. Lap time for 5 laps

7. Average lap time

20. Simple statistics calculator
a. Features

i. User can enter the number of integer data items

ii. User can then enter the integer data set

iii. Following results are expected as outputs

1. Mode

2. Mean

3. Median

4. Standard deviation

5. Variance

6. Co-efficient of variance

iv. User can select the result he needs

21. Units converter

a. Features

i. Convert quantities from British unit SI units and vice


ii. List of conversions should include length, mass, volume,

area and temperature

iii. User can select the desired conversion

iv. User can enter the quantity

v. Button to give the “convert” command

vi. All information should be displayed on an LCD

22. Multi channel Digital voltmeter for the range 0
a. Features

i. Voltage inputs are given from 5 different inputs

ii. Measured voltage of each channel is displayed on the


iii. Controls for measure and reset functions for each


23. Digital weighing device using PIC16F877

a. Features

i. suggesta method to convert a weight in to a

measurable electrical signal

ii. Display the Weight in grams using LCD

iii. Accuracy should be +/- 10 grams

24. Modeling a rail gate controller

a. Description

i. A rail gate system with three rail tracks should be

modeled with the signal lights and alarms

b. Features

i. Train passing through should be tracked on both sides of

the rail gate area; i.e. the entrance of train to and the
departure of the train from the main road

ii. Gates should be closed when the train approaches

towards and remain closed till it leaves the main road

iii. Alarm should be activated as long as gate is closed with

the proper signal lights
25. Light dimmer for a 10 LED array using PWM
a. Features

i. Study PWM module

ii. The brightness should be controlled using up and down


iii. Current brightness level should be indicated on 7-

segments using a number between 0 and 99.

26. Digital Ohm meter

a. study how an ohm meter measures resistance

b. you may use a set of resistance values in a certain range that

can be measured accurately in your system

c. display the result in LCD with units

27. Create a timed DC motor controller

a. User input the time that motor requires to rotate in minutes

b. Motor is driven that time and stops

c. User can enter a time duration via a keypad

d. System should verify the entered time is valid

e. Motor starts running as soon as time is entered properly

f. An abort button can stop the motor at any time

g. LCD display to prompt the user to enter time

h. Same display should give any error messages if the entered time is
not valid

i. Time left for the motor to run from current time should be displayed
when motor is running
28. ASCII character display using an 8*8 (or more)
LED matrix
a. Features

i. Hex value of the ASCII code will be entered via Key Pad

ii. Correct ASCII character should be displayed on the LED


29. School bell controller

a. This is to control an electronic bell that controls the school
time table

b. Features

i. Separate tones should be used to denote school start

and end time

ii. The end of a period should be denoted accordingly

iii. Interval should be denoted with specific tones

iv. Alert signals should be provided to be used


30. Vehicle speed detector

a. Description

i. Measure a vehicle’s speed using PIC16F84A

b. features

i. Measure without any physical contact with vehicle

ii. Display the measured speed on 3 seven segment displays.

iii. Light up warning lights/activate alarms when the speed

exceeds 70kmph
31. LUX meter using a photo diode as the light
a. features

i. Support the visible light range

ii. Display the intensity of light using Lux as the unit of


32. Digital phone book which can store 10 names

and phone numbers
a. Features

i. Use EEPROM to store data

ii. Add / Modify / Delete Records using a Keypad

iii. Record Search should be using the first letter + arrow


33. Access control system based on USER ID and


a. Features
i. Allow 20 users

ii. Admin can add new users + delete users + reset password

iii. Access Granted and Access Denied Messages should be displayed

iv. Door Open / Close status should be indicated using an LED

v. Use a relay to represent the door control circuit

34. Fan Controlling system using an IR Transmitter

and an IR Receiver
a. Features

i. Implement both transmitter and receiver

ii. Fan should have the start/stop commands and four

speed levels