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.
A rejection will usually be accompanied by a list of things to do to make it a good proposal. E.g.,
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.
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.
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.
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.
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.
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.
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.
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:
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: