I’m trying to make a device like a Star Trek Communicator for “communicating” with my Home Assistant.
I know most people use digital microphones, and I may try that too, but I have reasons to really want to use the internal ADC, for example for AGC. So this post is ONLY about using the internal ADC.
It’s strange (to me) that the only place the internal ADC is mentioned/configured is on the I2S page here:
https://esphome.io/components/microphone/i2s_audio.html.
AND that even when specifying “adc_type: internal” it’s still inside a “platform: i2s_audio” block which also requires another block specifying the I2S pins, but I thought I’d try it anyway; here is what I got:
Please note that I did wrap the code within
but for some reason the format checker still states that I didn’t; I’m unsure what to do. I tried two browsers: Vivaldi and Edge. Edit: It seems that even though it complains, it formats it right… am I missing something?
i2s_audio: #It seems I2S Audio is needed even for ADC Microphone and requires pins' setting
i2s_lrclk_pin: GPIO33
i2s_bclk_pin: GPIO19
microphone:
- platform: i2s_audio
id: adc_mic
adc_type: internal
adc_pin: GPIO35
voice_assistant:
microphone: adc_mic
binary_sensor:
- platform: gpio
id: voice_switch
pin:
number: GPIO14
inverted: true
mode:
input: true
pullup: true
on_press:
- voice_assistant.start:
on_release:
- voice_assistant.stop:
Even without a microphone connected I would expect the “Assist in progress” indicator to turn ON and stay ON as long as I keep the button pressed.
Instead, when I press/hold the button the “Assist in progress” indicator flickers on then goes off imediately.
The only reason I can think of (barring having missed something entirely) is that the board tries to read the I2S port and there’s nothing there (clk) so it stops immediately.
I am unsure if at this point I should have configured anything in HA other than a “Card” in the Overview.
Should I have added some automations, scripts of any sort?
Thank you