Firmware Development

Most of my professional experience has focused on the development of embedded firmware. Some of this work has controlled vehicles, and some has run in networking or telecommunications equipment. I've always worked on hardware designed by other other groups, but poring over schematics with an oscilloscope, spectrum analyzer or logic analyzer by my side is familiar territory.

Electronics Design

My choice of profession was initially driven by a love of science (physics and electronics in particular). As a young boy I learned from Radio Shack's excellent electronics kit educational toys, and as an engineering student and licensed amateur radio operator my knowledge continued to grow. I understand how to design and troubleshoot a wide variety of commonly-encountered circuits (both analog and digital) including transmitters, receivers, various types of amplifiers, switching power supplies, rectifiers, filters, mixers, modulators, high-current output drivers, etc. Other electronics systems that I'™ve worked on include antennae, transmission lines, oscillators and synthesizers, CPLDs, FPGAs, and DSPs.

Machine Control Systems

As a student I was introduced to the abstracted science of feedback control systems. At the time, this topic seemed an esoteric world of strange diagrams and arcane mathematics. But when I was hired to work on machine control electronics, it became clear why control systems deserved its own special discipline. I've learned to apply various types of control theory to get good performance from electro-hydraulic machinery. These concepts include feedback and feed-forward gain stages, proportional, integral and derivative (PID) control models, multi-dimensional gain coefficient lookup tables, adaptive learning algorithms, and failsafe design methodologies. I'€™m familiar with the special challenges of safety-critical applications and the need for methodical design, implementation and testing of such systems.

Wireless Communications

Professionally, I've worked on UHF and microwave communications systems, 802.15 (Wireless Personal Area Networks), 802.11 (Wireless Local Area Networks) and Real Time Locating Systems. I'm an Extra-class licensed radio amateur with strong interest in analog radio-frequency electronics, and I have extensive embedded design experience. I'm familiar with digital signal processing (DSP) technology and how to apply it to communications tasks such as filter implementation. I understand how to employ RF network analyzers, spectrum analyzers, signal generators, attenuators, etc. I have familiarity with concepts such as intermodulation distortion, multi-path, Rayleigh fading, noise figure, Smith charts, and other concepts specific to RF communications.

Motor Drives

While working at Liebherr, I was involved in the design, construction and testing of a large AC motor drive system. The application targeted large diesel-electric mining trucks, and these machines converted diesel engine power into DC voltage (via a large alternator/generator). Then the DC voltage was converted to 3-phase AC currents to turn the wheel motors. This conversion was performed by large "inverters"€, electrical machines that are similar to switching power supplies. The drive system I helped develop also included a "€œbrake chopper" which dissipates excess power in the DC link by switching/pulsing energy into big resistor grids (where the power is bled away as hot air). This was a medium-voltage system (above 2 kilovolts) switching up to 6 megawatts of power (during maximum load deceleration). We used fiber optics to couple the drive microelectronics with the final-stage IGBTs (this helped avoid false triggering of the IGBTs), and we used active liquid cooling to keep the IGBTs, rectifier thyristors and other high-power components from overheating. The drive strategy included feedback from motor speed/position sensors, current sensors, active control of engine speed/power, alternator excitation current and DC link voltage. This fascinating and challenging product was focused on providing tremendous power for these trucks with maximum efficiency and reliability.

Hybrid Vehicle Technology

Many of the subsystems I implemented at Liebherr and John Deere are now included in the hybrid vehicles that have become popular in recent years. This includes the computerized control of engine and traction motors, electrical dissipation of kinetic energy (rather than friction brakes), feedback control of operator set points, etc. The trend has been for such high-tech electro-mechanical designs to work their way down into the consumer space, and this will no doubt continue as we seek improved efficiency.

Real-time Operating Systems

RTOS, or Real-time Operating Systems, are computerized systems that must control events to very precise time intervals. Engine control systems are a good example, where a computer may need to control the injection of fuel into a cylinder with sub-microsecond timing precision. Real-time location systems are another example in which an RF tag may need to calculate the period between two beacon events very accurately. I've worked on RTOS devices at John Deere, Liebherr and Proxense, and I understand the nuances of hard real time applications such as the need for deterministic behavior, re-entrant functions, and low jitter with stable performance. I've worked with FreeRTOS and proprietary real-time schedulers.

Embedded Linux

With more than a decade of experience using embedded Linux, I've grown familiar with much of the kernel and driver interface. I also have dealt with a wide variety of open source tools and applications. I have familiarity with the /proc filesystem, the TCP/IP network stack, kernel startup mechanism, GDB, profiling, debugging, etc. I've made extensive modifications to kernel and device drivers, network firewalls, and I've implemented and debugged a wide range of protocol handlers including SNMP, DHCP, IGMP, TR-69 remote management protocol, etc. I've added USB support to embedded devices and developed interactive touch-screen displays.

Web Interfaces

At SmartRG, our networking gateways have a rich graphical user interface. The gateways run a web server daemon, and the dynamically-generated pages incorporate Javascript to deliver information to the user. I have solid familiarity of HTML, PERL, BASH and Python scripting, and can implement such web interfaces to facilitate interaction between the user, the embedded devices and hosted web services.

Microwave Circuitry

At Ericsson, and as a licensed amateur radio operator, I worked with and studied microwave communications systems. I'm familiar with concepts such as forming RF components from microstrip and stripline, RF waveguides, antenna radiation patterns, noise figure, using nonlinear devices to implement mixers, circulators, isolators, couplers, and other principles of RF design at particularly high frequencies.

RF Test Equipment

I've used many pieces of electronic test equipment, including oscilloscopes, vector network signal analyzers, spectrum analyzers, logic analyzers, signal generators, multimeters, and QAM signal analyzers (to name a few).

Digital Video

MPEG transport stream, QAM modulation, digital video recording, IPTV over DOCSIS are all technologies supported by products I've helped develop.

Universal Serial Bus

I've implemented USB in embedded devices running both Linux and FreeRTOS, and I've worked on both host and endpoint USB drivers.

Controller Area Network (CAN) Bus

I used CAN-bus networking extensively during my years developing machine control systems. I've defined and implemented J1939 and CANopen messaging, used CANbus analysis tools such as CANalyzer and CANoe, I'm proficient troubleshooting CAN networks on vehicles, and I'€™m familiar with the configuration of CAN-bus micro controller peripherals.