Projects

Here is a list of projects from course work, work, and my own projects.


WISE Laboratory Western Michigan University
Research position at Western Michigan University has given me the opportunity to work with both software and hardware development.

Here is a schematic of the circuit I helped to design and test.  Basically the circuit has 8 external sensors that are fed into a multiplexer.  The multiplexer allows use of one circuit to control 8 individual sensors.  The sensors are fed into the ADC and the results are read into the MSP430 and sent via UART to a wireless module.

Schematic:


Along with the circuit design and layout I created a PCB layout.  This is the first time I had ever used a PCB program and most of the design and concepts are learned on my own with some help of some students who had previous PCB experience.

PCB Layout:



source code
The source code was written in IAR in C .  Below is the file and a short description of what it does.

adc_dac_test.c:  This holds the main method and controls the the set up of the (Digitally Controlled Oscillator) DCO sets up the I/O pins, calls the methods for SPI and UART setup and handles the UART RX interrupt.



module SecretProject
  module CounterCache
    module ClassMethods
      def counter_cache(field)
        class_eval <<-EOF
          after_create "increment_counter_for_#{field}"
          after_destroy "decrement_counter_for_#{field}"
        EOF
      end
    end



adc.c: Goes through the steps needed to calibrate and set up AD7718 based on the data sheet which can be found here: AD7718.  Also used to set up and retrieve a channels voltage value through SPI communications.  This code was previously written before I used it. I did modify some code to check the data ready in the status register instead of using extra I/O for the ready pin. Also modified which reference pin to use on ADC because after testing the ADC I found that reference 2 pins were more accurate for reasons I do not understand.


spi.c:  I did not modify any code in this only used methods to communicate to ADC.

uart.c:  Wrote this code to use the USART0 as UART communication.  Used at 19200 baud with 8 bits 1 stop bit and no modulation.

MSP430F1611 data sheet and user guide: MSP430F1611



Senior Design Project/Independent Study:

For my senior design project I was lucky enough to get an extra semester to work on the and plan for the senior design project.  The project was to design and build a data acquisition with real time feedback stimulation system. 


Digital Design Lab:


Micro-controllers Lab: 


Digital Electronics Lab:


Personal Projects: