Inspiration
The barrier to entry to using an LLM is lower than ever in the modern world. As LLMs become increasingly popular on cellphones, we were inspired by this idea and wanted to create our own compact device capable of communicating with an LLM.
What it does
We use sensors connected to the pi to record a .wav video which we then transcribe into text that is fed as a prompt into Gemini using an API. The output is then translated into speech using the gtts python library and played through the speaker inside Terminator.
How we built it
The project had both a hardware and a software component. Regarding the hardware, the Raspberry Pi was selected as a minicomputer that ran its own operating system and managed a varity of I/Os. It did this through a python script that utilized different python libraries and fed a string prompt through an API service.
Challenges we ran into
Many of the sensors available at IDEA Hacks were not ideal for connecting to the pi. Our original speaker, for instance, required an DAC signal converter, which significantly reduced the fidelity of the audio quality as the connectiosn were not specific for sound transfers. Similar issues arose with acquiring the microphone and we had to resort to acquiring external peripherals. Regarding software, we had many difficulties balancing functionality and efficiency. The camera module significantly slowed down the processing speed of Terminator but was really useful with image processing. In the end, we added key word phrases that would trigger when the program decides to take a picture to both retain a key functionality while ensuring that most of the times the program ran in a reasonable amount of time.
Accomplishments that we're proud of
It was really cool and amazing to be able to set up and connect to an API service online and have it act as an LLM for our project. We are also proud of overcoming all of the previous listed challenges.
What we learned
We learned a lot about APIs and how to use them. We also learned about different communication methods like I2C, and components that couple out different signals (DAC, ADC).
What's next for Terminator
Reduce its size, upgrade the Pi to have more memory and processing power. Increase portability by connecting to standalone power supply and also designing specialized carrier to be wearable.
Built With
- openai
- python
- raspberry-pi
Log in or sign up for Devpost to join the conversation.