Nathan Fettinger

Computer & Electrical Engineer

curious developer geek



I am a passionate developer, motivated by difficult challenges and a drive to learning new things.

I currently work as an Aviation Software Engineer at Garmin, integrating software onto new hardware platforms. I am also responsible for development and design of the kernel and device emulators.

Contact Details

  • Nathan Fettinger
  • Kansas City, MO
  • Download Resume



Senior Software Engineer - Aviation

2016 - 2017

New Navigation Product Integration

I worked closely with Electrical Engineers to integrate software on new hardware platforms. These products were driven by certain major electrical components going end of life, which prompted a refresh of the entire unit. Most notably, it boasted a new processor family to keep up with growing functionality requirements. The new products were designed to support the growing needs of aviation software for the next decade.

Some of the more notable efforts and hurdles include:

  • Prototyped and integrated a new analog joystick to replace the digital interface. This allows the pilot enhanced control when panning on maps and charts.
  • Integrated an existing touchscreen platform which had been used on other units. This required updating the FPGA interface to support the new processor.
  • Updated the Boot Loader to support variable memory sizes, kernel binaries, and recovery partitions.
  • Updated the recovery kernel to support remote software loading. This allowed bricked units to be recovered without requiring the unit to be taken apart to connect expensive and limited JTAG debuggers.
  • Converted several conditionally compiled code sections to runtime software decisions. These conditions were previously per unit dependent, preventing the shared binary from being scaled to units with varying hardware support.
  • Traced and reported the root cause of a bug in the Trace32 development environment.
  • Integrated new backup power logic which supported various super capacitor sizes.
  • Investigated an issue with Microsoft Windows resolving NET/CIFS addresses on optional ethernet interfaces.
  • Added library support for processor driven graphics dithering which supports a much wider variety of screen interfaces. This was key to integrating a new 18 bit screen without a noticeable impact on unit performance and aesthetics.
  • Designed and implemented a new board configuration platform. This allowed software to detect and support various revisions of boards with varying features, without breaking backwards compatibility.
  • Integrated software support for retrieving the processor extended trace buffer when errors are detected. This greatly helped developers reproduce and investigate a wide variety of rare and complex bugs.
2014 - Present

Kernel Library - Component Owner

The Kernel library is shared amongst most of Garmin’s aviation products. It powers everything ranging from audio panels to Multi Function Displays and GPS computers. The library also supported a large array of hardware components and processors. As a component owner, I was responsible for reviewing proposed design changes, evaluating new issue scopes and time estimations, and determining system impacts. During this time, I lead a project to re-certify the library for a new family of processors under a new testing environment. This required reviewing the software to create manageable tickets, estimating time requirements, analyzing test coverage, managing a group of over 10 interns, and ensuring the work was completed on time and in sync with the ongoing development release cycle. The entire process took several months, and greatly reduced the time impacts of future feature development.

In addition to ownership responsibilities, I also actively integrated new features into the library. One such notable project was upgrading the ethernet packet processing platform to rely on a new memory management component. Not only did this greatly reduce the processing overhead, but allowed the library to be scaled to new embedded products which were designed with reduced memory availability and speed.

Managed the verification and recertification of the entire library for new technologies, including multicore processors. This project lasted serveral months, required several weeks of planning and preparation, and required the training and coordination of over ten interns and five full-time associates.

2012 - Present

Demonstration Mode & Simulators - Primary Component Owner

The Garmin Simulators are used for product training and trade show demonstrations. They are also used extensively by internal engineers and technicians for system testing, issue reproduction, and feature integration. Demonstration mode also helps our system benches pair with flight simulators for a fully responsive simulated cockpit.

In order to minimize project scope and keep compatibility with legacy units, I was required to integrate an interface between the Direct X graphics driver (Microsoft Windows application) and the Open GL driver (which rendered the graphics on the hardware). Another large scale project I worked on included scoping and integrating ARINC 610B design requirements into the Garmin Integrated Flight Deck simulated environment.

