Faraday Engineering
Hardware, firmware, software design services including: Microchip PIC based system design, Windows programming, and embedded system design. We include here, for your reference, a
list of representative projects from past years.
Embedded System / Firmware Development
Software Development
Hardware Development
Support Services
- Schematic Capture.
- Printed Circuit Board Layout.
- Electro Mechanical Design and Prototype Construction.
Representative Projects
Here is a small sampling of past projects. {Indicates types of design performed under terms of contract}
Windows Drag and Drop GUI Interface
{C++, MFC, Drag & Drop, Active X}
ActiveX Drag and Drop application including implementation of ActiveX Container.
Container provides graphical workspace into which objects (representing network services)
can be dropped and manipulated. EmergeCore Networks.
Universal Vending Machine Control
{'C', PIC Assembly Language, Analog, Embedded System / Firmware}
General purpose Vending Control for bulk vending machines. Utilizes
FE-1600 Sound - I/O Processor Chip. Faraday Engineering.
FE-1600 Sound - I/O Processor Chip
{'C', PIC Assembly Language, Analog, Embedded System / Firmware}
Designed for high-end Vending Sound Board to
facilitate rapid development of customized control products.
See separate product listing. Faraday Engineering.
Medical Device
{'C', PIC Assembly Language, Analog, Embedded System / Firmware, Medical, FDA Documentation}
Miniature medical device for Salt Lake City client.
Design includes preparing hardware design plan, firmware design plan
(with accompanying flow diagrams), test plans and associated documents
for FDA submission. Device utilizes embedded PIC microcontroller,
programmed in 'C' and assembler using state machine method. Innovative
analog techinques are employed to maximize battery life during sleep,
and ensure maximum efficiency while operating. Client Name Withheld.
Gumball Machine Controller
{'C', PIC Assembly Language, Analog, Sound Generation, Embedded System / Firmware}
Designed sophisticated Gumball Machine Controller using Microchip PIC16C64A
to control motor and lamp drive circuitry and to directly drive DAC
for high quality sound generation. Everett James Company, Salt Lake City, Utah.
Iontophoretic Controller (Medical)
{'C', PIC Assembly Language, Analog, Embedded System / Firmware, Medical, FDA Documentation}
Designed shirt pocket sized iontophoretic dose controller for the medical
market. Utilized Microchip microcontroller. Firmware was written in
state machine fasion using a mixture of 'C' and PIC Assembler. This design
capitilized on the PIC16C715's combination of analog and digital I/O to
produce a very compact design at minimal manufactured cost. Followed FDA
requirements for design documentation. KWM Electronics, Salt Lake City, Utah.
Vending Machine Controller
{PIC Assembly Language, Analog, Embedded System / Firmware}
Controller for vending machine. Used Microchip PIC16C621 to control motor
and lamp drive circuitry. OK Manufacturing, Salt Lake City, Utah.
Rock Climbing Machine Windows Interface
{'C++', Windows}
Project involved writing Windows users interface for Ascent rock
climbing machine. Hall Electronics, Sandy, Utah.
Multimedia Windows Application for Security Industry
{'C++', Windows}
This contract entailed generating a prototype application of a multi-camera security
system. Windows VFW development kit functions were used as core functions.
Special functions were written to enable screen grabs with conversion to .DIB
format. AVI file read and write functions were utilized. DRSI, Salt Lake City, Utah.
SKIPPER Joint American / Russian Upper Atmospheric Research Satellite
{'C', 'C++', DOS Graphics, MS-Windows, Digital, Embedded System / Firmware}
Responsible for development of Command Compiler software, Command and
Control Software, and the synchronous packet serializer. The Command
Compiler was written in Microsoft Visual C++. This enabled quick
development of an elegant tool which mission scientists use to directly enter
experiment sequences, build functional objectives, and then combine
functional objectives into mission scripts. This software handles all interleaving
of overlapping experiments and objectives.
Output script files from the Command Compiler are sent via T1 link to Anazuka
AFB where the Command and Control computer processes them. The Command
and Control computer disassembles the binary script files and buids 88 bit packets
to be sent to the packet serializer and then up to the satellite. The satellite then
echoes the command back through the downlink and this returned command and
housekeeping information are processed by the Command and Control computer.
The Command and Control Software is written to run under DOS for maximum
speed.
The Synchronous Packet Serializer plugs into a parallel port of the Command and
Control computer. Communicating serially through the parallel port with the host it
appends a 16 bit sync word then causes inserts the packet into the continuous
16,000 bit/second data stream which it creates. This was implemented using a
PIC processor running at 20 MHz with firmware written in assembler. Space
Dynamics Laboratory, Logan, Utah.
Ion Chamber Gamma Radiation Rate Meter
{Digital, Analog, Sensor Design}
Included design of ion chamber sensor, charge pump high voltage generator,
pico-amp input integrator, A-D and LCD display circuitry. Industrial Micro, Logan, Utah.
Medical IV Drip Controller Simulation Software
{'C', DOS Graphics}
Software mockup of a new IV drip controller. Written to run under DOS using
MetaGraphics graphics routines. Mecca Electronics, Hyrum Utah.
Wiring Harness Documentation Software
{'C', DOS Graphics}
Satellite and rocket payloads typically use large cable harnesses containing hundreds of
wires. As the harnesses grew more complex documentation became a problem and a
software solution became necessary. This program featured a spreadsheet format
with field verification, connectivity testing from cable to cable, speciallized editing features and
print control. Space Dynamics Laboratory, Logan, Utah.
Charge II B Upper Atmospheric Research Rocket
{Analog}
Signal Conditioning subsystem consisting of synchronous demodulator / peak-hold
circuit, log amplifiers, etc. Space Dynamics Laboratory, Logan, Utah.
Spear III Upper Atmospheric Research Rocket
{'C'}
Power is always a problem in spacecraft because of limited battery size and
weight and limited power from solar panels. A payload will typically have many
different types of instruments and they are turned on and off according to the flight
timeline. This software package took proposed flight timelines written in a 'C'
like script, broke the timeline down into on-off times for the various instruments
(and different configurations of each instrument) and calculated the ongoing
power requirements as well as overall power budget. Data was
output in tabular form as well as in graphical form using Postscript format. Space
Dynamics Laboratory, Logan, Utah.
Spear II Upper Atmospheric Research Rocket
{'C'}
Ground Support Software for SPEAR II upper atmospheric research rocket. Included 'C'
interpreter. Space Dynamics Laboratory, Logan, Utah.
Data Acquisition System for Space Shuttle Solid Rocket Motor Redesign Effort
{Digital, Analog, 'C', DOS Graphics}
This contract resulted from 'O' ring problem in Challenger disaster. Thiokol was redesigning
the solid rocket motors (SRM's) to use 3 rather than 2 'O' rings as a seal. Also, the SRM's are
shipped to Florida laying down on railroad cars and the propellant and casing become
out of round shape during transit. Thiokol was investigating methods of bringing the segments
back into round before coupling to minimize 'O' ring damage. This system was designed to
allow Thiokol the means of visually monitoring the shape of the segments during coupling
operations. System consisted of hardware design, dedicated Control PC software, and
Display PC software.
Hardware design included an external Data Acquisition front end and an internal IBM PC bus
compatible card set. The front end consisted of a 64 channel input multiplexer, instrumentation
amplifier, and high speed 16 bit ADC each of which was controlled by a serial stream from
the control PC based card set. Data was read out serially. All front end control and data signals were
optically isolated from PC. The control PC card set utilized an AT&T floating point DSP for control and
signal processing. Code for DSP was downloaded from control PC on startup. Data from front end to control PC was
combined with timestamp and housekeeping data then made available to PC via polled access
through 32K x 16 fifo.
Software included code for embedded DSP as well as communication
code between DSP and control PC. Control PC could be manually operated or, more typically,
run through a serial link from Display PC. The Display PC software handled data conversion
using 5 step calibration data, storage to hard disk and floppy, and graphic display. Most data
was from strain guage measurements of deformation of rocket casings. Data from both SRM
segment and lower SRM segment were displayed on screen as concentric ovals along with
numeric values. Alarm conditions could be input as 'C' type strings and were processed by
internal 'C' interpreter. Morton Thiokol, Brigham City, Utah.
Frame Grabber and False Color Imaging Software
{'C', DOS Graphics, Digital, Analog}
Hardware design included state of the art frame grabber utilizing Hitachi controller with a 64 bit
wide DRAM memory system, RS-170 analog signal conditioning, flash converter, IBM PC bus
interface logic. Software package included menu driven false color image processing and
display. Space Systems Engineering, Logan, Utah.
Laser Beam Profile 3D Graphics and Control Software
{'C', DOS Graphics}
Complete software package for control of Spiricon BeamLink laser beam profile analyzer.
Displayed beam profile as wireframe image, false color image, and as intensity contour plot.
Image rotation, tilt, etc. Spiricon, Logan, Utah.
Remote Control for Picosecond Delay Generator
{Digital (ECL, TTL), Embedded System / Firmware}
Modified existing ECL based Picosecond Delay Generator by adding Z-80 based
GPIB interface. Firmware written in 'C' and assembly. Cordin, Salt Lake City, Utah.
Data Logger
{Digital, Analog}
A battery operated low cost CMOS logic design. Consists of a UART
and various registers used to set gains, select channel, etc. Buffered AC/DC sensor
excitation provided. Darkhorse Inc., Logan, Utah.
High Speed Drum Camera Control System
{Digital, Analog, Embedded System / Firmware}
Drum Camera consisted of a large (.5 m dia.) drum on the inside surface of which was
affixed a long strip of film. Image was flashed onto film surface as drum rotated at high
speed. Camera was typically used for photographing both conventional as well as
nuclear explosions. The control system was used to gradually bring the drum up to speed,
take the photo sequence, and then brake the drum. Hardware, firmware, and packaging
design were performed. Z-80 based with firmware written in 'C' and assembler.
Cordin, Salt Lake City, Utah.
Automobile Engine Efficiency / Vehicle Drag Monitor
{Digital, Analog, Embedded System / Firmware}
System utilized a wheel dragged behind vehicle as well as fuel flow sensor to determine
engine efficiency as well as mechanical and air drag coefficients at various speeds. Z-80 based. Both hardware and firmware ('C' & assembler) design were performed.
Utah State University, Logan, Utah.
Energy Management System
{Digital, Analog, Embedded System / Firmware}
Base unit including Z-80 based controller, signal conditioning, A-D, and switchmode
power supply. Remote unit included Z-80 controller, keypad & LCD interface.
Firmware written in 'C' and assembler. Control Technology Corp., Logan, Utah.
Digital Tape Deck Controller
{Digital, Embedded System / Firmware}
This design was the companies first microprocessor based product. The tape deck was
used to store stage lighting command sequences for companies logic based control panel.
Utilized Z-80 microprocessor. Electro Controls, Salt Lake City, Utah.
True RMS (linear power) SCR Phase Controller
{Analog}
This phase controlled dimmer was designed such that the output current and voltage were sensed
as RMS values and the resulting power was adjusted to match the input DC control level. This
proceedure allowed for a very linear control function of light intensity versus control voltage. The
dimmer control circuit was used to trigger very large (200 Amp) SCR's. Electro Controls, Salt Lake
City, Utah.
Automatic Light Dimmer Control
{Digital, analog}
For commercial light dimming applications. Used digital counters and R2R ladder DAC to memorize
and output preset light settings. Provided slow up and down ramp to desired intensity. Electro
Controls, Salt Lake City, Utah.
Faraday Engineering's Home Page