Interview with Wayne Stambaugh about KiCad Electronics Development Application (EDA) – Part 1
In my role as Program Manager of Digital Design Tools at Digi-Key, I get the opportunity to interact with many of our providers and developers. Recently, I had the opportunity to virtually interview Wayne Stambaugh, a Senior Electronics Engineer and Software Developer with Motion Sensors, Inc., who is also the project leader of the C++ based open source electronics development application, KiCad. In Part 1 of this three-part series, I talked with Wayne about how he first got interested in electronics and coding.
JP (Jeremy Purcell): What got you into coding?
WS (Wayne Stambaugh): I started coding for my first project at my first job out of school. All of the coding I did was Motorola 681X and 680X0 assembly for the first few years. C compilers at the time were very expensive and primarily used for application rather than embedded development. Once C compilers became ubiquitous, I taught myself C (from the original K&R book no less!) and then moved to C++ when it became available. Eventually I started using Python for writing automated test equipment (ATE) code. I’ve always enjoyed the integration of hardware and software. Actually, KiCad is the first pure software application that I ever worked on other than some simple scripts and small helper software applications that I wrote for work. All of my other coding directly involved hardware.
JP: What is the hardest/trickiest bug you have ever fixed?
WS: Software bugs tend to be less problematic to resolve with good debuggers. I’ve found hardware bugs are far more difficult to troubleshoot. I’ve had some interesting stray capacitance hardware bugs to resolve. The kind of the old adage “oscillators amplify and amplifiers oscillate” variety.
JP: Where did you get your start in EE?
WS: I’ve always enjoyed exploring how things were designed. Before I went to school to be an engineer, my primary interest was mechanical. It was a toss-up to become either a mechanical or an electronics engineer. In the early ’80s, it was pretty obvious that electronics was going to be a huge field, so I chose that path. I’m glad I did. My first job had me designing automatic test equipment (ATE) for industrial controllers. Back then, everything was designed and built from scratch. More often than not, the test equipment was far more complex than the products they were designed to test. As time went by, GPIB, RS232, etc. test equipment became affordable and then the job became more about software design and less about hardware design. Being a test design engineer certainly taught me how not to design things. Eventually I moved into the product design role.
JP: Do you have any electronics stories you’d like to share?
WS: Nothing that really sticks out. Just the usual comedy of components going “poof” and other usual design mistakes! Some of my own doing and some of other engineers doing.
JP: What is one thing that most people wouldn’t know about you?
WS: I’m old enough to have actually used both an original Apple II and an IBM PC when they were introduced. I also caddied in a Women’s US Open and an LPGA golf tournament for my wife when she was still playing golf professionally.
JP: What do you with your free time besides KiCad?
WS: KiCad doesn’t leave me much free time, but I when I’m not spending time with my family, I am an avid road cyclist. I was actually racing a few years ago, but I quickly came to the realization that I didn’t have enough time to train to be as competitive as I would like to be, but I still go out and drill it with all racers. I also enjoy playing golf with my family but that is happening far less frequently as my children are adults now.
In Part 2, we’ll explore with Wayne his thoughts on open source coding and teamwork. Then in Part 3, we’ll take a deeper dive with Wayne on the actual KiCad electronics development application. Stay tuned!