Post Job Free
Sign in

Project Engineer

Location:
Denver, CO
Posted:
November 12, 2012

Contact this candidate

Resume:

--> --> -->

Craig Steiner's Resume - ****.com

Remember Me

(Free)

Consulting ServicesThe 8052.com BookForum Rules (Read!)8051/8052 Tutorial8052 TCP/IP

Craig SteinerIndependent Consultant / Software Engineer / Electrical Engineer

Current Residence: Denver, CO USA

Phone: +1-303-***-****

Email: ********@********.***

Resume last updated 15-Jul-2008

I am currently interested in full-time or consulting employment in the Denver area, as well as employment or

consulting opportunities in other locations which can be done predominantly from Denver.

OBJECTIVE

Full-time employment or consulting as a software engineer or project manager in my

fields of expertise.

SUMMARY OF MAJOR FIELDS OF EXPERTISE

Consulting, identification, and implementation of customer needs, requirements, and specifications

Microcontroller & embedded software development (especially 8052-compatible, Palm OS)

Electrical circuit design and printed circuit board layout

Internet site/application development (Unix-based, C, CGI, PHP scripting, HTML, MySQL)

Windows software development (VisualBasic, Visual C++)

Authored the book "The 8051/8052 Microcontroller: Architecture, Assembly Language, and Hardware Interfacing"

Webmaster of and

SKILLS AND OTHER NOTABLE EXPERIENCE

CONSULTING/SPECIFICATIONS. As an independent consultant for the last 9 years, I am proficient at

working with clients to determine their requirements, establish a proposal based on a detailed functional

and technical specification, estimate the time and cost of the project, and implement the project according

to an agreed-upon timeline.

ELECTRICAL ENGINEERING. Significant capability for circuit design, analysis, and review, with experience

with printed circuit board layout and manufacturing. Designed and produced the .

COMPUTER LANGUAGES. Professionally fluent in the computer languages 'C', Microsoft

Visual Basic 3.0/5.0/6.0, the Novell Netware Windows API, and capable of developing

Internet-based applications in both VB and 'C'. I have a working knowledge of 80x86

Assembly Language and in-depth knowledge of 8051 Assembly Language. I have had academic

exposure to Pascal, Fortran, Cobol, and Ada with at least 1-2 semesters of classes at

the University of Colorado - Denver in each of these languages.

EMBEDDED 8052 / MCS-51. Extensive knowledge of embedded systems, specifically

MCS-51 (8031 / 8051 / 8032 / 8052 / etc). Fluent in MCS-51 assembly language as well

as 'C'-based implementations. To-date, the vast majority of my consulting experience

has been related to MCS-51 projects. I am webmaster and author of

as well as the

and applications. I have also

authored "The 8051/8052 Microcontroller" Book (ISBN 158*******).

PERSONAL DIGITAL ASSISTANT. I have worked with both Windows CE and, more recently, with Palm OS software

development and have developed complete applications for both platforms.

DATABASE / SQL. Broad knowledge of relational databases including design theory

and implementation. I have utilized Microsoft SQL Server 6.5, MySQL, and Microsoft Access 2.0/97

as integral parts of information-management applications, and have worked extensively

in Structure Query Language (SQL), having developed stored procedures and triggers as

well as traditional database queries.

WEB APPLICATION DEVELOPMENT. I have developed a number of Internet/Web-based applications based on both PHP and

CGI scripts written in C . Systems include an e-commerce/customer/order-tracking system to process online orders, a

customized user message forum on 8052.com, and a Yahoo-style web page creation engine whereby users can create their

own web pages from within their browser at 8052.com.

OPERATING SYSTEMS. Expert in Linux (especially Red Hat 7.3, 9.0, and Fedora Core 3), MS-DOS, Microsoft

Windows 95/98/XP. I also have more limited experience with Macintosh and IBM OS/2.

LANGUAGES. Fluent in Spanish, English (native language).

WORK EXPERIENCE

September 2008

Present Irrigation-Related Company

Project: Irrigation Control System

Project consists of maintaining and developing new features for a commercial irrigation

control system.

Keil-based 8051 assembly language & ST Microelectronics microcontroller (8051-based)

Review and document existing assembly language program

Detect and correct existing bugs

Add new functionality, as required

Design new user interface for existing system

September 2007

September 2008, Lodi, CA

Project: 8052-Based Remote Data Logger & Internet Server

Contact/Reference: Bryan Osborn

Project consisted of continuing development for the previous project I developed for the client in

2005.

Assist client in identifying software and hardware requirements

Re-design website and database for new expanded requirements

Embedded C programming

GRPS wireless embedded communication

Server side programming in PHP and MySQL, with HTML for presentation

July 2006

August 2007 Millennia Music & Media, Placerville, CA

