Skin Hearing

April - June 2019

Repository: PCB only

On this project I helped a Chinese university research group explore commercialization paths for their experimental device that translates sounds into skin stimuli.

Step 1: Problem definition

The device developed by the team uses a complex analog filtering and amplification circuit to process audio from an analog microphone. A series of bandpass filters separate the amplified input into 24 amplitude modulated channels. Channel maps to an electrode on an array that wraps around the arm and stimulates the skin in different locations. In their publication, the group validated that deaf-mute patients could train to recognize the sounds and “hear” through their skin.

The device’s massive size and short battery life were the biggest obstacles to commercialization: switching to a digital circuit could address these two issues.

Original prototype for the skin hearing aid developed by prof. Li Jianwen at Shaanxi University of Science and Technology

Before proceeding, I listed several assumptions that were implied by switching over to a microcontroller based architecture, mainly:

  • A digital signal processing unit in a microcontroller can perform fast fourier transform fast enough to replace the analog bandpass filters.

  • A digital signal can emulate the properties of the skin stimulation wave.

Step 2: Reading and tinkering

Assumptions had to be verified before diving into prototyping mode, which meant … a lot of reading. After a few frustrating days of reading, implementing papers, and playing around with an experimental setup, I decided to use PWM to control a current source for each of the electrode channels instead.

Test setup: Function generator (for analog waveforms), Arduino UNO (PWM source), Howland current pump circuit, ammeter (not in picture) and oscilloscope

Test setup: Function generator (for analog waveforms), Arduino UNO (PWM source), Howland current pump circuit, ammeter (not in picture) and oscilloscope

Step 3: Prototype

Given time constraints, I only had one prototyping attempt. This version had to be flexible enough to test several multiple design alternatives without requiring a PCB re-run.

Features:

  • STM32F410 MCU

  • Two LED7708 LED drivers with integrated boost controller and 16 current generators. The driver regulates the voltage in an adaptive manner (so it can cope with variable skin resistance).

  • One digital I2S MEMS microphone (), an analog one () and an audio jack plug for an external microphone so the team can test with different audio inputs.

  • USB to UART converter, single cell Li-Po battery charger, LDO and buttons for user interface

  • Flex PCB with two electrode array configurations

Skinhearing_altium_3.png
Skinhearing_altium_1.png
Skinhearing_altium_2.png

4 layers PCB prototype design in Altium Designer in a 30x30mm format

Assembled PCB, flashed with the Skin Hearing firmware

Results

After a week and a half of firmware development, this prototype could successfully reproduce the performance of the original analog device. Meanwhile, my colleagues at HAX worked on user testing, industrial design and mechanical design for the casing and electrode strap. With their help, the university team setup a testing day at a special needs kindergarten where children could try on the device.

Street test: device worn on the arm used with an external microphone clipped to the shirt

Street test: device worn on the arm used with an external microphone clipped to the shirt

Kindergarten test

Kindergarten test

Previous
Previous

Thermal controller for PCR machine

Next
Next

2D Input on any surface