Module Controller in Track System for silicon wafers
This was a flexible controller that was used in more than twenty locations in the equipment. It was configured at run time to be able to control a wide variety of devices; Temperature controllers, photoresist pumps, motors, chillers, valves, etc. Some of the devices were accessed through serial ports, some through analog and digital ports. There were two versions of the board. One was loaded with digital IO, the other had on board motor controllers. The code was written in C on an Intel 80c196 microcontroller with built in CAN bus. The microcontrollers were operated by system controllers running VxWorks through the CAN bus. The system was running smalltalk & the TI Controlworks software. I wrote smalltalk primitives to access the features of the microcontrollers.
Static Headstack Tester
This small tester was used for testing headstacks before installing them on a disk drive. The tester was based on the Motorola 68HC11 microcontroller. It performed a range of tests to verify the completed headstack before assembly. The code was written in HC11 assembly language.
DOS Device Driver
In order to provide non-volatile memory for critical parameters in a wafer processing machine, I wrote a device driver to make battery-backed memory appear to be a hard drive to the system. Then normal system calls could be used to read and write the data, simplifying the interface.
LED Wafer Prober
This wafer prober was implemented almost entirely in software. It was written in Assembly language and Fortran. I had to send individual pulses to a digital port which drove the stepper motor amplifiers. It also had to run on two different system controllers, so I developed timing routines so that they would produce identical delay times on the two different CPU's.