William Eustace

William holding laptop and telemetry receiver in Svalbard

I'm an engineer with particular interests in software, RF and digital electronics, and fluid mechanics. I have a long-standing interest in embedded and low-latency software, and situations in general which benefit from efficient low-level design. I am a keen sailor of yachts and dinghies, a lifelong musical comedy fan, and an amateur radio operator, holding the UK callsign M0WJE: for more on this see m0.wje.io.

Project Showcase

RSGB 2020 Convention: DSP Lecture

A pair of silicon wafers after electron-beam metallisation with chromium and gold.

The RSGB (Radio Society of Great Britain - the UK amateur radio society) hosts an annual convention with lectures on a variety of topics at a variety of levels. After my lecture in 2018 I was invited to speak again this year; I wanted to challenge myself to explain a technical topic in proper detail to an audience which did not necessarily have a high level of mathematical preparation, having observed over the years how high variance in this skill is. In the end, the lecture had to be delivered online, due to COVID-19 restrictions.

After this experiment, I can confirm it is difficult! The talk was pitched at those with at least a vague recollection of A-level mathematics and sought to cover the "underlying concepts" of digital signal processing. I began with a more complicated and longer presentation than I intended to, but refined this after discussing both with local radio amateurs familiar with DSP and a focus group roughly representative of the target audience. The final presentation can be seen on YouTube. A PDF set of slides with additional notes and a couple of "bonus sections" are available here. An email received after the event from an anonymous radio amateur commented "Finally some maths at last!" I'll take this as proof that the lecture satisfied at least some!

Graphene Microwave Sensors

A pair of silicon wafers after electron-beam metallisation with chromium and gold.

In my fourth year project, spanning the academic year 2019-20, I developed and tested graphene-based high frequency sensors, seeking to combine the 'surface' sensing potential offered by this unusual 2-D material with the existing world of RF sensing. A partial set of RF measurements (0-48GHz) were taken shortly before the COVID-19 pandemic and consequent lockdown closed the laboratory facilities; to supplement them, extensive FEM-based simulations of the sensors were performed by driving Keysight's EMPro simulator with procedurally generated situations through the software's Python API. The resulting data were analysed using two approaches: a classical circuit-model based approach, in which an equivalent-circuit model is fit to the measurements and the resulting component values regressed against the data; and a pure data-driven approach, in which basic data science techniques were employed to model the device. The latter approach was very successful at extracting the trends despite modelling of realistic manufacturing variations in the simulated sensors: this is being progressed with a view to publication.

The project ran from dicing a silicon wafer through transfer of CVD-grown graphene, lithography, metallisation, and die probing. Analysis scripts used scikit-rf, scikit-learn, and pandas. The photograph above shows a pair of test dice after metallisation with a thin layer of chromium and a slightly thicker layer of gold, for which an electron-beam evaporator was used.

Yacht Hull Monitoring

The breadboarded project

During Phillip Stanley-Marbell's excellent "Embedded Systems" course, we were required to build a breadboard project around a relatively low-end (unless you remember the days of the Arduino Uno, PICAXE et al...) ARM microcontroller, the Freescale (now NXP) Kinetis KL03Z. I elected to build a data-logger to measure the strains on a yacht hull while under way; the key measurements were acceleration, for which an old 9-axis IMU I had lying around was used, and hull strain, measured using a resistive strain gauge in a Wheatstone bridge; this was measured using a Cirrus CS5530, a neat 24-bit ADC with front-end ultra-low-offset (chopping) in-amp. The data were stored (without a file system) on a microSD card with a timestamp from the MCU's inbuilt RTC. We were provided a massive C program and it was suggested we could add our functionality to this; in order to fit everything into the available Flash, and have relatively easy-to-follow code, I elected to scrap it and start afresh from the latest version of the microcontroller SDK.

The finale of the project was a live demonstration and presentation of the design; a Python script using Matplotlib graphed data piped from the device over a USB serial connection in real time. The SD card had no file system, but, under Linux, it required only a short (50 odd sloc) C++ program to retrieve the data and pack it into a CSV. After the conclusion of the academic assessment, a PCB was designed for an improved version featuring an STM32F4 and a more modern IMU; this has yet to be manufactured. A short report (2 pages with stringent content requirements, hence the awful formatting) is available for your amusement here. The photo above shows the project; on the piece of wood at top is the tiny 350 ohm resistive strain gauge, with the very fine wires strain-relieved by tape. From left, the breadboards contain the CS5530 on a generic TSSOP breakout board, the MPU-9255 IMU, the FRDM-KL03Z dev board, and an OLED breakout provided by the course but used here only for its microSD socket. The author begs that the copious use of duct tape and chaotic wiring not be viewed as completely representative of his mechanical and electronic engineering ability; I do PCBs when I have time... The setup had to be transported a significant distance in a bike pannier before the demo, so the breadboards were taped down to a chunk of plywood to provide mechanical resilience!

RAeS/RSGB Paper & Presentations

Presented with the G5RP Trophy after presentation at RSGB Convention

In 2018, I entered the Royal Aeronautical Society's NE Rowe lecture competition, delivering a lecture on the history of microwave engineering in aerospace; I was selected for consideration in the final by the judges in the East of England section, presented a corresponding certificate by (the late) Sir Michael Marshall, and went on to write a paper on the matter for the final, entitled "Death Rays to Dinner: a lighthearted history of microwave engineering in aerospace". This received a certificate of merit, presented at the RAeS annual awards ceremony. The excuse to spend some time writing at length on historical research made for a refreshing change from my engineering studies.

Never being one to waste an opportunity, I was persauded to give a presentation based on the RAeS competition work at the Radio Society of Great Britain annual convention: this went down well, and I later repeated the talk by request at the Cambridge & District Amateur Radio Club and the UK Microwave Group's Annual Roundtable (an entertaining event held at the BT Headquarters in Martlesham, near Ipswich).

After the RSGB Convention talk I was presented the G5RP Trophy for unrelated amateur radio activities: the presentation is shown in the photo above.

Svalbard Balloon Launches

View from HAB launch site, an observatory near Longyearbyen, Svalbard

In September 2016, I travelled to Svalbard to assist with a number of high altitude balloon launches by the same group behind the ESERO-supported ASGARD programme: namely Erik de Schrijver of Sint-Peterscollege, Brussels. While at school I had worked on a project launched on ASGARD-IV that attempted to count gamma photons using a photodiode, while also measuring various other parameters. I was then invited back to work on the Svalbard launches. The main projects ended up revolving around image capture and transmission; I designed a telemetry board using 434MHz LoRa radio.

UK & European CanSat competition

Photograph of Team Impulse's CanSat rover.

I led "Team Impulse", a team of 8 from St Paul's School, London, in the ESA CanSats in Europe competition; we won both the UK and European competitions with our rover. I designed and maintained the electronics and almost all the software for both launches; for more information see the project website (now archived), the team GitHub repository, or the ESA news bulletin on our win.

SiPM radiation counting

Recovery of HAB payload bearing radiation detector

After the UK CanSat win, Chris Hillcox offered us a HAB (high altitude balloon) launch for the payload. As this would make little sense for a rover, I decided to revive a project on which I had previously worked with a friend: a non-Geiger-Müller tube method of detecting radiation. I designed and built the digital telemetry board for the project, with barometer, GPS, SD card logging, and a LoRa radio (RFM98W). For more on the SiPM project and the analogue/FPGA components, see this page.