We initially wanted to build a power glove that a user could connect to their phone, but we weren't sure what exactly the user could then do with it. We solved this problem by exposing the glove to other apps on the phone as an API and building some sample apps ourselves.
What it does
The glove has buttons on three of the fingers, that the user can press to control various things on their phone. Currently our sample apps are a trumpet synthesiser and a test scrolling application.
How we built it
The buttons are registered on inputs to the Micro:bit, that then exposes them in a BLE service to any phone that wants to connect to it. We have a base app that runs a service to talk to this Micro:bit and listen for these presses. This service then broadcasts these presses as events in the phone that can be subscribed to by any other app.
Challenges we ran into
Bluetooth is really hard and neither of us had worked with GATT before. This caused a lot of problems. We also weren't able to solder due to health and safety constraints, so we had to wire together the glove using pliers, scissors, cardboard and lots of tape.
Accomplishments that we're proud of
- The wires run nicely through the glove
- We got most of the GATT code working
- We ended up getting IPC to work fairly quickly on Android
What we learned
- How Android services work
- More about activity lifecycles
- The BLE GATT flow
- Rubber gloves are both good for hacking and very stylish
What's next for yellow
We have an API, so the next step will be documenting it and releasing it to the world, perhaps in the form of build instructions.