"Remember to look up at the stars and not down at your feet. Try to make sense of what you see and wonder about what makes the universe exist. Be curious."
- Stephen Hawking
Just like myself, this website is a work in progress! It is meant to serve as a full history of my work and projects. For more of a TL;DR take on what I'm good at, a .pdf file of my current resume is available in the "Resume" tab.
If you would like to get in contact with me, please refer to the contact info on my resume or fill out the "Contact" form above.
Hello! My name is Lucas Briggs (first name Timothy). I am currently lacking a recent formal headshot so please enjoy this picture of myself sleeping 500 feet in the air on a "port-a-ledge". I am a practiced young engineer graduating from Northeastern University in May 2022. I have nearly two years of engineering work experience through a variety of co-ops and other internships from throughout my time in college. These experiences have largely centered around aerospace and satellite development specifically. The work itself has consisted of electronic hardware development and board design as well as a great deal of test automation and software design. I have done my best to avoid pigeon-holing myself into a particular engineering skill as I value generalism and flexibility and would eventually like to lead projects that draw on many different skillsets and disciplines.
I have been infatuated with space and technology for as long as I can remember. I also care deeply about helping to improve the lives of as many people as possible here on Earth. I have been fortunate enough to work on projects like Arcturus at Astranis and Starlink at SpaceX that aim to close the internet gap worldwide with small satellites. Another mission that I hope to contribute to at some point is the fight for the climate and the environment, as I believe that to be a serious existential threat to all of us.
Over the Summer of 2021, I participated in a Research Experiences for Undergraduates (REU) program offered by the MIT Haystack Observatory. The experience lasted about 3 months. I was working on a project known as "AERO-VISTA", where a pair of CubeSat spacecraft are being designed and built to collect spectrum measurements of auroral emissions in low-earth orbit. The satellites employ a novel "vector sensor" technology that allows for determination of direction and magnitude of an incident electro-magnetic wave at a single point in Space.
My portion of this project focused specifically on the software responsible for communications between the satellites and the ground stations that will be sending commands and receiving data. The fundamental concept was to create a software package that would enable a packet of data to be queued for transmission remotely and asynchronously, and then transmitted reliably.
I ended up presenting this project as a poster at the New England SDR (NEWSDR) conference of 2021. The recording of the livestream for that event is embedded below and set to the timestamp where I gave a 3-minute introduction of myself and my work. A .pdf file of the poster itself is included below the video as well. These do a great job of explaining my project in detail.
Over the course of implementing this ground station interface software, it became apparent that it could be extended to apply as a generic interface for many small satellite projects as long as custom configuration was properly implemented. There is a surprising lack of general, open-source solutions available for small satellites since the capability to launch a research CubeSat for relatively cheap is fairly new. The CubeSat Space Protocol and Daniel Estévez's "gr-satellites" package for GNURadio are a couple of good examples, but a generic data uplink/downlink interface like this does not really exist at the moment.
I will be returning to Haystack in the Spring of 2022 as a part-time researcher to continue this project. The hope is to make it even more generic, and potentially usable for any combination of small satellite and ground station radio interfaces. This provides an exciting opportunity for me to take this project that I developed from the ground-up and make a real contribution to the small satellite community.
In the Spring of 2021, I had the opportunity to work at SpaceX on the Starlink project. This was the perfect continuation on the small internet satellite experience I had from my co-op with Astranis. There I met a ton of very smart people and got to participate in the fast-paced and exciting culture that SpaceX is well known for. My projects centered largely around test automation software, as a proper continuation of the work I did toward the end of my time at Astranis.
I cannot show any photos of the work that I did at SpaceX for proprietary reasons. To the right is a picture of me at the beautiful Baker Lake in Washington on a road trip that myself and several of the other interns at SpaceX took toward the end of our time there.
For Starlink I worked on the RF Test team focused on automating the verification and characterization of all the custom integrated circuits designed for the Starlink satellites and their complicated phased array antenna technology. My project centered mainly around the C# library being used to debug chips and run automated tests. My boss, Matt Valerio, had a clear vision of a robust and cohesive libary of test instrument drivers, chip control, test control, and user interfaces that would make any test automation task easy to implement. The library, however, was just moving from version "1" to version "2", and so many of these concepts were in their infancy.
I began by implementing a driver for a bench power-supply unit (PSU). "Driver", in this case, refers to a software object that abstracts instrument features to a set of functions in C# that can be called during an active test to execute those operations. For a PSU, these functions are quite simple. Each power supply "rail" has a set voltage, set current-limit, and is set to be "on" or "off". Underlying these drivers are the concepts of the connection being established to the instrument (usually over Ethernet) and some handler for the commands to send over that connection (most instruments use the SCPI protocol). The goal was implement all of this while paying particular mind to the SOLID principles of Object-Oriented Programming such that future changes could be implemented as extensions of already-implemented objects instead of replacements of them.
I then implemented drivers for an RF power sensor, a vector signal generator (VSG), and a vector spectrum analyzer (VSA), each more complicated than the last. Eventually I had enough instruments implemented such that I could write an actual test. The test I designed collected Adjacent-Channel Leakage Ratio (ACLR) and Inter-Modulation Distortion (IMD) measurements from some RF power amplifier that acted as the device-under-test (DUT). This test was also run with a new test operation GUI that I helped to design which enabled individual test tasks to be run in sequence with pauses in between for the test operator to manually change the testing conditions according to a guide (like changing connections). The goal of this GUI was to make it simple enough to run tests that someone with no experience in C# would be able to do so.
In the Spring of 2020, I moved out to San Fransisco to work for a small internet satellite startup known as Astranis. This was a great experience for me. Some of the team I worked with is pictured to the right (or below if you're on mobile). I convinced them all to take this photo with me during the company holiday luau. For reference, the people from left to right in the image are Me, Brady Salz (team lead), Andrey Martchovsky, and Cross Knight. Missing from this photo are Edward Kheer, Stephen Newberry, and Ho-Jung Yang. They and the rest of the people I met at this company are some of the smartest people I have had the privilege of working with.
Unfortunately I can't show off any pictures of my main project, as that would not abide by ITAR restrictions. In this next picture is something that we called the "Power Harness Board". It is an extremely simple board that harnesses between two important power boards for lab-bench flexibility. I managed to design, build, and order this board in a single day, so perhaps it can help indicate my proficiency with Altium. If nothing else, it is definitely a showcase of my silk-art abilities.
My main project arched over the majority of my co-op. It was effectively a board that would spoof the payload SDR (the one that does all the magic internet stuff) so we could test the voltage regulator system with something more robust and less expensive than the SDR. We called it the "Load Emulator" as its main purpose was to emulate realistic behavior for the load on each of the more than 15 different voltage rails that would supply the SDR.
The board I made was good. It worked the first time, only needed a couple minor reworks to be fully functional, and got the regulator board through bring-up on schedule. However, I think where I really left my mark was with the Python scripts and Grafana visualizations that I wrote to operate the regulator board. Again, I wish I could show those visualizations, but ITAR says no. Basically, I was able to build an interactive shell that could perform operations on any board in the SDR box while gathering telemetry from all of them at once, in a background thread. While I was at the company these tools enabled the RTL team to burn down issues with their Verilog scripts quickly and effectively. Since I've left the company they've helped my team bring the entire SDR box through full qualification testing.
I can actually talk about the main circuit on this "Load Emulator" test platform, as I was able to find a near-replica of it in a TI analog design article (full article here). We called our version of this an "active load" circuit, TI calls it a "programmable low side current sink". The point of this circuit is to have an isolated DAC input set the current drawn on some supply voltage by varying the voltage over RSET (the DAC output is replicated over RSET due to the summing point constraint of A1). CF is a fast-path capacitor that filters out ringing due to FET gate delay. What's so crucial about this circuit is that it's a simple design change to optimize it for different maximum current values. By simply varying the value of RLOAD, and adding load resistors/FETs in parallel, one can easily increase the available current capacity while staying within de-rating on each component.
There's a real love of interns at Astranis. It still blows me away to think about the work that I did, the work that I saw other people my age doing, the people I met, and the beautiful satellite sitting stoic in the clean room on a complex aluminum structure... that was designed by an intern. The challenge of being the first start-up to launch a small high-speed communications satellite into GEO is one for the history books, so to anyone who may be reading this from Astranis: Good Luck and Godspeed!
I went to Charles Stark Draper Laboratory in Cambridge, MA for my first work experience through the Northeastern co-op program. This was from January to June of 2019. Due to ITAR restrictions, I don't have any pictures of things that I worked on. I do, however, have this picture of me blowing up a sterile glove at my desk.
Draper was, for me, a very solid first co-op experience. I entered it with pretty much zero practical knowledge of electrical engineering aside from what I learned in robotics in high school. In fact, a lot of my intuition for electronics ended up coming from the fellow co-op on my team, Joshua Berlin, who was a year ahead of me and very talented at both electrical engineering and the teaching of it.
While I was there I learned how to draft a schematic and layout for a simple board consisting of 7 bi-directional level translators and a custom 8-input OR-gate (using BJTs). This was my first time going through a full stack board design process, and I got quite good at the program I was using. I also had a lot of re-work to do on this board due to miscommunication between me and my team. Josh saw me through the process of learning how to actually solder properly so I could fix the boards as fast as possible.
I also learned a lot about coding and test automation. One project entailed building a program in Python, Arduino, and GNURadio to operate a servo platform via both a PyQT GUI and signals coming from 4 different SDRs. These SDRs were connected to 4 high-directivity antennae arranged in a NSEW pattern, and the idea was to track an object based on radar signal received on those antennae. Another project involving Arduino had me design a program to test the capability of a Si5338 clock generator chip to sweep it's output frequency at different accuracies over a large range. This project occured near the end of my co-op so I then had to write a 17-page guide detailing how I accomplished this particular sweeping strategy so that the FPGA engineer on the project would be able to replicate it in HDL.
Over the summer of 2020, I worked on a project with the RSS Fingerprinting team of NEU-SPIRAL, a data-oriented research lab an Northeastern. The project was focused around indoor navigation by Wi-Fi received-signal-strength. What you can see in this first picture is a bunch of Wi-Fi RSS data collected from a real-world study and displayed as a room using Python matplotlib. This room was in a library, and the white spaces you can see in the image are the bookshelves in that room. In total there were 448 different Wi-Fi access points detected over the course of the study, and the software tools that I wrote allow you to look at the data for any set of those access points over any collection of epochs within the study.
A key feature of this RSS simulator is the ability to generate a momentum-influenced random-walk trajectory through the room's valid positions. This trajectory can be seen in red within the following picture. There is then the option of "tracking" this trajectory using the available RSS data and a cubature Kalman filter. The minimized-error trajectory determined by this tracking algorithm can be seen in blue. Neither the random walk nor the tracking algorithms were designed directly by me, but I did have to gain a basic understanding of both in order to implement them into the simulator.
Another key feature of this tool is the ability to vary the "noise" and "uncertainty" of the RSS measurements by dragging the "n" and "u" sliders at the bottom of the plot (the ap slider is to view the RSS data for individual access points. In this case we are looking at access point 1). In this next picture you can see noisier RSS data and the resulting noisier trajectory estimation.
Raising the "uncertainty" slider makes it more likely that an access point is not detected in a given measurement (based on the probability of that access point being detected over the study epochs being analyzed). An access point not being found at a certain position is represented by a whole lot of white nothing at that position.
The Spindle Rock Club LLC sailing program was my childhood, my first full-time summer job, and something I hold near and dear to my heart.
I sailed with the program as a student every summer for 4 years. A day from one of those years is represented in the following photo which, fun fact, actually made it into the local newspaper. The program sails along a tidal river with a ripping current and access to the open ocean. It is super fun, occasionally dangerous, and I consider myself very lucky to have had the opportunity to experience it for so many years.
I taught for 5 years, the last year of which I was given the job of "Head Instructor". That year there was also a new director by the name of John Bergland. John and I worked to modernize, restructure, and redefine the sailing program as something that took the act of instructing more seriously than in years past. I found that putting in the necessary effort to help a kid be confident in a sailboat from the get-go was much more rewarding than being a glorified babysitter. I sort of manifested a curriculum by simply messing around with different ideas for drills on the water and keeping what worked. John, myself, and the other instructors worked hard to ensure that the program could be flexible to the needs of parents. We managed a dynamic schedule where classes and students could be added on a daily, sometimes hourly, basis.
The program that year and years following saw great feedback from parents and students, and there were some numbers to show for it. Based on figures that I generated for the board of directors that year, our total revenue and student enrollment both increased about 70% over the previous year. The instructors I taught with during this time were and are some of my closest friends. This is one of my favorite pictures I ever took. It's of my good friend Charles giving a demonstration on proper dry-capsizing technique, and I believe it encompasses what we were all about.
Since this is the first website I've ever designed. I decided to work in pure HTML and CSS (and a very small amount of JS). I never took an HTML or webdev course in high school or college, so I figured this would be a good opportunity to learn the basics behind every webpage on the internet. I spent a solid 6 hours watching Traversy Media videos on YouTube and reading through documentation to produce the structure of this website, which uses the Bootstrap library to make everything look modern. I also managed to utilize CSS Flexbox and Grid properly to make everything fairly responsive. Most of the content on this site should look decent on a variety of screen sizes.
I also contracted my roommate John Byrne, who has recently been spending a lot of time having fun in Photoshop, to craft me a little logo with my initials. Using circuit components was all his idea, and I think it turned out really well! To check out his website and other friends' websites, check out the resources tab on this page.
While I was quarantined in San Francisco due to COVID-19, my roommates and I participated in a remote hackathon called Hacktech 2020. It was disappointing not being able to go down to LA and get the full experience, but we had fun with it nonetheless. The full project can be found here on Devpost
The Devpost has way more information than I'm going to provide here, but I'll reiterate a few things. First of all, we won! Well, we got 3rd place in the "eBay API" category. But that's still enough to get us the title of "Winner", and there were quite a few projects in that category since the 1st place prize was an Apple Watch. Being able to say I won my first hack-a-thon is pretty sweet. This was also my first full software project that I saw through from start to finish, and gave me a lot of experience in Python. My job throughout the project was to build a series of web-scrapers that would go to online storefronts like Amazon or Wal-Mart and gather data on what products would show up when you search certain keywords. I would scrape the page for product names and prices and then compile the data into the top 10 words by frequency-of-use and an average price point. It turned out to be pretty accurate, and the resulting nonsensical jumble of keywords worked very well as a product description for eBay's search algorithm.
Altogether this project was a great success, and I'm grateful especially to my roommate at the time, Nikhil Bhat, who had a lot more Python experience at the time and helped me a lot when I would get stuck.
A few years ago myself and a couple of my closest friends made the somewhat irrational decision to purchase a 1986 (not sure on the exact year) Hobie Cat 17' Catamaran off of Craigslist. We put it on the water soon after trailering it back from the seller (the picture on the right is from that day). On that maiden voyage we discovered that one of the hulls had a fairly significant leak.
Close inspection revealed a large crack in the hull that took on water. This damage probably occurred while we were trailering the boat. There were also a good number of other minor cracks and dings, equipment that needed to be replaced, an aging sail, and overall just a lot that was worth fixing.
So we got to work. My dad helped me deconstruct the Hobie Cat into its individual pieces. A number of issues presented themselves during this process, such as a pocket of water suspiciously close to a large crack that would not empty out of the rear drain plug. As it turns out, there are two reasons why this was happening.
One: There are a couple "flotation blocks" within the hull which ensure that the boat will float in any event where the hulls fill completely with water. These flotation blocks are wrapped in a plastic laminate during the main hull curing process to protect them from damaging fumes. These plastic bags are strong, so its okay to just leave them in the hull, however over 25 years they begin to disintegrate and the debris start plugging the drain holes in between each hull section.
Two: We discovered that some of the water was actually stuck in one of the "wing tube" compartments. The wing tubes are where you insert the gull-wing mesh seats prior to sailing, and while the tubes themselves end about halfway into the hull, the compartment that holds them extends to the opposite end of the hull and has no drainage. This means that if there's a leak between the wing tube and compartment it can be very difficult to get that water back out again.
Draining and repairing the wing tube is an arduous process that involves sawing out a hole in the top section of the hull and installing an inspection-hatch. Opening the inspection hatch provides decent access to the wing tube which can then be refurbished. We have not begun this process yet, and instead opted to start by draining the hulls and repairing the major cracks and minor dings.
The most interesting of these repairs is pictured to the right. This hole was carved out around the crack to get rid of the waterlogged fiberglass. The area around it was then sanded down through the majority of the fiberglass layers (of which there weren't many) to yield purchase for the patch job.
Here you can see the full fiberglass patch prior to re-painting with gel-coat. My cousin and I each spent maybe 3 hours watching tutorial videos in order to determine all of the best practices in terms of epoxy resins and additives necessary for all of the various repairs around the boat. For this particular repair, a small section of fiberglass was cut out in the shape of the hole we made. That small section was painted onto a larger patch of fiberglass with epoxy to make a kind of fiberglass "plug". The sides of the opening were coated in epoxy before inserting the plug which was then painted over with more epoxy. An additional layer of fiberglass was then epoxied on top, roughly the size of the sanded area.
Here, finally, is the (almost) finished product. There's still some high-grit wet sanding to be done here to get it looking nice, but the crack is now officially structurally sound. Due to the remarkable thinness of the hull, and the lack of boat-repair experience between my cousin and I, it was inevitable that the result jutted out a bit.
Due to complications from the pandemic and other responsibilities in life, these repairs took a while to properly research and complete. Roughly two years after the "maiden voyage" of our Craigslist boat, however, it was finally ready to go on the water again. Things went a lot better this time; my cousin and I were able to sail around in high wind without any complications, and the hull didn't take on any water! Since then all that's changed is a few hardware and rope replacements. The next steps will be to install that inspection port and repair the wing tubes, but for now the boat is totally functional and a lot of fun to use.
All in all, it didn't take much effort to get this boat to the point where people could enjoy it. Hopefully this continues to be a project that I can return to occasionally during summers, or maybe one of my nine nieces/nephews will be able to take it over at some point. I think the moral of the story is that everyone should buy a boat off of Craigslist if provided the opportunity.