We were inspired by Google Sky Map, but wanted to bring the experience closer to the user.
What it does
The Galactic indicator takes voice input commands from the Google Assistant and locates celestial objects in the sky. It calculates their location with respect to the current observer and points to them using a laser. Alternatively the objects can be also submitted using the Twilio SMS API.
How we built it
We used IFTTT's Google Assistant API to send webhook commands to a server. The server scrapes publicly available websites for celestial coordinates of given space objects and uses it in conjunction with current time and location to calculate their respective elevation and azimuth.
This information is transmitted wirelessly to an ESP32 which directs the servomotors. A BBC microbit is used as a hacked compass to align the bearing of the pointer.
We used plastic knives melted and glued together into an arm chassis. Is is power by two Lithium Ion Cells.
Challenges we ran into
The Microbit compass was susceptance to noise and vibrations providing unreliable data to the ESP causing instability in the bearing location. We decided to take the micro out of the loop controller and use it to manually set the true north.
It came as a surprise that acquiring celestial coordinates of common space objects is not a task with a freely available API. As a result we had to scrape a website for the data and build an API that we could use ourselves.
The celestial data had to be converted to the azimuth and elevation with respect to the current observer. This involves a lot of polar coordinate and trigonometric math with conversion between several different units of degrees and time. Figuring out the correct formulas was a less than trivial task.
Due to the hardware limitations on the minimum speed of the servos, the rapid acceleration cause the structure of the arm to fail on several occasions. It took a lot of trial and error to come up with a design that could cope with the aggressive nature of our Galactic Indicator.
Accomplishments that we're proud of
One of the major achievements we are proud of was gathering the data and accurately calculating the position in the sky. However mainly we are proud that our project did eventually work despite the huge obstacles we were faced with
What we learned
We can say with confidence that we have learned a lot about the complex math of locating stars, planets and other celestial objects in the sky and using these skills to build a device that can locate and track these objects.
What's next for Voice Activated Galactic Indicator NodeJS App
We would like to increase the accuracy of the positioning and also automatically set the true north of the bearing.