News

Sebastian Crookes - Work Experience Student 04-08-2024

Earlier this year, we had Sebastian Crookes join us for 3 days of work experience. Sebastian is a student at Shebbear College in North Devon, and is currently between the first and second year of his A-levels. Sebastian has an interest in low-level programming and has completed complex projects such as writing his own simple operating system (with multithreading!) and an engine sound simulator, which generates an accurate engine sound based on the size of the cylinder and other parameters. Essentially, he was the perfect fit for work experience.

On the first day, I arrived at the office and I was given a tour of the building so I had my bearings. I was quickly set to work, with some coding tasks to complete. I slowly worked my way through them, and by the end of the day I had completed them all. They included, firstly, getting the microcontroller to work, and then using buttons to control LEDs, which I had written the debouncing and PWM code for. I then connected the microcontroller to a mother board and used several features which it has, including the screen to display the current temperature. Then, I took advantage of the gyroscope and speaker to implement a game where a ball would bounce around the screen depending on the tilt of the board. As I had written a game engine prior, I implemented a physics system which handled the acceleration, bouncing and collisions. I then worked on a quick snake game, which was fully working, as tested by Joe! Finally, I worked on writing a piece of code which could graph mathematical functions such as sine on the screen, and then tested out the GPS functionality of a different board.

On the second day, I met more of the team and was set some different challenges. Today, my plan was to experiment with Ethernet on the original board I used on day 1. I wanted to send the gyroscope data to my laptop, which could then process it, smooth the data and use it to visually display the orientation of the board. This was not without challenges, but by the end of the day, it was fully working. This was my favourite project I worked on, as I didn’t have much experience with sockets / networking, and I really enjoyed working with them. (See the video at the bottom for the results!)

On the third and final day, I did not have any fixed tasks – my plan was to test out the functionality of a board powered by a Nordic SoC. It took a long time to figure out how to program it, but finally, I managed to get some functionality – buttons which when pressed, map to some LED outputs. This chip was very interesting as it also supported Bluetooth, so this was my next task. I managed to write some code which allowed my phone to connect to the board and see information about it. If I ever return, I would love to work more on this, as it was an incredibly interesting project. Finally, I was given the chance to see some real-life testing of some of the projects the company is working on at the moment, which was an amazing opportunity.

Overall, I was given a great three days of work experience. As I had lots of experience with C++ and low-level programming, Jeff and the team pushed me with lots of interesting tasks, and I thoroughly enjoyed my time with them. This really consolidated my hope of working in the field when I am older!

Thanks for joining us for work experience Sebastian, we really enjoyed having you. Good luck with your studies and future career in engineering and computer science!