As component owner, I was responsible for the following:

  • Developed and maintained system level regression tests to ensure releases had a very high level of quality and excellence. This includes stress testing and CPU consumption analysis.
  • Was proactive and involved in all design, coding, reviewing, maturing, and testing of the component’s features and functions.
  • Point of contact for internal and external customers. This includes having detailed discussions and meetings with people having a wide knowledge base. As owner of the demonstration mode, this included gathering feature enhancement ideas from internal divisions such as Technical Publications, Engineering, Trade Show Personnel, Teachers, and many more. I was also responsible for discussing problems with external customers, which is typically personel working for the airframe manufacturers.
  • Maintain and address issues with our system simulators and lab benches such as the Human Factors Lab. This also includes troubleshooting issues with PC to device communication, and device to flight simulator communication and compatibility.
  • Maintained a prioritized list of issues and enhancements for scheduled and unscheduled releases. This included scheduling, estimating the time requirements, analyzing defects for worst case scenarios, distributing work load, and much more.
  • Maintained and reviewed documentation for internal customers and other component leads.
  • Was knowledgeable about adjacent components and understanding their roadmaps and requirements.
  • Performed document release activities for FAA compliance.

2012 - Present

Aviation Panel Mount Displays

I was proud to be a key team member for Garmin Aviation, helping to design and create the next generation of avionics. These new products are extremely scalable, offering solutions from low budget FAA compliant requirements such as ADS-B, to fully scaled avionics as the G5000 integrated flight deck. This new generation is increasing safety, capability, aircraft and pilot efficiency, and even integrating connectivity to the cockpit, all while reducing weight, cost, and physical space requirements.

As a software engineer in aviation, I was responsible for creating both high and low-level design requirements, developing complete solutions and implement them, writing and performing tests to ensure completeness, robustness, and proper error handling, fully determining the impacts, and getting everything reviewed at each step along the way. This vigorous life cycle required an imaginative approach to cover every conceivable corner case in order to provide the safest, and most complete solution possible. It also required an immense amount of technical leadership and project planning to ensure that preexisting and certified platforms were not impacted by major changes to the shared libraries.

During this time, I worked on everything from the integrated lighting bus; box to box alert blink synchronization, a synthetic vision system that included obstacle, terrain, and traffic in a computer augmented reality; and all the way to flight plan input and display improvements.

The formal Garmin job description when I started in 2012 was as follows:

  • Decompose functional requirements into well-defined tasks
  • Research fundamental problems and implement algorithm solutions that are appropriate
  • Balance quality, quantity and complexity in work output
  • Offer peer technical assessments in areas of expertise, new technologies and software designs
  • Work with software vendors to integrate externally developed deliverables into projects
  • Make substantial contributions toward determination of project goal/objective feasibility
  • Offer process improvement suggestions and author new procedures as appropriate
  • Apply good judgment in setting schedules and risk taking
  • Participate in product definition activities such as feature analysis and system tradeoffs
  • Exemplify Garmin’s Mission Statement and Quality Policy and proactively works to improve Garmin’s image and culture


Michigan Technological University

2006 - 2012


Master of Science in Computer Engineering

Thesis Research:
View my full Thesis hosted by MTU.

  • Problem - Charging the batteries of PHEVs and PEVs will increase the daily electricity demand by per household approximately 40%. This aggregated demand can decrease efficiency and threaten grid stability during peak usage hours.
  • Proposed Solution - Implement a primary distribution controller to collect Location Marginal Pricing (LMP) predictions and vehicular constraints in order to schedule the charging/discharging times for vehicles connecting to the feeder.
  • Outcome - This optimized scheduling which increased the base load with little to no increase in the peak demand. This also improved power quality while reducing the peak demand under certain conditions.

Transportation Electrification Conference and Expo (ITEC) 2012 - Minimizing residential distribution system operating costs by intelligently scheduling plug-in hybrid electric vehicle charging.

