Ever hear of Microsoft Soundscape? We hadn’t, either. But apparently it and similar apps like Blindsquare provide people with vision problems context about their surroundings. The app is made to run in the background of the user’s mobile device and respond to media controls, but if you are navigating around with a cane, getting to media controls on a phone or even a headset might not be very convenient. [Jazzang] set out to build buttons that could control apps like this that could be integrated with a cane or otherwise located in a convenient location.
There are four buttons of interest. Play/pause, Next, Back, and Home. There’s also a mute button and an additional button you can use with the phone’s accessibility settings. Each button has a special function for Soundscape. For example, Next will describe the point of interest in front of you. Soundscape runs on an iPhone so Bluetooth is the obvious choice for creating the buttons.
To simplify things, the project uses an Adafruit Feather nRF52 Bluefruit board. Given that it’s Arduino compatible and provides a Bluetooth Human Interface Device (HID) out of the box, there’s almost nothing else to do for the hardware but wire up the switches and some pull up resistors. That would make the circuit easy to stick almost anywhere.
Software-wise, things aren’t too hard either. The library provides all the Bluetooth HID device trappings you need, and once that’s set up, it is pretty simple to send keys to the phone. This is a great example of how simple so many tasks have become due to the availability of abstractions that handle all of the details. Since a Bluetooth HID device is just a keyboard, you can probably think of many other uses for this setup with just small changes in the software.
We covered the Bluefruit back when it first appeared. We don’t know about mounting this to a cane, but we do remember something similar attached to a sword.
It looks like he’s pulling the resistors DOWN, and pulling the line hi when the button connects the line to the hi side.
If you just want one or two buttons, you can make one of these work by reassigning keys in software at the smart end… or get fully into repurposing them (Read comments)
https://hackaday.com/2016/09/14/hacking-a-dollar-store-bluetooth-device/
esp32 also has BLE HID profile support and dev boards are about 1/3 or less the cost of a feather. Adafruit is fantasic and all but the esp32 chip is dirt cheap, extremely popular and would make customizing a pcb and firmware to put this into a cane a lot more viable
I’ve also been working on an implementation of this concept since 2015 (www.sapphirepowered.com), good to see other people think it’s a valid idea too.