Skip to content

Microphone

The microphone is one of the new features included in the eNSPanel PCB.

I decided to slot a microphone cause I wanted to have a device in each room capable of recognizing a wake word.

GPIO

The microphone needs to be a footprint compatible (see part below) i2c microphone. the following ESP32 pins were used:

  • GPIO38 - lrclk
  • GPIO40 - bclk
  • GPIO39 - din

Configuration

Always refer to the esphome folder for the most up to date working configuration. This is a known to be working minimal configuration for the microphone

i2s_audio:
  i2s_lrclk_pin: GPIO38
  i2s_bclk_pin: GPIO40
microphone:
  - platform: i2s_audio
    id: mic
    adc_type: external
    i2s_din_pin: GPIO39
    pdm: false
    channel: left
voice_assistant:
  microphone: mic
  auto_gain: 31dBFS
#  noise_suppression_level: 2

Part

ICS-43434 microphone was used and known to be working with the PCB.

Soldering

Soldering such mics require some patience. A good solder paste does wonders.

What I usually do is:

  • Solder all the components and keep the mic as last
  • Apply solder paste (Better with a stencil)
  • use hot air gun
  • gently apply some force on top,
  • test...

In case it does not work I desolder with the hot air gun and repeat.

Only C5 (top layer) and R3 (bottom layer) are needed to make the microphone to work.

Testing the mic

Sometimes it might be a pain to test a working microphone. To date I don't know any method more effective than installing the voice assist package and try to speak the wake word.

Aka. You should really check out the voice assistant section of this documentation

Debugging poor audio quality

Most of the times if u hear statics or other jibberish it means the microphone is not properly soldered onto the board.