Graduate Advisors:
Dr. Chee-Wooi Ten - MTU Profile - LinkedIn Profile
Dr. Chungxaio (Tricia) Chigan - MTU Profile - LinkedIn Profile

Relevant Courses:
Embedded Sensor Networks, Dist Embedded Control Systems, Computer Networks, Distribution System Emergency, Artificial Intelligence, Detection and Estimation Theory, GPU and Multicore Programming (audit), Graph Theory and Optimization, Advanced Computer Architecture.

GPA 3.61

Graduate Teaching Assistantship
Was a teacher for the following labs:

  • EE4800: Practical Circuit Design Covers specific topics in electrical engineering.
  • EE4735: Embedded System Programming Introduces concepts and skills of microcontrollers with limited resources. Describes basic microcontroller interfaces with sensors, motors and networks. Topics include microcontroller programming using C, real time operating systems, embedded networking and embedded control, sensor networks, and mobile robotics.
  • EE3306: Electronic Design with Microprocessor Covers the design and analysis of electronic circuits with microprocessor applications.
  • EE3305: Circuit and Analysis Lab Covers circuit design and analysis, and linear system applications.
  • EE3010: Circuits and Instrumentation Designed for non-majors. Covers the principles of electrical and electronic measurements, including dc, ac, semiconductor devices, amplifiers, and filtering.
  • EE2304: Logic and Signals Lab Experimental solution of engineering problems. Includes design, simulation, and evaluation; advanced measurement techniques in digital and signal processing systems.

2011 Graduate Teacher of the Year Award - Department of Computer and Electrical Engineering.


Bachelor of Science in Computer & Electrical Engineering

Relevant Courses:
Embedded System Programming, Systems Programming, Electric Energy Systems, Computer Graphics - Foundations, Digital Image Processing.

GPA 3.45

Senior Design:
Automotive Climate Control Device Validation - Sponsored by Behr-Hella ThermoControl. I was part of a team that created a mobile bed of nails platform for product testing and validation.
The mobile, all inclusive, test device could be taken to any vehicular testing center. This allowed for technicians in charge of validating the hardware (Thermal Control Systems in Chevy Vehicles) to determine where the devices failed. Previous to this, technicians would have to ship the faulty control board units back to the factory, using the end of line bed of nails validation device to determine which components and devices were broken. This problem not only cost them time and money in shipping charges, but it required the product line to be halted while they tested the hardware .
Our solution weighed less than 30 pounds, had a battery supply for when a wall outlet was not available, and was able to communicate with any laptop with National Instrument’s Labview. Since the company created two types of boards, a technician could switch out the testing hardware easily without any special training. The bed of nails utilized testing points on the boards in addition to reading CAN error codes to determine the problem with specified hardware. This was used to find problem areas, allowing designers to create more robust units while keeping the production costs to a minimum.

Study Abroad:
University of Malta in 2009 - Studied history, international relations, architecture, and globalization.

Skyweb Networks 2008 - Skyweb Networks was a small internet service provider consisting of less than 20 people. Skyweb utilized wireless modems to grant high speed (Up to 6Mbps) internet to residents in rural areas around Saginaw who were outside of the service area for other ISPs and did not want the high latency of DSL. In addition to this, we also served customers in the metropolitan area of Saginaw who wanted an alternative ISP with better customer service.
I assisted employees with everything from hot spot surveys and setup to configuring modems for installation in residential customer’s homes.
I was also part of a team responsible for fixing and rebuilding broken computers. These devices ranged from virus infected or unbootable machines to those that suffered hardware failure and needed parts replaced. These machines ran on all operating systems including Microsoft Windows, Apple OS, and various Linux distributions.

Undergraduate Teaching Positions:
Worked in the Computer Science Learning Center for 2 years.
Worked in the Electrical Engineering Learning enter for an additional 2 years.


Programming & Scripting Languages


C / C++










Assembly (ARM)






