David Smart

Résumé


mailto: Dave@Smart-Family.net


Career Objectives:

To leverage and expand my skills for real-time embedded systems development. With excellent knowledge in electronics, and as an expert in software development for real-time systems, I can both lead and perform efficient, on-time, high quality optimized development.

Experience and Education:

2006 - Present

John Deere, Waterloo Iowa

Senior Engineer, working on advanced electronics.

2001 - 2006

John Deere, Urbandale Iowa

Software Architect and Project Lead for an ISOBUS advanced display in the Ag. Management Solutions division of John Deere. The ISO11783-6 Virtual Terminal market. First available in Europe in 2005, it has now been released for [worldwide] distribution. The new GS2 family of displays (GSD2100 and GSD2600) host AMS Guidance and Documentation applications, as well as the ISO11783-6 Virtual Terminal (VT). These displays are designed as a software platform on which additional AMS applications can be installed. To bridge the gap from the legacy equipment of the older black and white GreenStar Display, the new color GS2 runs the Original GreenStar Monitor software, allowing this new display to work with older equipment. As a VT, the GS2 is the operator interface for a host of equipment from John Deere and others.

2001 - Present

John Deere, Urbandale Iowa

Software Architect and Project Lead for advanced display project in the Ag. Management Solutions division of John Deere. This is the John Deere entry into the ISO11783 Virtual Terminal market.

1979 - 2001

John Deere, Waterloo Iowa

1995 to 2001 team leader for a group that produces an embedded solution for most Deere equipment needs including support for Society of Automotive Engineers (SAE) J-1939 based Controller Area Network (CAN) networking as well as I/O device drivers. Internal consultant to most Deere divisions that embed electronic control units (ECUs) on vehicles, both domestically and in Europe. One of a few involved in developing an efficient J-1939 compliant embedded communication stack as well as producing proposals for the SAE J-1939 committee - Memory access to be used for reprogramming and diagnostics. Developing and internal tutoring in improved programming techniques, more efficient testing techniques, and software architectural design techniques. Developed internal software analysis and instrumentation techniques and authored a preliminary application note on stack frame analysis that has since been posted on Tasking's (C compiler vendor) web site as an app note.

Summer 1995: Evaluated Embedded Systems Products RTXC real-time operating system for the C167, identifying several implementation issues that prevented it from being used in Deere products.

Spring 1995: Software team leader for a group of 4 developing electro-hydraulic controls for Construction Equipment Divisions 4WD Loader using C language for Infineon C167CR based ECUs with CAN for on-vehicle communications.

1992 - 1994: Transmission controller software development in assembly language on Motorola 68HC11 based ECU's.

1989 - 1992: Programmer for Agricultural tractor instrumentation using C language for Intel 8051FB based ECU's and CCD networking for on-vehicle communications. Facilitated on-site training in C language for other developers.

1986 - 1990: Sole embedded programmer for Agricultural tractor instrumentation ECU's. Motorola 68HC11 assembly language using CCD networking for on-vehicle communications. Developed CCD network drivers. One of several involved in developing a Deere proprietary CCD communications protocol. Developer of PC based network analyzer and data logger using C and 3rd party communications and screen drivers. Wrote specifications and managed development of a computer controlled vehicle simulator to enable regression testing ECUs.

1982 - 1986: Sole assembly language embedded programmer for Agricultural tractor instrumentation (dashboard and data acquisition) using Intel 8048 and Motorola 6805 based ECUs.

1993 - 2001

CedarNet Organization

