Close

Initial Working Wearable Prototype

A project log for DepthIR: Object detection for the blind

A wearable device for blind people to measure distances to objects without touching them

shervin-emamiShervin Emami 10/09/2016 at 14:090 Comments

For my first wearable prototype that actually works, to build it as fast as possible, I decided not to build a separate finger attachment (containing an IR emitter + IR sensor + vibration motor + 5 wires), and just build a single circuit board that contains the finger attachment on the same board. This simplifies the wiring and housing design a lot, since I don't need to build one circuit on the palm and 2 circuits on fingers, and it doesn't need 5 wires between the palm electronics and the 2 fingers. Also, I decided to just start with 1 finger attachment for this first prototype. Once I get it working well for a single finger, it can be extended to more fingers in a later prototype!

Since I want the device to be really small & cheap & low-power, I wanted to use an ATMEL ATtiny85 microcontroller. If I'm only going to use 1 finger attachment, the requirements on the microcontroller would be:

This can all be accomplished with a tiny ATtiny85 even with it's 8 pins, but since I definitely want to allow 2 finger attachments in later prototypes, and possibly 3 or 4 or 5 finger attachments on a hand, so I need:

There are ways of using 6 I/O pins on ATtiny85, enough for 2 finger attachments, but it would be tricky, because it would mean re-purposing several of the ATtiny85's 8 pins including the RESET pin. So for this initial prototype I'm just using a standard ATmega328p microcontroller that Arduino is based on, to allow far quicker code development.

Rather than design a custom SMD PCB and wait 1 month for it to get manufactured & sent to Australia, I decided that for this initial prototype I would use an off-the-shelf Arduino Pro Mini 328 3.3V module, an off-the-shelf LiPo battery, an off-the-shelf USB LiPo charger module, and for the custom electronics, the circuit is simple enough that I would just hack together the circuit using generic PCB stripboard / perfboard with some ugly point-to-point wiring.

Discussions