Alvin P. Schmitt

Electrical Engineer and Computer Specialist

Analog Electronics
Digital Electronics
Sequential, Asynchronous and Finite Automata
Computer Interfacing
Computer Networks
Serial I/O
Front ends
Data Acquisition

C Programing Language
BASIC, PL/1, Fortran, Assembler
IBM 370 Assembler Language
IBM Series/1 EDL
TI980B Assembler
GE 4020 Assembler
MC68000 Assembler
P89LPC932A 8051 Derivative
Microchip PIC Processors

Apple Macintosh OS

Embedded Computing and Interfacing
Systems Programming
STAGE2 Context Sensitive Macro Processor
Finite State Machines
RTOS Design
Abstract Language Development

Product Design and Development
Sensor Design
Coating Research
Package Design

Alvin P. Schmitt has 40 years of professional experience. Electronics started in 1958 and computer languages started in 1968 progressing on an almost daily basis. Specialization is in analog and digital electronics and computer interfacing and software ranging from Systems Programming to Microprocessor RTOS, finite state machines and high level language development.


1973 BS Electrical Engineering VPI&SU

Object Oriented Programming in Java by University of California, San Diego on Coursera. Certificate earned on June 10, 2016

C++ for C Programmers UCSC Coursera August 6, 2016


1985 to Present - APSTRON LLC

All the following written in C Programming Language

Designed REFLOW controller for soldering SMT parts to circuit boards.

Designed Pyranometer controlled accumulation board for controlling a plant propagation mist system.

PIC RTOS - Wrote a real time operating system for the Microchip PIC1XF1XXX series of computers. It is of a very small footprint using 16 bytes of ram for the task control block. The 1XXX series contains the PIC12F and PIC16F computers.

BASIC INTERPRETER - This project is for producing a single board computer for the PIC 32 bit line of processors. The user will write the programs using a PC or terminal over a USB connection to the single board computer in APSBASIC. The basic will allow access to the computer's peripherals such as I2C, SPI, ADC etc. The program allows the following types: 32 bit signed integer, 32 bit floating point, string variables and constants and eight (8) bit character variables plus one bit logic variables for the logic comparisons. The board has built in eeprom storage for user programs and allows up to 10 programs to be automatically selected and run upon powerup. A further project will be the addition of a real time clock and SD card interface. This will allow the user to acquire data and be able to remove the card and replace it with another to continue data acquisition and to process the removed card at his home PC. Since the BASIC is interpreted the user need not have a computer flash programmer or programming system but can write and immediately execute the software on the single board computer.

WEATHASTIC MIST CONTROL SYSTEM - This ongoing project uses light, temperature and humidity to control mist off times for plant propagation using cuttings. Since these cuttings have no roots they must be kept turbid with mist to remain alive. Too much mist and the plants rot. Too little mist and the plants dry out and die. The current misting systems use timers but if the sun comes out or the wind blows the plants can dry out and die between mists. This system optimizes the amount of mist on the plants to maximize growth and minimize water run off. WEATHASTICs are linked via RS485 in a daisy chain manner to a controller that allows the user to adjust settings for each greenhouse the weathastics are in. Misting valves (up to 16) will be linked to greenhouses and weathastics and the controller allows for complete control of the misting process.

SERIES TANK SLOPE DETECTOR WITH TEMPERATURE COMPENSATED EMITTER FOLLOWER - This item is patent pending. Using either an inductive or capacitive sensor and a 13.56 MHz oscillator the device allows varying current flow depending on moisture on a capacitive sensor or ferrous metal with the inductive sensor. Current is converted to a voltage which is sampled by a high impedance voltage follower that is temperature corrected for accuracy. Voltage output is directly proportional to material on or near the sensor.

8051 RTOS CONVERSION TO AN NXP P89LPC932A1 - The NXP processor needed an RTOS for which I converted one devised by a professor at the University of Cyprus.

EAGLE CAD SOFTWARE - All PC boards are drawn using the CadSoft EAGLE software package. I am proficient with this software and my board house (PCBPOOL) is quite happy to accept board's laid out with this software.

