|
2 weeks ago | |
---|---|---|
Haptic Headband Control Module | 2 weeks ago | |
Haptic Headband Mic Module | 2 weeks ago | |
Images | 2 weeks ago | |
Haptic Headband BOM & Budget.ods | 2 weeks ago | |
LICENCE.md | 2 weeks ago | |
README.md | 2 weeks ago |
README.md
HapticHeadband
Repository for the Haptic Headband project, an accessibility device for users with limited directional hearing using microphones and vibration motors worn on a headband. It is open source and currently in development.
License
Haptic Headband project is Open Source and licensed under the Cooperative Non-Violent Public Licence v7+ (CNPLv7+).
Status
As of 2022-06-19:
- Overall prototype design settled
- Control PCB designed V1.3
- Mic module PCB designed V1.1
- Both PCBs ordered
- All components for v1 ordered
Hardware Design Summary
The broad technical design is as follows.
Control Module
52*30mm PCB, populated on only one side. Supports 1S lithium cell (2 Molex 2-pin PicoBlade connectors), allowing two small cells in parallel) charging via USB-C connector. ATTiny424 MCU with I2C bus linked to two PCA9517 I2C buffers, to two external 4-pin PicoLock connectors on either side, which connect to the mic modules. Three tactile buttons and corresponding orange LEDs for user interface. One green LED controlled by MCU and positioned beside slide power switch, probably used to indicate power/standby state. One red LED controlled by MCP73831-2 Li-ion charge chip, to indicate battery charging.
The Control Module will be positioned at the back of the head in the centre, where the buttons can be reached by either hand. Li-ion cell(s) will be either behind the Control Module (hence smooth bottom side), or on either side, symmetrically (hence 2 battery connectors).
Mic Module
25*28.25mm PCB, populated on both sides. Two 4-pin PicoLock connectors for the shared I2C bus, which daisychain through. ATTiny424 MCU for control is linked to the I2C bus. A directional electret microphone is populated in the centre of the PCB. Two MCP6007 dual op-amps and passives create a peak detector circuit with 1N4148 diode, which is buffered and goes to an analog input. A BC847 transistor operates the reset for the peak detector. A vibration motor is mounted in the round cutout, controlled by the MCU via another NPN transistor. A TC1055 2.5V LDO provides the op-amp supply, and a 1.25V virtual ground/reference is generated from it by voltage divider and buffer op-amp. The 1.25V reference is provided to the MCU as external analog reference as the MCU is powered by the unregulated battery voltage.
There are options for populating gain resistor with either trimpot or fixed resistor to set the best preamp gain with in-person testing. Likewise the best value of peak detector cap will be decided out of 1u or 10u.
Software Design Summary
Software is not yet written, so this is 'as intended'.
The Control Module keeps a Gain variable, which can be manually adjusted using the buttons, to make the device more or less sensitive.
On startup or change, it will inform Mic Modules over I2C of the current Gain value.
Mic modules will operate a simple polling loop translating audio levels to vibration output PWM level, with the given gain value to govern sensitivity in software.
It is hoped that the vibration motors won't have a large interference on the peak detection circuit, by mounting them on shock-absorbing rubber. If they do, software filtering will be added to avoid positive feedback.