If you are interested in a wireless project consider using an “electric imp” as the hardware interface. http://electricimp.com/
Develop a display that can be controlled wirelessly (or wired) through an app or web interface.
Convert a text message to Morse code with Verilog. Can you read a Morse code message into text (it shouldn’t be too difficult).
Altera supplies support for an embedded processor (called NIOS II) for its FPGA’s. Use the processor to demonstrate a simple calculation/task.
Implement a multiplication ALU in Verilog (without using the built-in multiplication operator). Perhaps try using either a Wallace Tree or a Dadda Tree (two faster algorithms than “traditional” shift-and-add multiplication)
Build a simple PWM controller in Verilog to control the brightness of an LED.
Implement a serial port in Verilog and connect to a computer or to one of the peripherals on the DE2 board.
Implement a simple correlator in Verilog, an application is DNA sequence comparison.
Implement a very simple (4 bit) processor in Verilog
Implement a digital (FIR) filter using FPGA hardware. You can either do this from scratch, or figure out how to use the IP supplied by Altera (called DSPBuilder). This is a increasingly common application for FPGA’s and would impress many potential summer (or even post-graduation) employers. Talk to me (or do a quick search) to learn more.
Implement a reaction timer. The DE2 board lights an LED at a “random” time, and counts how long it takes the user to react by pushing a button.
Some MSP430’s have a very low power mode that lets you implement a finite state machine to do some simple processing without waking the processor up. See “SCAN IF” in MSP430FG4618 family data sheet (http://www.ti.com/lit/ug/slau056l/slau056l.pdf). We have some of these processors, so you could try it out.
Read about some of the heuristic logic minimization techniques (e.g., Espresso), and implement all (or part) of it.
Implement a floating point package (at least multiplication) for the MSP430. As an addition, compare the time for your implementation vs the implementation in the C compiler.
Implement the Quine-McCluskey algorithm. As an addition, time it for various truth tables and plot time vs number of inputs.
Build a system that would allow for the creation of custom mosaics like the one shown below. The user would design mosaic and choose colors (based on available glazes). The individual tiles would then be formed (cut from a slab of wet clay?), dried, glazed and fired.
This project has an interesting mix of hardware and software and ceramics.
This seems like a useful design tool, but I’ve seen nothing like it.
Design and build a wireless timer for students giving talks. The student tlaking would have an LCD display that counts down the time left in the talk. A green LED could come on at some time as a warning, followed by a red one (and a buzzer?) closer to the end.
The person moderating the talk would have access to the timer through a web page.
The project is not incredibly difficult, but there is a wide variety of tasks (hardware/software/networks…) and the system must be robust and low power.
Build a shaker table (a building on a table that undergoes forced vibrations) for E12 labs that demonstrates modes of vibration. This is a nice project if you want a mix of electronics, hardware and software.
For control theory (or as E90) implement an active damping system for building.