MENU GENERATION AND MANIPULATING SOFTWARE LANGUAGE - For menu systems with UP, DOWN, LEFT, RIGHT, CANCEL and ENTER buttons a language was written with which to indicate state transitions in the menu. Included in the language were 1) Menu text, 2) transitions for each button, 3) A symbol table for state transition labels and associated actions for the leaf menu items. Language was compiled into INTEL ROM format text so that a rom could be burned with the state machine transfer information. Software was written to access the rom and follow the transition path whose input was the button pushes. Menus could be debugged on the PC by emulating the rom and associated control software.

LABORATORY DEVICE TO CHARACTERIZE VARACTOR DIODES - Varactor diodes were used in the phase locked loop analog version of the mist sensor. Device would apply high and low voltages to the varactor diode which represented the sensor empty and full of mist. The diode's capacitance would be determined by the frequency of an associated oscillator.

EMBEDDED SOFTWARE IN C FOR DETECTING AND CONTROLLING MISTING IN PLANT PROPAGATION USING CUTTINGS- All software was written in the C language for the 8051 derivative P89LPC932A1, The PIC16F88 and other processors as well as the BASIC interpreter running on the PC and compiled with GCC.

PHASED LOCKED LOOP MISTING CONTROL SYSTEM - The analog version of the mist control system used a phase locked loop where the capacitor in the voltage variable oscillator was the moisture sensing capacitive sensor. The voltage to the oscillator would be the output of the phase comparator and the output of the VCO would be directly proportional to the moisture on the sensor. The more moisture on the sensor the higher its capacitance and the lower the frequency of the VCO. A fixed crystal oscillator of about 10 MHz was applied to one input of the phase comparator and the output of the VCO would be the second input to the phase comparator. The VCO was set so that a dry capacitive sensor would cause it to oscillate at 10MHz. As the VCO would lower in frequency the output error voltage of the phase comparator would increase increasing the VCO output frequency. Thus the rise in error voltage would be in direct proportion to the increase of moisture on the capacitive sensor.

CERAMIC FRINGING CAPACITIVE MOISTURE SENSOR - A capacitive sensor consisting of interdigital runs of silver on an alumina substrate, Fired to metalize the alumina and covered with a glass glaze was constructed. The two sets of metal runs on the alumina were not connected and intertwined with each other. Artmaster tapeups were created and used to expose a silk screen which was used to print the silver ink runs on the alumina substrate. Eight different glass frits were obtained from FERRO Corporation and the glazes constructed to measure each fit on the alumina substrate. Sensor is patented.

MIST CONTROL SYSTEM USING WATER AS A DIELECTRIC - The above sensor, phased locked loop and controller as well as a digital version were constructed. Water acted like a dielectric in the sensor capacitor. Sensor of the system is patented.

ABSTRACT LANGUAGE USING THE STAGE II CONTEXT SENSITIVE MACRO PROCESSOR - The context sensitive macro processor stage II was obtained from Dr. Waite at the University of Colorado on 9 tract mag tape. Software was written to transfer the the contents of the tape across town to a MAC XL on 10/31/1986. Stage II is written in Stage II with FORTRAN glue routines. Assembler software was written on the MAC XL for the 68000 processor to emulate the FORTRAN glue routines. Testing of Stage II was performed using the associated macro testing routines. Then macros were written to for a high level abstract language called ALBAL. ALBAL was to be used for software development on the LISA 10/2 MAC XL.

1982 - 1985 VPI&SU Computing Center

TERMINAL IDENTIFICATION PROGRAM WRITTEN IN SERIES/1 EDL - Virginia Polytechnic Institute and State University computer center had Series/1s runing the YALE IUP for emulating the IBM 3270 terminals using ascii screen addressed terminals. VPI&SU had 11 of these machines. I was system programmer for the university and took care of these machines. I wrote software in the abstract machine language EDL for the Series/1 to activate each time a terminal type was requested from the Series/1 that would increment a count for that terminal type in storage. Program ran in the background and provided the computing center with the needed information to budget for various terminal types bought by the university as to up to then there was no way knowing which terminal types were being used by the various departments at the university.