Project: Digitally Controlled Analog High-Voltage Preamp

Contact/Reference: Stephan Buck

Project consists of developing the digital front-panel controls of a high voltage pre-amplifier that will be used by clients such as Carnegie Hall, the Mormon Tabernacle Choir, etc. The firmware controls two independent LCDs, 45 LEDs, monitors 18 buttons and a quadrature encoder, and uses this I/O to allow the user to control the gain, muting, polarity, and gain of eight separate audio channels. The firmware is also able to communicate with external devices via Ethernet or MIDI.

Assist client in identifying software and hardware requirements

Assisted in selection of microcontroller (Dallas Semiconductor 80C411 combined with two Analog Device AduC841 s)

Embedded C and assembly language programming, implemented as 4 concurrent tasks

Simultaneous Analog/Digital conversion of eight individual audio channels at ~44kHz

Design of customer-specific Ethernet communication protocol

Embedded Ethernet communication using Teridian and Intel PHY ICs

Inter-processor communication between the 80C411 microcontroller and the AduC841 s

July 2006

March 2007, Las Vegas, NV

Project: Three-Phase Power Factor Optimization

Contact/Reference: John Hurst

Project consists of developing the firmware for a device that measures three-phase voltage and current, and adjusts them dynamically to achieve an optimized power factor which produces a potential savings in energy. This is an embedded component that will be integrated with industrial high-power motors (elevators, escalators, etc.) to improve their efficiency. This is essentially the same product as described below, but for three-phase motors rather than single phase.

Selected the microcontroller (Analog Devices AduC843)

Embedded C programming

Analog/Digital conversion of three independent voltage and current signals

August 2006

September 2006, Las Vegas, NV

Project: Single-Phase Power Factor Optimization

Contact/Reference: John Hurst

Project consisted of writing new firmware for an already-existing hardware design to replace existing firmware that was not working for the customer. This is a single-phase version of the three-phase project (immediately above) and was started and completed while the three-phase project was stalled due to a delay on the hardware design.

Embedded C programming

PIC 16F687 microcontroller (existing design)

November 2005

June 2006, Longmont, CO

Project: VB/PHP-based Internet & Reporting Systems

Contact/Reference: Brian Anderson

As a long-term consultant, I am involved in the development and enhancement of systems that are primarily related to the storage, retrieval, printing, and reporting of employee tax information specifically the annual W-2 forms.

Development and enhancement in Visual Basic 6 and PHP using MySQL

February 2005

