Engineering Hero: Daire McNamara Takes Microchip's PolarFire SoC to Space
August 15, 2023
Meet Daire McNamara. Daire lives above a boarding school just outside Limerick, Ireland. He enjoys running, collects art, and is doing his best to learn French.
He also writes code for the International Space Station.
Daire is a firmware engineer at Emdalo Technologies, a small, six-person software development firm you’ve probably never heard of. He helps clients develop all sorts of electronic systems you actually might have heard of, but specializes in chip bring-up—the process of getting newly manufactured microprocessors ready to host an operating system.
“I think my key characteristic is perseverance…I don't know when to give up,” says McNamara. “I continue to work problems until they're solved. In some cases, it’s taken weeks, sometimes even months, to resolve issues but, unfortunately, I have that tenacity to just keep going back over and over again to try and figure it out, to try something else, to come at it from another angle, from a different approach, until eventually we get some sort of solution.”
Daire does, and always has, gotten a kick out of getting a microprocessor to sit up and do its tricks. So, it probably comes as a surprise that he found himself in the high-tech industry by accident after growing up in a family that hauled livestock across the Irish countryside and later pursuing a degree in organic chemistry.
But a couple of startups, lots of Bluetooth chip bring-ups, and a small city’s worth of professional connections later, and Daire found himself in the extraordinary position of impacting thousands of Linux developers worldwide by writing drivers for a platform on the ISS.
Enabling the Linux Community from Space
Chip bring-up is a job most technologists don’t want or know how to do. It involves developing and running a series of low-level interface and memory tests, coding drivers, verifying the boot process, and debugging the debuggers, then rolling all that work into the creation of board support packages (BSPs) and software development kits (SDKs) over a period of weeks or months. There isn’t much glory in it, but application development can’t happen without it.
Daire has performed chip bring-up on dozens of target microprocessors, if not more, bringing to life chips based on Arm, x86, PIC, SPARC, ARC, MSP, and other microarchitectures so other engineers can take advantage of them. He recently did the same for a new RISC-V-based chip, the Microchip PolarFire SoC FPGA, adding error detection and correction (EDAC) mechanisms and Linux drivers to its technology stack for in-space servicing, assembly, and manufacturing (ISAM) company Skycorp, and doing so in time for the launch of a Northrop Grumman NG-17 spacecraft that would carry their test product into orbit just weeks later.
For Daire, assisting companies in their efforts to launch next-generation solutions like Skycorp’s intelligent Space System Interface is a typical day at the office. However, most of the time he is unaware of how his contributions to microprocessor development infrastructure are put to use by the software engineering community, nor is the software engineering community aware that what it accomplishes is thanks, in large part, to his efforts. But his impact is far reaching.
For instance, the work Daire performed for Skycorp resulted in an open-source Yocto Project Linux distribution, which was posted to GitHub before propagating into the Yocto mainline. Canonical subsequently adopted some of this infrastructure in their port of Ubuntu to the PolarFire SoC FPGA Icicle Kit, exposing the device – and its development infrastructure – to the largest open-source development ecosystem in the world.
“Linux is constantly changing, constantly evolving. You come back to it after a couple of months and all the APIs that you're used to, all that's changed and it's a whole new world,” says McNamara.
Of course, not all of the millions of Ubuntu users will develop on the Icicle Kit, but thousands of engineers will certainly go on to create devices based on the PolarFire SoC FPGA and, in doing so, build off the work Daire started. And this isn’t counting the unquantifiable number of developers who have already benefitted from the many chips he’s had a hand in optimizing over the years.