Hand control module for teleprompter
USB based controller for real time control of teleprompter. This controller was used to manage the teleprompter direction, rate, start/stop. The control itself was pretty simple; the bulk of the work was setting up the USB parameters.
Analog data acquisition and filtering
Developed firmware on embedded Linux controller for acquiring and converting temperature measurement data and providing a selection of DSP filters for an R&D project.
High-Power Arc Lamp Power Supply Controller and RTP gas flow and Vacuum System controller
Developed firmware for control of arc lamp used for heating wafers in rapid thermal processing tool. Upgraded legacy code to to improve functionality and add new features. Primarily upgrades for safety, but also created new capabilities for customers to retrieve additional data about the process as executed.
Disk drive company test racks
Debugged new design of 32 channel RS-232 mulitplexer and wrote firmware on 68HC11 to operate it. This enabled the client's software to control the multiplexer and be able to send commands to individual drives connected on the 32 separate serial ports.
Disk Drive Spindle Motor Tester
Developed firmware for doing stop-start reliability testing on disk drive spindle motors. New versions were required for each new generation of hard drives. Drives were operated using just the back emf for feedback, no Hall or other sensors were used.
Disk Drive Head Stack Tester
Developed firmware for testing hard drive headstacks. The test required that the headstack be placed on a spindle that has the magnet that will be used with the drive and the voice-coil motor is exercised. Continuity of the heads themselves were tested, along with some magnetic susceptibility. For some customers, the firmware also wrote device serial numbers to the on-board flash memory of the headstack.
Wafer photoresist coating and development system control PC boards
Developed firmware for IO and control for photoresist track system. PC boards had analog and digital capability as well as PMD motor control chips. Motor control for spinning wafers during photoresist coating as well as the precise timing of the photoresist application. Firmware also controlled numerous OEM modules through serial ports. CPU was 80196 with on board CAN peripheral. Communication to upper level VxWorks computer was through the Devicenet protocol on the CAN bus
Nuclear Plant secondary water temperature monitor
Developed firmware for a client migrating an existing product to perform a new application. Primarily developing assembly language code for controlling flat panel display, and moving incoming temperature data to the display.