In this project, I developed software for a 3D object scanning system. The system used a turntable and a robotic arm with a camera to capture images of an object from multiple angles. My work focused on the software that controlled the hardware and provided a user interface.

I wrote a firmware in C++ for the microcontrollers that controlled the motors for the turntable and robotic arm. On a Raspberry Pi, I built a .NET application to orchestrate the scanning process, communicating with the microcontrollers via serial connection. This application also included a Blazor-powered web interface, allowing users to control the scanning process remotely.

To enable development without the physical hardware, I created a 3D emulator in Unity. This emulator simulated the behavior of the turntable and robotic arm, allowing me to test the software and refine the scanning process.

This project was a great learning experience, requiring me to work with different technologies and at various levels of the software stack. It also challenged me to find creative solutions, such as building the 3D emulator in Unity.