Senior Embedded Systems Designer with comprehensive experience in software development for an industrial process control company. Demonstrated strengths in rapid analysis, synthesis and attention to detail. Recognized as a dynamic, proactive problem solver. Experience includes:
Embedded Pascal, C, C++
Machine language for 8080/8085/Z80, 8086/80286, 6502, 6809, 68341, 68302, 68360, Microchip PIC microcontrollers, and Cypress PSoC microcontrollers
Peripheral interfacing (such as interrupt controllers, UART, parallel, floppy and hard drive controllers, PCMCIA, custom)
Serial communications (including Modbus, HART, DMX, RDM, some USB, and custom protocols)
Use of In-Circuit Emulators and BDM-based symbolic debuggers for most of the above microprocessors and microcontrollers (Intel, Millenium, Pentica, Applied Microsystems, EST, Microtec, Microchip, Cypress)
Use of standard electronic tools (e.g. voltmeters, oscilloscopes) along with strong knowledge of basic electronics
My goal is to work as an embedded software or firmware engineer.
PRECISION FLIGHT CONTROLS, INC.
Mather, CA
Position: Firmware Engineer
Responsibilities: Develop, maintain, and update firmware for FAA-approved aviation flight simulators. Ongoing effort to organize existing and new code for simpler development, maintenance, and hardware portability. Ongoing effort to document code design and improve development practices. Assist in designing (at the schematic level) and debugging hardware. Ongoing effort to convert existing serial devices to use USB.
Created new message format designed to be flexible and extensible.
Streamlined the existing firmware to make it simple to port to new simulator hardware. Improved maintainability. Improved reliability. Added new features for auto-configuration by the PC software. Added integrated calibration.
-
Greatly improved the speed and reliability of 2-bit
Gray-code encoder inputs.
Proposed, designed, and implemented a protocol converter that helps customers upgrade incrementally with minimal fuss.
Proposed and designed other boards to expedite the move to USB while maintaining backwards compatibility.
Installed and am maintaining the software version control system and bug tracking system using
LAMP,
Subversion and
Trac.
Am in the process of researching and creating an improved electric
elevator trim control using a stepper motor and an LED bar graph. This will give us the ability to match the speed, sensitivity, and range of the electric trim to that of the airplane model while saving money and reducing mechanical complexity.
Software implemented on Microchip PIC and Cypress PSoC microprocessors in C and assembly.
LIGHTING SCIENCE GROUP CORPORATION; formerly LED Holdings LLC, formerly LED Effects, Inc.
Rancho Cordova, CA
Position: Firmware Engineer
Responsibilities: Develop, maintain, and update firmware for LED-based commercial, industrial, architectural, and gaming lighting products. Ongoing effort to organize existing and new code for simpler development, maintenance, and hardware portability. Ongoing effort to document code design and development practices. Assist in designing (at the schematic level) and debugging hardware.
Updated and/or fixed firmware on numerous small lighting projects.
Worked with hardware engineers to prototype and debug hardware designs.
Helped design and implement
Bit-Angle Modulation in one major project, taking advantage of its predictability and low CPU overhead to implement nineteen 16-bit modulated outputs using a single 8-bit hardware
PWM.
Separated and abstracted parts of the most common code implementations to allow quick and easy generation of new projects with minimum changes and maximum re-usability.
Abstracted the hardware as much as possible to allow quick and easy porting of code between similar hardware designs.
Implemented minimal
RDM on a major project. This allowed the customer to quickly program the ID into a new board with a hand-held device for fast on-site replacement.
Designed and implemented the firmware for the 2007-2008 (100th anniversary) Times Square Ball.
-
All software implemented on Microchip PIC and Cypress PSoC microcontrollers in assembly.
SCHULMERICH CARILLONS, INC.
Sellersville, Pennsylvania
Position: Contract Software Engineer
Responsibilities: Continuing development on a new product partially developed by previous contractor.
Designed and developed a concise but robust 1-to-many master-slave protocol over AM RTD, including Manchester encoding and automatic bit-center detection.
Upgraded prior hardware design to improve radio distance and reliability. Other improvements: eliminated unnecessary parts, upgraded to flash part (allowing in-circuit firmware upgrades), upgraded to interrupt-driven part (improving communications and measurement precision and efficiency).
Worked with hardware engineer to design and test analog sensor. Implemented software for same, including filters, peak detection, and automatic bias tracking.
Worked with RF consultant to use PCB ground plane as an antenna. Reduced cost and improved radio efficiency.
All software implemented on Microchip PIC microcontrollers in assembly.
SIEMENS ENERGY & AUTOMATION, INC. PAS Division, formerly Moore Products Co.
Spring House, Pennsylvania
Position: Software Engineer (1990-1995), Sr. Software Engineer (1996-2001)
Responsibilities: Designed and developed operating software for industrial process control embedded systems. Tested and integrated new and changing software functionality; wrote scripts and utilities as needed. Managed the R&D centralized client back-up system.
Designed and developed a Flash ROM download protocol and utility for the company’s embedded systems which decreased support costs by allowing field upgrades of the operating systems. (C, C++, and 68000 assembly; modified Modbus protocol)
Implemented communications software to fit an existing option board into a new product which saved the cost of developing a new board. (C and 68000 assembly; custom protocol)
Coordinating with the peripheral board designer, designed and implemented a custom peripheral board serial protocol for the above product, adding versatility to the product. (Embedded C, custom protocol)
As part of a team, designed and implemented an option board to add HART Protocol to an existing product which increased the product’s marketability. (6809 assembly; HART and custom protocols)
Designed a kludge board add-on, plus supporting firmware and a DOS-based interpreter utility, to monitor communications for development testing of the above, shortening the development cycle. (6809 assembly; Microsoft C)
LASER PRECISION CORP., Analect Instruments Division
Irvine, California
Position: Software Engineer
Responsibilities: Designed and implemented applications and embedded software for near infrared spectrometer systems. Integrated CP/M operating system to custom hardware and wrote support utilities.
Created format and disk copy utilities for internal use, which strengthened the software distribution process. These were later shipped with the product, which improved the product’s usability. (Pascal and Z80 assembly; Western Digital floppy controller)
Integrated a hard drive with the major product which improved its marketability. (CP/M operating system; Z80 assembly; Western Digital hard drive controller)
Designed and implemented a primitive floppy disk file system for an older product, including minimal essential utilities; also wrote a utility to convert files to and from CP/M for portability. The result was increased usability of the product. (CP/M operating system; Pascal, Z80, and 8085 assembly; Western Digital floppy controller)
CA ELECTRONICS, INC.
Fraser, Pennsylvania
Position: Programmer
Responsibilities: Microcomputer programmer for a custom engineering firm. Developed and debugged production software and in-house test software as part of a team. Languages used included 8085 assembler, PL/M, Z80 assembler, and Microsoft Basic. Did much of the debugging with an In-Circuit Emulator. Products included an infrared card-key security system and a temperature-based quality monitoring system for a pharmaceutical rubber manufacturer.
CARTA ASSOCIATES
Fraser, Pennsylvania
Position: Electronics Technician
Responsibilities: Performed board-level and component-level prototyping and debugging with Intel products.
RADIO SHACK
Exton, Pennsylvania
Position: Retail sales clerk
NLT COMPUTER SERVICES
Blue Bell, Pennsylvania
Position: Operator
Duties: Operated 3M BETA COM (Computer Output Microfilm) and Bruning OP-40 Diazo Microfiche copier.
RADIO SHACK
Brookhaven, Pennsylvania
Position: Retail sales clerk
SEI CORP.
Wayne, Pennsylvania
Position: Senior Printer
Duties: Running and supervising DP print shop, quality control of printed reports.
Fargo, North Dakota
Computer Science major (1 year, no degree)