SYSTEM PROGRAMMER AT VIRGINIA TECH - I was system programmer and computer systems engineer at the computing center of VPI&SU. My duties consisted of maintaining the Memorx glass tty (40 lines) to IBM channel computer as well as the 11 IBM Series/1 processors that connected to individual smart terminals and emulated an IBM 3270.

1976 - 1981 VPI&SU Electrical Engineering Department - Research Associate for the Computer Engineering Laboratory


DEVELOPED SOFTWARE TO EMULATE JCL DD CARDS FOR TRANSFERING 700 TI980B ASSEMBLY PROGRAMS TO MAGNETIC TAPE ON IBM MAINFRAME - A combination of PL/1 and IBM Assembler was required to implement transfer. I found a hook in the IBM 370 Operating System that allowed me to introduce DD cards that described the location of the input file to be written to mag tape. Input was the disk location of the files to be transferred. Performed the work for the State Labs Project in the Electrical Engineering department.

LABORATORY AUTOMATION FEASIBILITY STUDY FOR A. H. ROBINS - I conducted a feasibility study for A. H. Robins to consider how to automate their laboratory in Richmond Virginia. I developed a computer weighting system to analyze the various computer system considered and finally settled on a Data General large mainframe like computer.

ARPANET LIKE MULTI NODE COMPUTER COMMUNICATION PROGRAM - I debugged Dan Osecky's mulit node communications program written in TI(*)B assembler language. Each node in the network would create a map of all directly connected computers and pass this map through the network so that each computer could find a path to each other computer on the network. Used two TI980B minicomputers to debug the network with each computer's break point system connected to the other computer's run light so that when one computer stopped working it would immediately signal the other to stop so I could figure out what happened in one computer when the other haulted.

SIXTEEN CHANNEL DIGITAL MULTIPLEXER WITH OPERATING SYSTEM HOOKS - I designed a sixteen channel serial multiplexer that hooked into the TI980B general purpose interface. Each channel had its own address. A fifo buffer for 64 characters was included and the system generated an interrupt when data was available. Multiplexer would handle serial lines connected to instrument interfaces which interfaced to laboratory instruments. I wrote the operating system software to interface between the multiplexer and the user's programs.

1973 - 1975 Graduate Student in Computer Science and Applications

TRIDENT SUBMARINE SIGNATURE COMPUTER SYSTEM USING MY LOGIC EQUATIONS - The computer system on the Trident Submarine used my digital equations language system to output a signature that would tell personnel what to do to fix the machine. A Electrical Engineering Graduate student obtained a masters for my effort.

EQUATION DRIVEN WIRE WRAP LIST GENERATOR - I wrote, in PL/1, a wire wrap list generator. I constructed macros for various TTL integrated circuits which would map gates to logic equations entered by the user. I developed the digital equations language. Using the macros the user would enter digital equations for a specific wire wrap board type. The program would allocate the TTL gates from the ICs and place the ICs on the board. Using the equations the system would generate a wire wrap list to make the connections to the gates according to the given equations. The list was constructed in such a way as to minimize the number of wraps to be taken off to correct a wrap error. The Trident Sub signature system used my equation language.

CARD READER TRANSLATOR - I designed and built a buffered and translating card reader interface to the GE 4020 mini-computer. The device translated from the card EBICDIC character set to the ASCII character set using the first ultra violet erasing eprom for 256 bytes the 1701. I generated the table using a program on the 4020 and then used the paper tape to program the eprom. The devices control system consisted of a four state asynchronous state machine which would compare the card reader's 12 bit input to the eprom and the address of the two eproms that matched the bit pattern was the ASCII equivalent. A graduate student devised the previous non working translator using diodes for the rom. He obtained a Phd for his efforts. I received a passing grade for an undergraduate special course. Device would buffer 64 bytes of ASCII information for the GE4020 computer. A second device was constructed that was used for the card reader input of a GE 1600 computer re-purposed as an RJE terminal.


Capacitive Moisture Sensor - PATENTED

Moisture Sensing Using a Variable Slope Detector


9063067 Moisture Sensing Devices

Published papers available on request

Last Updated 12/20/2017 630195177aps