My first study project where I worked on FPGAs. FPGAs are heavily used devices in particle physics at particle accelerators as they can handle an absurdly large amount of data in a very short time. I already got interested in working with FPGAs at the end of my bachelor's studies and I started doing project work on it a little later in my master's studies. The project was not really physics-related but it would serve as an introduction into more physics-related projects later on. The development was about implementing a simple UDP echo server on a Xilinx FPGA (Xilinx has been acquired by AMD lately). The project was very insightful into the workings of networks, packets and communication protocols as I had to implement most logic by myself. The only thing available on the FPGA development board was a PHY chip attached to an ethernet cable port. And this PHY chip would only accept pairs of bits to be sent over the ethernet cable. This means I had to implement logic to wrap/unwrap ethernet frames, IP packets, and UDP packets, calculate all the checksums for the UDP and IP packets, calculate the running CRC32 ethernet frame checksum and connect all that logic to the PHY chip. Implementing that on an FPGA was very very low-level and it was a lot of hard work, but in the end, I learned a lot and it worked well. I could connect my development board to my computer, send some UDP packets and I would receive them back. I also thought about implementing TCP on this board, but this would have been way harder as state, e.g. stored connection data, is involved there as well.