Shell Scripts







Compilers & Build Scripts






Boost Build





Developer Environments


Visual Studio










Android Studio

Debuggers & Technology




ARM Cortex












3D Printing




Bullseye Coverage


Beyond Compare

Revision Control











Issue Tracking









Operating Systems


Microsoft Windows


Fedora 17-20


Ubuntu 12.04


Ubuntu 14.04


Apple OS X


College Clubs

MTU Broomball: Player Statistics
Broomball was one of my favorite things to do during the winters at Michigan Tech. I played in the off-campus leagues and on teams with housemates and friends. Broomball itself was invented in Canada sometime in the early 1900s. Today, professional Broomball players use specialized brooms and shoes, but Tech continues the original tradition with tennis shoes and duct-tape covered brooms.

Husky Tae Kwon Do: MTU Husky TKD
I am currently a 1st dan (Black Belt), and have been studying the art for over 3 years. My study of Tae Kwon Do is in the style of Chung Do Kwan, under the instruction of Master J. Henkel (7th Dan). He started the club while commanding MTU's Army ROTC program as a Lieutenant Colonel. The club is part of American Chung Do Kwan, Ltd. Throughout the years, over 120 black belt ranks have been awarded, at least five of which are titled "Master". I often assisted officers with their duties, including the creation of the 2010 webpage.

Audio Engineering Society: MTU AES
MTU-AES harbors and encourages educational interest in audio design, theory, and production for new members. More advanced members were encouraged to participate in the investigation towards new innovative audio technologies, processes, approaches, and theory. I was an active member of the Car Audio Group. We organized local competitions, as well as designed and installed systems for national audio Competitions.
I have also completed the course "Fundamentals of System Design, Implementation, and Optimization" offered through Meyer Sound. The course covered topics such as line array theory and implementations, acoustic summation issues, advanced subwoofer arrays, and much more.

IEEE MTU is a student branch of the IEEE. We maintained a community accessible student-run lab for home projects, homework, and other activities. We also hosted speakers, gave seminars/classes, and acted as a service organization for the ECE department. The IEEE lab is a student run work space aimed at tinkerers, builders, and people with a general interest in electronics design. We provided a fully equipped and stocked lab for personal and professional use. I was an active member of the group throughout my undergraduate and graduate career at Michigan Tech. The lab resources were very helpful when I spent time creating personal and educational robotic projects.

Personal Robotic Projects

Shortly after graduating from graduate school, I built a 6 wheel robot in my free time. It is currently r/c driven but will eventually be controlled autonomously through and off-board computer. The picture/image recognition system is out of my level of expertise and will be implemented from open source code. From here, I will implement path optimization and decision making. In addition to software updates, I have created designs to implement movable legs, further adding to the difficulty of terrain the robot can handle. However, this will require the purchase of many servos. To continue this development, I have recently assembled a 3D printer.

I built a 3D printer to prototype and create custom parts for other projects. It is an open source Delta printer, capable of printing with all sorts of materials. I have used many modeling programs to design the parts. My personal favorite was AutoSCAD because designs could be created from mathematical code, similar to MatLab.

Personal Web Server

This web page was fully designed, written, and tested by me without the use of a developer environment. It is fully HTTP5 and CSS3 compliant. It also protects sensitive information (such as email addresses) from misbehaving web crawlers. For more information, I encourage you to view the page source.

In addition to hosting this web page, I also host a free storage server for family and friends. This allows them to store photos and documents offsite in case of fire or flood. The storage server is also utilized for triggered offsite surveillance storage. In the case of a robbery, video surveillance is uploaded automatically to the server to prevent the thieves from pulling hard drives and taking the only copy of incriminating evidence with them.

Adolescent Work Experience

Ever since I could walk, I could ride a horse. Our family had two horses growing up. When I was twelve, I started working at the barn and I kept the job of taking care of 20+ horses until I left for college. I also mowed lawns and split wood during the summertime.