I'm a software engineering student who's developed a finger condition that makes it impossible to type with my fingers without causing pain and inflammation. I get around this using Typing Aids, but this is sub-optimal because it's slow, and still causes strain.
What it does
Takes in speech voice commands and outputs text, macros, code, etc. It's seen as a USB keyboard by computers, and doesn't require any drivers to be installed.
How I built it
Patch my phone's kernel to allow it to be seen as a USB keyboard using Linux's HID Gadget functionality. An app uses this to send key presses. CMUSphinx (an open-source speech-to-text engine) interprets speech, which is turned into key presses and commands.
Challenges I ran into
Learning how to build a kernel took 5+ hours. Patching it took a lot of research about Linux's USB subsystem.
Accomplishments that I'm proud of
What I learned
What's next for Android Phone As A Speech-To-Text USB Keyboard