
Embedded Software Engineer at Endymion Systems
Greater Minneapolis-St. Paul Area

Embedded Software Engineer at Endymion Systems
Greater Minneapolis-St. Paul Area
Embedded software engineer, working closely with electronic hardware and contributing to a team effort in all phases of electronic system or subsystem development, from requirements specification through maintenance.
My goal is to use my experience and problem-solving insight to consistently deliver a quality product.
• Microcontrollers:
Freescale ColdFire, Motorola 68HC11, Intel 80196 / 80296, Zilog Z80
• Schematics
• PID control of real-time systems
• Reverse-engineer legacy software
• Structured development with comments
• Assembly language programming
• HLL programming: C, Visual Basic
• Debugging with oscilloscope, analyzer, or HLL debugger
• Unit tests and functional tests
• Performance measurement
• Analyze and model with Microsoft Excel
• Document with Microsoft Word and Visio
(Sole Proprietorship; Computer Software industry)
June 2009 — Present (9 months)
Marketing and contracting my embedded software engineering services.
• Determined the feasibility of reverse engineering and retargeting a legacy embedded system.
• Determined project structure, sequence, and deliverables, then estimated its man-hours and overall duration.
(Sole Proprietorship; Computer Software industry)
December 2007 — June 2009 (1 year 7 months)
Studied and practiced short-term and day trading strategies for making profits in the US equities market. Analyzed price trends using candlestick charts, trend lines, and technical indicators. Performed 2700 trades.
(Sole Proprietorship; Computer Software industry)
August 2008 — October 2008 (3 months)
Updated the bootstrap software for the Motorola 68HC11-based engine control units manufactured by Zenith Fuel Systems. I changed the assembly code to be compatible with newer flash memory chips, since the chips in the original design had reached end-of-life and were no longer available.
(Public Company; CMI; Electrical/Electronic Manufacturing industry)
January 2006 — October 2007 (1 year 10 months)
Developed firmware in C for new gasoline- and diesel-powered electrical generators.
Large Diesel Generators: Led the embedded software development for a family of 10 militarized AC generators, from 5 kW to 60 kW at 60 Hz or 400 Hz. A prototype based on the Motorola 68332 had already been constructed; our team was to construct the production model using the Freescale ColdFire MCF5235. I reviewed the prototype's hardware and software design, and the production model's hardware design. Project work was paused while awaiting a government contract award, and I was assigned to the following project in the meantime.
Small Gasoline Generator: Developed the inverter section of the embedded software for a small commercial AC generator. A variable-speed engine drove an alternator which produced variable-frequency AC. The AC was rectified to DC, and my software then used pulse width modulation to produce a 60 Hz AC output. The challenge was to achieve acceptable THD under all load conditions. Hardware engineers provided me with process control designs and a platform based on the Freescale ColdFire MCF5213. I determined how to best implement the control designs, specified the best crystal frequency for the microcontroller's clock, and designed and coded the firmware in C. For test, I configured a Lauterbach TRACE32-ICD in-circuit debugger to help the team tune the control algorithms. The debugger displayed real-time graphs of various stages in the development of the output voltage waveform, and enabled interactive adjustment of the control parameters.
(Electrical/Electronic Manufacturing industry)
May 2002 — July 2005 (3 years 3 months)
Developed and maintained software and firmware for the company’s product line of custom engine control units meeting the 2004 EPA emissions requirements for gasoline and LPG spark-ignited internal combustion engines.
Sensors: Missing-tooth decoding. Digital filtering of MAP and oxygen sensors. RPM and MPH calculation from tach signals or flywheel teeth. Engine shutdown or alert on out-of-range conditions.
Actuators: Precise fuel injector timing and pulse-width control. PWM vacuum trim valve control. Spark advance and dwell control. PWM throttle control to achieve constant RPM or to limit vehicle ground speed under a wide range of loads.
Communications: RS-232 and SAE J1939 (CAN).
Control: Air/fuel ratio control in response to sensor inputs and table values. PID control of throttle.
Development: Reverse-engineered existing uncommented code in C and 68HC11 assembly. Documented, repaired and enhanced its function. Added new modules to improve performance or to meet customer requirements. Created a Visual Basic application to speed ECU programming.
Test: Tested firmware using PC monitor or oscilloscope on bench, engine test stand, or customer facility. Validated new ECU hardware under extremes of heat and voltage.
Patent: Co-inventor on a patent application for vehicle ground speed control.
(Public Company; CSCO; Computer Networking industry)
May 2000 — November 2000 (7 months)
Maintained C code for the Gigabit Ethernet family of line cards for the Cisco GSR 12000 family of routers.
Analyzed and resolved software problems. Thoroughly documented the problems and their solutions.
Configured several IP networks within my own test bed of three Cisco GSR 12008 routers. Used those networks for learning, problem determination, debugging, and test.
(Public Company; AME; Aviation & Aerospace industry)
September 1994 — September 1999 (5 years 1 month)
Responsible for design, development, release and maintenance of all embedded software for the Chatillon product line of force measurement instruments and material test stands.
Diagnosed, documented and solved more than 100 hardware and software problems across the entire Chatillon product line.
Reverse-engineered existing uncommented code. Documented it to meet FDA GMP requirements for Class II medical devices. Repaired and enhanced its function.
Researched and recommended leading-edge hardware and software technology to prototype and produce new products.
Designed new products. Created detailed specifications containing system block diagrams, keypad and display actions, menu trees, data flow diagrams, and communication protocols.
Coordinated the work of assistant programmers. Provided tools to them and merged their C or PL/M code with mine to create new software versions.
Exploited the processor architecture in one product to increase its performance four-fold.
(Information Services industry)
July 1994 — September 1994 (3 months)
Edited and proofread document images into machine-readable text using Sun OpenWindows workstations.
(Educational Institution; Higher Education industry)
March 1994 — June 1994 (4 months)
Secretary on contract for three departments: Music, Humanities, and Business. Recorded student data and prepared reports using WordPerfect 5.1 and dBase IV. Produced, recorded, and tracked messages and correspondence for student records, student recruiting, and federally-funded arts projects using WordPerfect 5.1 and InfoSelect.
(Utilities industry)
November 1993 — December 1993 (2 months)
At CP&L's Harris Plant, prepared lectures and examinations for nuclear reactor operators, including tables and equations, using WordPerfect 5.1, WordPerfect for Windows 5.2, and ABC Flowchart.
(Educational Institution; Higher Education industry)
August 1993 — September 1993 (2 months)
Secretary on contract for the chairperson of the Dvision of Business. Recorded student data and prepared reports using WordPerfect 5.1 and dBase IV. Produced, recorded, and tracked messages and correspondence for student records and student recruiting.
(Electrical/Electronic Manufacturing industry)
December 1992 — May 1993 (6 months)
As the software half of a two-man startup firm, selected optimal hardware and software technologies and then created embedded systems to meet client requirements.
Developed a Motorola 68HC05-based sensor to read electric utility meters.
(Public Company; IBM; Information Technology and Services industry)
August 1989 — October 1992 (3 years 3 months)
Developed and tested mainframe communications software. Provided customer support and maintenance for OS/2 Communications Manager software.
(Information Technology and Services industry)
May 1986 — August 1989 (3 years 4 months)
Recommended and developed computer system solutions for government and private industry contracts.
Developed an interactive graphical PC- and PLC-based climate control system for a local manufacturing plant, using Pascal and ladder logic.
(Electrical/Electronic Manufacturing industry)
April 1984 — March 1986 (2 years )
Developed and tested systems and subsystems for the company's line of radio paging controllers.
Reverse-engineered existing uncommented Z80 assembly code. Documented, repaired, and enhanced its function by using UNIX and CP/M development systems.
Developed a multitasking executive in C, and used it as the foundation for a new Z80 subsystem capable of supporting up to four RS-232 terminals simultaneously.
Quickly developed multitasking real-time software in C under QNX for a PC-based page forwarding terminal.
(Electrical/Electronic Manufacturing industry)
January 1979 — March 1984 (5 years 3 months)
As the sole programmer in a small startup firm, developed all embedded software for the company's product line of multimedia real-time control systems for theme parks, museums and planetariums.
Developed a successful prototype using Z80 assembly language to meet code size and speed constraints.
Enhanced the prototype by adding customer-requested features, including a file editor, disk operating system, and synchronization to time tracks encoded on audiotape. The resulting systems contained nearly 20,000 lines of heavily commented code and were still in worldwide use ten years later
(Public Company; NCR; Information Technology and Services industry)
January 1977 — January 1979 (2 years 1 month)
Developed and maintained microcode for the NCR Criterion mainframe systems to control instruction execution and virtual memory access.
I prepared and presented a lecture series for visiting clients that detailed the virtual memory architecture of the NCR Criterion series of mainframes. My manager received a letter from the clients commending my teaching performance.
(Electrical/Electronic Manufacturing industry)
May 1978 — October 1978 (6 months)
As the sole programmer in a small startup firm, developed all embedded software for prototypes of new signal averaging instruments.
* Worked with the project leader to design a pipelined multiprocessor architecture to sample and process EEG signals at rates of up to 10 kHz. The system used banked memory to pass data between inexpensive 8-bit microprocessors
* Developed and tested the signal averaging software for that system. The software included extensive system diagnostics to detect any wiring errors in the hand-built prototype hardware.
(Government Agency; USN; Military industry)
June 1973 — January 1977 (3 years 8 months)
Support of Naval Tactical Data Systems used on U.S. Navy ships.
Developed system programming utilities for the AN/UYK-7 based SHARE/7 time-sharing system,and an XDS 940 time-sharing system.
Co-authored system operations manuals, and trained operations staff.
Vietnam Era Veteran.
DC and AC circuit theory 2004 — 2005
Abingdon, Virginia
M.S. , Computer Science , 1982 — 1984
San Diego, California
B.A. , Applied Physics and Information Science , 1968 — 1972
San Diego, California
English, Spanish, German, Physics, Chemistry, Calculus, Electronics 1965 — 1968
Scored 100% on SAT Math Level II exam.
San Diego, California
SAE, Mensa
Monarch Crown Award for Outstanding Performance, April 1994.