[an error occurred while processing this directive] ECE 362 Mini-Project Proposal Examples

Mini-Project Proposal Examples

Mini-project proposals should be simple. Just explain what it is you will be building, how you will demonstrate it, and what criteria we (your instructor and your teammates) will use to decide if it is done well.

Generally, a mini-project should involve some kind of interesting interfacing, demonstrate multiple things happening simultaneously (through timer interrupts and DMA), and build on the things you learned in lab.

What happens when a proposal is rejected?

A rejection will usually be accompanied by a list of things to do to make it a good proposal. E.g.,

A good proposal

Internal peripherals: ADC, DAC, SPI, GPIO
External interface types: Analog, GPIO, SPI
Briefly, what are you making and what are you making it out of?
An audio-in, audio-out machine that stores audio on a Microchip
SST25VF016B SPI flash storage chip, and displays selections on the
SOC1602A OLED display.  The display will also be used to display
a continually-updated elapsed time while playing/recording.
The audio file format supported will be exactly mono-channel WAV
file with 16-bit samples and 16000 samples per second.

Briefly, how will you demonstrate it?
It will play a song, and you can sing along with it
and record and mix your voice with it.

Briefly, how will we define the criteria for a successful project?
We will play a song, record from a microphone, mix it, and play back
the combined audio.  Audio output and mixing will be smooth, with
no skips or clicks.

Another good proposal

Internal peripherals: DAC, SPI, GPIO
External interface types: Analog, GPIO, SPI
Briefly, what are you making and what are you making it out of?
A space invaders game.  Graphics will be displayed on the MSP2202
TFT LCD.  The score for the game will also be displayed on the TFT LCD.
The player's ship will be controlled by four buttons to move left/right,
fire, and warp to some other part of the playfield.
Simultaneous background music will be played using a MIDI interpreter.
Sound effects for explosions and other game events will be overlaid on
the music without interruption.

Briefly, how will you demonstrate it?
We will let others play the game to determine that it is a realistic
implementation of the game.  Game play for one round should take only
30 seconds.

Briefly, how will we define the criteria for a successful project?
The game will be playable.  Background music will be smooth, with no
clicks or stutters due to game play.  Overlaid sounds will blend with
the music.

An inadequate proposal

The following proposal would be rejected because it does not describe all details of the project in the document text. Please do not use any URLs. State the component vendors and model numbers so they can be examined in the future. URLs may change or become invalid, but text description will be useful for future semesters.

Internal peripherals: GPIO, DAC, SPI, Timers
External interface types: Analog, SPI
Briefly, what are you making and what are you making it out of?
We're going to use https://do.awesome.stuff.ludicrous.ly/AN23299RX12/
and make it go fast.

Briefly, how will you demonstrate it?
See our five-minute multimedia presentation illustrated by our team
using interpretive dance: https://googledocs.com/what/evar/dance.mkv

Briefly, how will we define the criteria for a successful project?
Trust us.  It's going to be awesome.

An inadequate proposal

The following proposal would be rejected because it is just a derivative of labs 6 and 7. It's too simple.

Internal peripherals: GPIO, Timer, SPI, ADC
External interface types: Analog, GPIO, SPI
Briefly, what are you making and what are you making it out of?
A device where you type in an RGB value, it displays that value on
the SOC1602A OLED, and lights up an RGB LED.  A variable resistor will
be read using the ADC to control a pulse rate for the LED.

Briefly, how will you demonstrate it?
We will type in numbers and watch the LED.

Briefly, how will we define the criteria for a successful project?
Working keypad, LED, LCD display.

A dangerous proposal

The following proposal would be rejected because someone will likely be injured.

Internal peripherals: GPIO, Timer, ADC, SPI
External interface types: Analog, GPIO, PWM, SPI
Briefly, what are you making and what are you making it out of?
A Tesla Coil modulated with PWM that will play music read through
the ADC.

Briefly, how will you demonstrate it?
We will hook up an MP3 player to the ADC and be serenaded by
lightning.

Briefly, how will we define the criteria for a successful project?
You will hear the music clearly.

A proposal without a plan for demonstration

The following proposal would be rejected because there is no explanation of how to show it is fully operational in a 10-minute demo. Anytime a team creates a clock, there is an automatic requirement that it really act like a clock (e.g., accurate timekeeping over a long period of time). There will be a lecture on accurate timekeeping at some point.

Internal peripherals: GPIO, Timers, SPI, PWM
External interface types: Analog, GPIO, PWM, SPI
Briefly, what are you making and what are you making it out of?
We’re making an alarm clock with a keypad to set the alarm time
or clock time

Briefly, how will you demonstrate it?
We’ll set the alarm time and wait for it to happen.

Briefly, how will we define the criteria for a successful project?
The alarm will play at the right time.

A proposal without justification

The following proposal would be rejected because there is no explanation of what peripherals are used, with what devices, or why. Analog is specified as an external interface type, but neither the ADC or DAC is used. SPI, I2C, and the USART are specified as internal peripherals, but none of them are specified as exernal interface types. The goal is a video game, but no indication of what display device will be used, what type of game will be created, or how it will be made. (Your instructor has actually received extremely vague proposals like this.)

Games make good projects, but one of the criteria for success must be that it is a playable game, and it must be playable by your instructor, who is terrible at such things.

Internal peripherals: SPI, Timers, I2C, USART
External interface types: Analog, GPIO
Briefly, what are you making and what are you making it out of?
We are making a video game.

Briefly, how will you demonstrate it?
We will let you watch us play the game.

Briefly, how will we define the criteria for a successful project?
We will play the game.

Suggested things to try: Games

Games are usually a good vehicle to demonstrate the things you've learned in the class. Just make sure the games are a reasonable level of sophistication. They should involve continual motion of players/enemies/obtacles and some other simultaneous activity like generation of background music.

Good games:

Not good games:

Often, the type of game you select will depend on the kind of display you want to use. The MSP2202 TFT LCD is rather small, and difficult to see from farther than arm's length. RGB LED matrix displays are easy to see further away, but their resolution is limited to numbers like 64x32. Choose what you want to create as an interface, then build the kind of game that goes well with it.

Suggested things to try: Applications

Many students are reluctant to implement games for a variety of reasons. It is entirely reasonable to create a mini-project that does something useful, but remember that it must still satisfy the constraints of demonstrating simultaneous non-trivial operations.

Good applications:

Not good applications: