National Science Foundation USB Data Acquisition Lab Exercises.

Student Lab Exercises demonstrating USB and Data Acquisiton principles using the PIC18F4550-I/P USB Microcontroller from Microchip, Inc. Uses USB Communications Device Classs (CDC) to emulate legacy RS-232 ports and uses the Microchip Firmware Framework.

Embedded firmware is written in C18, while the host software is targeted for Win32 and written in C using the Win32 API and the open source Dev C++ IDE and the gcc compiler.

Download the complete Lab Exercise, Software, and Firmware from the Work-Ready Electronics site. You may also download the Software and Firmware Source code and binaries here.


National Science Foundation DSP Lab Exercises.

Student Lab Exercises demonstrating DSP principles utilizing the dsPIC30F2010-30-ISP Digital Signal Controller from Microchip, Inc. Contains selectable Transposed Canonic IIR HPF, LPF, and BPF filters. Samples at 44.1 kHz and processes voice and music at 10-bit resolution using on-board ADC and external R-2R ladder. Coded in Microchip C30 and assembler. Filters implemented with FilterDesign from Momentum Data Systems. Hardware supports the following student activities:

Student Demonstrations Student Measurements
Aliasing ADC/DAC Linearity
Audio Quantization System Dynamic Range
Audio Filtering

Frequency Response:

Faculty may obtain updated object code below:

DSP Lab Exercise Object Code nsfdsp1.hex


Mass Flow Controller Monitor.

A PIC18F452-based system which monitors and displays input and output parameters of MFC controller system. Mass Flow setpoint and measurements are displayed in standard liters per minute (SLPM). See photos below.


Microcontroller Curriculum.

Complete microprocessor course for Associates Degree program in Electronics Technology. Course is built completely around the Microchip PIC18F452 microcontroller and MPLAB. Class projects include PIC-based Stepper Motor Driver, Digital Clock, Reaction-Speed Timer, Piano, Voltmeter, Temperature Monitor, Temperature Controller, and DTMF Telephone Dialer. See course announcement flyer below.

PicStar Development System.

A PIC18F452-based development system which includes a character LCD, hex keypad, temperature sensor/heater, high current drivers (for stepper motors, heaters, etc), and a PWM-based analog output with a speaker-driver amplifier for smooth, continuous audio output. Wrote an extensive library of device drivers to interface the processor with all the peripherals on the board. Uses the QuickBug monitor program and takes advantage of Background Debug Mode and Flash self-programming through the RS-232 port so that code development and programming can be performed without needing an ICD2 or an emulator.

PC Data Acquisition System with Analog and Digital I/O.

Hardware and software for graduating Electronics Engineering Technology student experimentation in Microprocessor Applications course. Interfaces an ADC, DAC, and eight bits of bidirectional I/O with high current drivers (for steppers, heaters, etc.) with an IBM PC. Software in C and Assembler implements a low-speed (audio frequencies) PC-based oscilloscope using this system for I/O. See PC-oscilloscope screenshot below.


Active Bulletin-Board System


Web-based Manufacturing Curriculum Delivery System

Extensive Javascript-based curriculum delivery system which minimizes required administration tasks by performing client-side validation with automatic user account expiration and multiple levels of user authentication.


Image Processing Software and Firmware

Wrote image processing software for a medical ultrasound system. Programmed host (Pentium/Windows NT) processor in C++ and assembler with MMX. Coded low level firmware for embedded TI TMS320C6000 DSP in C under TI Code Composer Studio. Software conformally mapped input array to match transducer array geometries including linear, curved, and endoscopic.


Wrote comprehensive and detailed Software Requirements Specification (SRS) per IEEE-830.


Developed procedures ("response flow checklist") for operators to handle WIP when environmental variables in semiconductor manufacturing plant go out of spec.


Emulation Firmware for Digitizing Tablet.

Assembly language routines to emulate the instruction sets and interfaces of competitor's digitizing tablets.


Tablet Cursor Hardware

Multiplexed analog signals for cursor keypad decoding over a 4-wire interface with no CPU involvement.


Project Management for Digitizing Tablet Development

Brought tablet from prototype stage through market introduction in USA, Japan, and Europe. See the following three advertisements for this major product: "XGT Advances", "Rembrandt", and "XGT Specifications".


System Analysis Software

Co-developed innovative software that generated plots of frequency response given the transfer function. Published as a Design Idea in EDN magazine. Read it here.


Variable Gravity Research Centrifuge

Developed an active vibration cancellation system for the International Space Station's proposed Variable Gravity Research Centrifuge. Performed system-level analysis and simulation using Matrix-X analysis software under VAX/VMS. Co-authored a paper documenting this research effort with customer Lockheed. Take a look at the paper here:

Centifuge Paper

This project was reported on by Lockheed's internal newspaper, the Star. Read the article here: Lockheed Star. My participation in the proposal portion of this project was recognized by Honeywell in the contract announcement.


Emulator Users Manual

A detailed users manual for the GVSC PDU Emulator. This emulator supports the GVSC (Generic VHSIC Spaceborne Computer, Honeywells space-qualified MIL-STD-1750A computer.


Test Fixture Firmware

Wrote assembly language control firmware for the Hubble Space Telescope Antenna Pointing System primary test fixture. Utilized a Tektronics 8540 emulator under VAX/VMS host for this Z-80/STD-bus system. Reverse engineered 6 kilobytes of undocumented Z-80 object code, and then modified the program to meet customer specifications, including real-time trigonometric functions on a 2.5 MHz 8-bit microprocessor.


Ultra-Precise Pointing System Research Project

Designed analyzed, and simulated the Precision Gimbal ultra-precise angular position control system. System included an embedded microcontroller, brushless DC motor, and non-contact angular position sensors ("Inductosyns"). Delivered technical presentations including quarterly IR&D reviews and Major Program Reviews. Resulted in U.S. Patent No. 5,128,883.

U.S. Patent No. 5,128,883


Satellite based Phase-Locked Loop Precision Rate Controller

Analyzed system for the Strategic Defense Research project for a defense customer. Conducted control systems analysis and performed detailed digital and analog circuit design for the Multibus-based system. U.S. Patent No. 4,857,926.

U.S. Patent No. 4,857,926


Boost Surveillance and Tracking System (BSTS) program support

Recognized by customer for participation in the System Design Review to support a visit from the Strategic Defense Initiative Organization (SDIO).


Phase-Locked-Loop DC Motor Speed Controller

Embedded controller used in plastics extruders. Analyzed, modeled, and simulated the electromechanical system. Synthesized and optimized the closed-loop control algorithm using classical control theory. Designed 8051 microcontroller based control unit and analog interfaces


Optical Micrometer

Complete development of a scanning, HeNe laser based micrometer which allowed real-time, non-contact measurement of tubing diameter during the extrusion process. Designed the embedded 8051 microcontroller system and analog interface circuitry, and wrote highly optimized, interrupt-driven control firmware in assembly language.


Integration of Control Panels with Plastics Extrusion Plants

Integrated CP-671 and CP-641 multi-zone temperature, pressure, and speed controllers (shown here), with customer's extrusion plants (such as the one shown below).





Simulation Model of Tumors:

Implemented mathematical models of ellipsoidal tumors for biomedical research. Documented project in an article in school's engineering journal:

Pensylvania Triangle