Arduino component - front
Arduino component - back
We were inspired by the Aggie tradition of a Wildcat and wanted to help encourage other Aggies to participate in it. The design of our project was inspired by devices like Google Home and Amazon Alexa with their voice recognition software and responses.
What it does
The Wildcat app acts as a microphone to pick up individuals talking and transcribe their speech into text. This text is then parsed for the class years 23, 22, 21, and 20. If one of the class years is selected, and their class year is detected, the app sends a signal to the Arduino via bluetooth which causes the buzzer to buzz. Once the proper Wildcat is performed, the buzzer stops producing sound.
How We built it
The Arduino code was developed with the Arduino IDE. We tested the circuit design using a large circuit board and then moved it to the mountable one on top of the Arduino. The app was developed using Dart with Google’s Flutter framework. The speech_recognition and flutter_blue open source packages were used for the voice recognition and bluetooth capabilities of the app.
Challenges We ran into
The biggest challenge we faced was with connecting and communicating with our bluetooth adapter. We spent about 5 hours debugging the connection between our app and the Arduino. Another challenge we faced was successfully getting the Arduino to communicate over a wired serial connection with a computer for debugging. During our design process, we discovered that the Arduino was unable to successfully supply enough amperage to the motor we had originally planned to use for haptic feedback instead of the buzzer.
The biggest challenge faced by the app development team was implementing bluetooth connection and serial writing to the app, as well as speech recognition. There is no built-in service in Flutter/Dart for that, and the bluetooth package we used had little to no perfect documentation that allowed for easy implementation. The speech recognition package documentation wasn’t any better, and we ended up making 3 small test apps to test different parts of the two packages to make sure our code worked.
Accomplishments that We are proud of
The thing we are most proud of in our project was our successful merger of the hardware team’s and app development team’s two sides of the project. This culminated in the bluetooth connection between the Arduino and the application.
What We learned
We learned the basics of Arduino’s wired serial communication, that bluetooth communication between devices is extremely difficult, and how to deploy code to an Arduino. We learned how to reverse engineer open source Flutter packages, how to build on Android phones (including Developer mode), and the basics of Bluetooth LE communication.
What's next for Wildcat
We would like to scale Wildcat up, expanding it to classrooms. Teachers would then be able to enable it for an entire classroom, helping students want to perform their Wildcat’s to continue. This would be an invaluable tool to improve school spirit. The upgrade would require hardware integration in classrooms, similar to the tech in Zachry.