Inspiration
We wanted to explore the capabilities of the new Arduino Uno Q as soon as we heard it was available to us.
What it does
We decided to use the Modulino Movement’s gyroscope to point the Arduino in any direction and see what stars and constellations are visible.
How we built it
This took more complicated math than we imagined. We first determined the yaw, pitch, and roll of the gyroscope then created a 3x3 matrix that would represent the coordinate plane relative to the gyroscope. We then applied this matrix to each star vector in our database, converted the star vectors to 2D, and adjusted their color and radius. We use a WebSocket to send the coordinates of each frame to the frontend.
Challenges we ran into
We had some challenges used the Arduino library, because the documentation is slightly barebones, but we were able to overcome this when we realized that the Arduino Brick, WebUI, is a wrapper for FastAPI, allowing us to fix many of our networking issues. We experienced a ton of latency because we were using REST and polling, but we were able to fix this by switching to a WebSocket which reduced the overhead per frame.
Accomplishments that we're proud of
We are proud of our linear algebra pipeline and our use of the new Arduino tools. We are also proud of our beautiful frontend.
What we learned
We learned how to apply linear algebra to a 3D space to make our calculations more efficient. We also learned how to use the Arduino Uno Q.
What's next for Viewfinder
We were able to run the Viewfinder server on the Arduino wirelessly, but it still needed the wire for power. In the future, we hope to have truly wireless capabilities.
Log in or sign up for Devpost to join the conversation.