1996 - 2001: Member of the Board of Directors of CedarNet, a community information provider and internet access service. Served as the President from 2000 to 2001. (http://www.cedarnet.org)

1999 - 2001: System Administrators for a Windows NT based system.

1994 - 1995: One of the founders of CedarNet, a free internet access provider.

1995 - 1999: One of the administrators for the original Unix based system, as well as chair of the System Design and Operations committee.

As a board member for this 501c3 not-for-profit organization, I have worked on items from planning to financials, as well as policy and staff management.

As one of the administrators, I have system administration experience with ftp, Sendmail, http servers, telnet clients and daemons, remote control software, NetMeeting, firewall concepts and features, mail relays, cgi scripting, and other administrative tools.

As one of the web developers and programmers, I have developed and/or co-developed applications and web scripts for the automation of account administration, notification of pending account expiration, community calendar, community search engine, classified ads engine, banner advertisements, page visit counters, form mailing engines, and more.

1980, 1981

Iowa State University

I spent two school seasons as a full-time student, to pick up classes and ponder the adventure of an engineering degree. I was a non-traditional student, having been in the workforce for nearly 5 years and I have not pursued a degree to completion.

1976 - 1979

Love Controls, Wheeling Illinois

This company makes process controllers for industries from candy manufacturing to controlling portions of power generation stations. At the time, everything was analog control, and I was recruited to develop the software for a computer based controller. I picked up real experience with analog at this company. One of the first products I co-developed on the way to a full computer based system was a traditional analog PID controller with an extremely accurate digital display. At the time of my departure, there were no immediate plans to develop a computer based process controller.

1976

Plectron Inc, Overton Nebraska

This company produced pocket pagers. I gained experience in analog and RF circuitry, but knew my skills were more tuned toward digital and programming.

1975-1976

Hawkeye Community College, Waterloo, Iowa

This was a technical school at the time, since transformed into a community college. I was in the 2 year electronics engineering program, and graduated with an AAS degree in Electronics Engineering. Course material covered analog, digital, RF, and computers. Beyond the programmable calculators available in high school, this is where I was exposed to the Intel 4004 and 8008 microprocessors, and later the MosTek 6502 and the Motorola 6800. I became quite adept at programming 8008 assembly language, and often took one of the few systems home for weekends and holidays for additional development time.


Skills:

Computers:

Platforms

Windows
Windows XP Pro, Windows 2000 Pro, Windows 2000 Server,  Windows CE, Windows NT, Windows 98, Windows 95, Windows 3, 3.11, DOS
Unix
SGI - Irix 5.x, limited experience with 6.x
SUN - minimal experience
Linux - minimal experience
VAX, TSO
It's been awhile, and much of this knowledge has faded away...

Microprocessors and Languages

Microprocessors and Assembly Language
For most known 8 bit microprocessors - Intel 8008, 8080, 8048, 8051, Zilog Z80, Fairchild F8, 3870, Motorola 6805, 6809, 6811, 6800, MosTek 6502, Hitachi 6301, Microchip PIC, Atmel ATmega 128
For 16 bit microprocessors - Infineon C164, C167
For 32 bit microprocessors - Intel X86 (very limited assembly experience), Hitachi SH4
C Programming
DOS (DOS C version 4 through 7), Windows 32 bit console, Windows GUI (limited experience using Visual C++ version 6), Palm handheld (Codewarrior release 5),
Embedded systems - 8051 (IAR C, Assembly), 6811 (IAR C, Assembly), C164, C167 (Tasking C version 5, 6, 7 Beta), ATmega 128 using GNU 3.3
Codewright programmers editor (version 5 and 6)
EC++, SAFER C
Knowledgeable.
C++
Presently using in a 32-bit embedded environment.
Basic
Visual Basic (version 5), Visual Basic for Applications (embedded in MS Office), QBasic, Quick Basic, Integer Basic
Forth
Hobby experience on a 6502 based system
Perl Programming
Perl version 4 and 5.6 on Unix, NT, and Windows 95/98. Command Line programs as well as security conscious web scripts (CGI programs)
PLM, Fortran, etc
Long ago, but not forgotten...
 

Networking:

Embedded

CAN (Controller Area Network)
SAE J-1939, ISO 11783 Protocols
Architect and author to a very performance conscious design. This was written for portability between 805x, 6811, and C167. Later revised for better performance only on the C167.
CCD (Chrysler Collision Detection)
Asynchronous multi-master priority driven communications network. Applied in assembly and C as interrupt service routine with full buffering and software filtering for 6805, 8051, 6811, C167 processors.
RS-232
Embedded Interrupt driven buffering communications driver.
TCP/IP
Embedded networking - devices operating as a browser client, and devices operating as a web server.

Internet

TCP/IP
Internet Protocols. Since even before 1994, I've been learning about TCP/IP. With work, home, and small business networking support activities, I've grown reasonably adept at this. TCP/IP, SMTP, FTP, HTTP, UDP. Limited Firewall and Router configuration.

PC Based

RS-232
Serial Communications using 3rd party communications library and limited experience with Win32.
 

Electronic:

Hardware

Excellent hardware review and development skills. As a real-time embedded software developer,  hardware design knowledge is crucial. I often participate in hardware design reviews with a particular focus on software compatibility. Since software development costs are now the larger costs of most development cycles, the efficiency of the software architecture and software development cycle can make the difference between being an on-performance / on-schedule product and one that is not..


Personal Information:

Married, with 3 children the youngest of which is a mid teen. Passport holder.

We're a healthy family that is financially stable, with enough hobbies to stay quite busy, boating being among the most favored. Kayaking and canoeing, as well as occasional power boating, with a desire to acquire a sail boat, and have a large enough lake nearby to use one.


Affiliation:

Member of the Society of Automotive Engineers, since about 1979.
Member of the CedarNet Board of Directors 1996 - 2001.