July 2005 (now Cropwire LLC, Woodbridge, CA

Project: 8052-Based Remote Data Logger & Internet Server

Contact/Reference: Bryan Osborn

Project consisted of assisting the client in identifying his software and hardware requirements, establishing a specification, and the subsequent development of firmware for an MSC1210 microcontroller (8052-based). The system performs data collection and subsequently transmits the collected data wirelessly to an Internet server. The project also included developing software that receives the data on the Internet server and the actual website design for the entire domain.

Assist client in identifying software and hardware requirements

Establish requirements specifications

Embedded C programming

GRPS wireless embedded communication

Server side programming in PHP and MySQL, with HTML for presentation

Website design for the entire domain

August 2004

February 2005 The 8051/8052 Microcontroller Book (ISBN 158*******)

Authored a book on the 8051/8052 microcontroller that was published in October 2005.

Based on content previously written for 8052.com

Additional chapters written on hardware

Assembly language programming techniques

Hardware design and interfacing examples

March 2004

August 2004 (Independent Project)

Developed a GPS toolkit application for the Palm platform which provides standard GPS navigation features, such as waypoints, routes, real-time navigation map, ETA to next waypoint, final destination, etc.

GPS navigation

Developed for Palm OS in C using Code Warrior 8.0

May 2003

July 2003, Dallas, TX

Project: Stoplight Bulb Controller

Contact/Reference: Paul Calixto

Designed and developed the 8052 assembly language firmware to operate the logic within a LED-based stoplight bulb. The firmware detected failure of the component LEDs and automatically adjusted voltage appropriately to maintain a fixed brightness output, while also detecting day/night mode in order to auto-dim the bulb at night.

Designed and developed 8052 assembly language firmware

Assisted in testing and modification of platform hardware

Janary 2003

April 2003, Grass Valley, CA

Project: Simulator Project

Contact/Reference: John Kesterson

Projected consisted of the development of a specialized simulator written in Visual Basic 6.0 which simulated the function of a proprietary microcontroller. This built on the experience I had writing a simulator based on my past work with the 8052 Simulator and Pinnacle 52 IDE. The simulator allowed the client to accelerate its own development by allowing them to develop and test code within the simulator before the actual microcontroller hardware existed.

Assisted client in identifying software, design, and software interface requirements

Development in Visual Basic 6.0

Calls to external, custom DLLs written in Visual C++

October 2002

March 2004 (Independent Project)

Primary architect and developer of the PrismEmail spam filtering service. This service acts as a POP3 mail filter by having the user download their POP3 email from PrismEmail while PrismEmail downloads their email from their true POP3 provider, filtering undesirable spam in the process using traditional keyword filters as well as state-of-the-art Bayesian statistical filtering.

PHP 4.3 and HTML

GCC C under Red Hat Linux 9.0

MySQL 4.0.18 database

Implementation of custom POP3 and SMTP servers in C

May 2002

September 2002, Tucson, AZ

Project: MSC1210 Documentation Project

Contact/Reference: Russell Anderson

Project consisted of writing a complete technical user manual explaining the functionality of the MSC1210, an 8052-derivative developed and distributed by Texas Instruments.

Based on content previously written for 8052.com

Additional chapters written for product-specific features

May 2002

August 2002 Link World Trade, Inc. (now ), Dallas, TX

Project: Medical Dose Meter

Contact/Reference: Paul Calixto

Project entailed writing the 8052 firmware for a device that attaches to metered medication dispensers (such as asthma inhalers, eye drops, etc.). The firmware reminds the patient of scheduled doses of the medication and also records the actual time and amount of medication consumed by the patient. The information is subsequently downloaded by a doctor.

Assisted client in identifying software, design, and interface requirements

Assisted client in selecting embedded hardware components

Developed firmware in 8052 assembly language to implement system

February 2002

March 2002 (Independent Project)

I developed the Cima World Traveler Palm-based application. This B&W/color Palm application was designed for the frequent world traveler and contains useful functions such as a world, country, and city database, currency conversion, a world clock, and measurement conversions.

Developed for Palm OS in C using Code Warrior 8.0

Extensive use of Palm databases to store graphics, maps, and data

July 2001

November 2001 (Independent Project)

I designed and developed a custom "Online Store" for my site, 8052.com. The Online Store, which went online in October 2001, allows vendors of 8052-related products to list their merchandise in the Online Store which visitors to the site are subsequently able to purchase. Includes customer interface with catalog, shopping cart, and order system, along with a back-office component that manages the process for the life of the order and ultimately orders payments to the vendors based on the previous month's sales.

PHP 4.3 and HTML using cookies

MySQL 4.0 database

July 2000

January 2001, San Jose, CA

Project: Pinnacle Simulator Modification

Contact/Reference: Dr. Stephen Zweig

Project consisted of modifying the Pinnacle 52 IDE to simulate custom hardware specified by client. This allowed the client to develop and test firmware for their custom device before it was actually built.

Modified existing program in Visual Basic 3.0

Implemented simulations of SPI, I2C communications

Implemented simulation of Dallas RTC DS1307, DS1803 Dual-Pot, Philips PCF8533 LCD controller, serial EEPROM.

August 2000

October 2000, Dallas, TX

Project: 8052 USB Keyboard Firmware Development

Contact/Reference: Michael W. Wilson

Project consisted of developing firmware written in 'C' for Texas Instruments' TUSB2136 microcontroller, an 8052-compatible derivative which provides USB support. The code provides the complete firmware of a 102-key USB keyboard and is used as the example/reference code offered by Texas Instruments for developers using the TUSB2136 microcontroller.

Developed firmware in 8052 assembly language

USB slave device and USB communication with PC

March 2000

April 2000,

Monterrey, Mexico

Project: Windows CE Portable Sales Data Collector

Contact/Reference: Alejandro Jose Phillips

Project consisted of developing a sales and route control system within a Windows CE environment using a Symbol Technologies PPT2700 hand-held device. Software functions include utilizing the integrated barcode scanner, file system, and IrDA infrared I/O port to communicate with an external portable printer. The application is used by delivery personnel that deliver food product to customers, using the application to record sales, transit times, and print sales receipts.

Visual Basic for Windows CE and Visual C++ for Windows CE

IrDA communication with external printer

August 1999

January 2000,

Anna, Illinois

Project: Bar-Code Decoder and Motor Control

Contact/Reference: Richard W. White

Project consisted of developing 8052 assembly language code to operate a coupon-scanning device which operates a motor to receive a coupon and read its barcode. The code interprets and decodes information received from the optical barcode scanner supporting multiple symbologies.

Assisted client in identifying software, design, and interface requirements

Developed firmware in 8052 assembly language

Investigated, understood, and implemented UPC-12, EAN-13, EAN-99 coupon code, and EAN-128 barcode symbologies

January 1999

March 2000 (Independent Project)

Expanding on the 8052 Simulator I wrote in 1997 (see below), in 2000 I developed and released the Pinnacle 52 Integrated Development Environment. Pinnacle is a full IDE including editor, assembler, linker, and simulator for the 8052 and compatible derivatives.

Designed, developed, and maintained Visual Basic 3.0 and Visual C++ 1.51 code

Simulated 8052 machine language instruction set

Developed a complete assembly language and compiler and object linker

May 1997

June 2000, Limerick, Ireland

Project: Modification to 8052 Simulator for Windows

Contact/Reference: Brian O'Mara

Analog Devices contracted me as an independent consultant to modify and enhance my 8052 Simulator to fully simulate new microcontrollers that they are currently in the process of developing and promoting. The modified Simulator is being included in Analog Devices' Software Development Kit which is sold to customers which are interested in taking advantage of the new microcontroller's special features.

Modified existing program in Visual Basic 3.0 and Visual C++ 1.51

Implemented simulations of AduC812-specific microcontroller features

March 1997

July 1997, Green Valley, California

Project: Modification to 8052 Simulator for Windows

Contact/Reference: Steve Buck

TDK Semiconductor contracted me to modify my 8052 Simulator to support the special features included in a new 8052-based microcontroller that they are currently developing. It was necessary for TDK to start writing application software for their new microcontroller before the firmware actually existed; thus I made the requested changes to the Simulator and they were able to begin software development using my Simulator in lieu of the actual hardware.

Modified existing program in Visual Basic 3.0 and Visual C++ 1.51

Implemented simulations of specific microcontroller features

May 1997

July 1997 Link World Trade, Inc. (now ), Dallas, TX

Project: 8052 Development for U.S. Postal Service Sorter

Contact/Reference: Paul Calixto

Project consisted of reverse engineering an existing 8052 assembly language program, determining the use and function of each of 32 digital I/O lines, and writing a new assembly language version of the software. The final product was a control panel that is currently being sold in quantity to the U.S. Postal Service as one of the principal components of mail sorting machines.

Reverse-engineered existing 8052-based embedded product to determine functionality

Designed and developed new version of system in 8052 assembly language

October 1996

March 1997 (Independent Project)

8052 Simulator for Windows simulates the 8052 microcontroller in a Windows environment. The program is written in Visual Basic with an additional DLL written in Visual C++ and in Assembly Language.

Designed, developed, and maintained Visual Basic 3.0 and Visual C++ 1.51 code

Simulated 8052 machine language instruction set

May 1996

April 1999,

Monterrey, Nuevo Leon, Mexico

Employment: Software Engineer

Contact/Reference: Aldo Laiseca

Worked as a software engineer in 'C', Visual C++, Visual Basic, and in various assembly languages (Intel 80x86 and 8051/8031) developing an assortment of information-collection and management programs for clients throughout the country of Mexico. (Employment Details: )

Assisted clients in identifying software, design, and interface requirements

Designed, developed, and maintained Visual Basic 3.0 and Visual C++ 1.51 code

Worked in Windows and embedded (8052) environments

Extensive work with barcode scanning and printing

July 1994

Jan. 1996, Littleton, Colorado, U.S.A.

Employment: Software Engineer

Contact/Reference: Ted Ott

Participated as a member of a development team that worked in a MIPS-based Unix Operating System developing a 'C'-based financial application. The application assists automobile dealerships in the task of managing car sale/lease deals in such a way as to maximize dealer profits. (Employment Details: )

Assisted in identifying software, design, and interface requirements

Extensive use of Unix pipes for inter-software communication

Designed, developed, and maintained code in Visual Basic 3.0 and C under MIPS OS.

Dec. 1992

July 1994 Micro Insurance Software, Inc., Aurora, Colorado, U.S.A.

Employment: Network Administrator/PC Support Specialist

Contact/Reference: Ned Boddy

Acted as the Novell network administrator and internal support department and was responsible for approximately US$250,000 worth of purchases in 1993. Independently developed a purchase authorization and asset tracking system to improve my efficiency in my primary tasks. (Employment Details: )

Administration of Novell 2.15 and 3.11 servers

Software development in Visual Basic 3.0

Aug. 1990

Dec. 1992, Littleton, Colorado, U.S.A.

Employment: Software Engineer

Contact/Reference: Ted Ott

As my first position in the software industry, my primary task was initially the development of programs to print forms for automobile leases and purchases. As my experience in the field grew I began to assume duties in more complicated areas such as financial calculations, bar code reading, and modem-based communications to access customer credit bureau reports. (Employment Details: )

Designed, developed, and maintained code in Microsoft QuickBASIC.

EDUCATION

Aug. 1989

May 1995,

Denver, Colorado

Bachelor of Science in Business Administration

Major in Information Systems

CU-Denver Regents Scholar

Received degree May 1995.

REFERENCES

Available upon request. Email addresses for the contacts/references mentioned in this

resume are also available upon request--they've been removed from this online version of my

resume to help the contacts avoid being spammed.



Contact this candidate