“Programming right down to the bare metal since 1980.”
My name is Jeffrey Nonken. I am an embedded systems software engineer originally from Chester County, Pennsylvania, now living in Sacramento, California.
My current job is working for Precision Flight Controls in Rancho Cordova, CA, developing firmware for flight simulator hardware. My next most recent job was for Lighting Science Group, formerly LED Effects, Inc., developing firmware for LED-based lighting devices. Before that I worked as a contract engineer with Schulmerich Carillons, Inc., where I was developing a radio remote hand chime. I have also worked for Moore Products Co., now part of Siemens Energy & Automation, where I helped develop a variety of process control systems; for Analect Instruments division of Laser Precision Corp. developing infrared spectrometers; and for CA Electronics, an engineering consulting firm.
Among my greatest strengths are analysis, synthesis, and good general problem-solving skills. Some examples of where I have used these skills:
During my first month at Analect while waiting for an assignment I noticed that the EPROM programmer's software was very primitive and nearly unusable. Using the time on my hands I created my own project; I used the debugger to grab the basic hardware drivers, converted them to assembly, and incorporated them into a simple but much friendlier application. The result of a few hours' work was an increase in productivity – and the gratitude of my co-workers.
When a co-worker was having trouble fitting a text-intensive project into its available ROM space, I was able to create a DOS utility to compress the text using Huffman-type coding and an embedded function to expand it real-time in the device. The result was enough usable ROM space for the remaining life of the product, with no noticeable change in performance.
Because our proprietary small instrument link and the HART protocol were so different, sending information from one to the other was a multi-part process. I designed a buffering scheme and a state-machine-driven interpreter that assembled HART messages from a combination of buffered and incoming data, in a primitive bank-switched memory space, and made it efficient enough not to seriously impact the instrument's main function as a single-loop digital controller. Adding new commands was simple; the interpreter was expandable and well-documented.
My goal is to work as an embedded systems software or firmware developer for a small-to-medium-sized company.
Find out more: