Esp32-Korvo The microphone you need !

Nico Writing by Nico
  8 min of reading

This page has been visited ... times

Esp32-Korvo The microphone you need !

Home-assistant announced at the beginning of 2023, the year of the voice. By hiring Michael Hansen, nickname synesthesiam who is none other than the creator of the software Rhasspy, the company Nabu Casa is digging this breach in the world of voice control which is so lacking in current assistants.

I have for a long time tested various microphone arrays (respeaker 4-micarray and matrix voice), under Rhasspy, but both have disadvantages, they do not work without an additional raspberry which serves as host to the microphones. I added an esp32 to the matrix voice to make it work alone, but the company closed its doors at the beginning of 2023 leaving for dead the evolution of the software. At the time of writing this article, no one has developed or taken over the current software.

Array microphone esp32-korvo esp-wroover-e with esphome and home-assistant

Micro array esp32-korvo

By Espressif

Array microphone esp32-korvo esp-wroover-e with esphome and home-assistant

it’s a shame because the array matrix microphones (voice and creator) are well thought out modules.

Anyway, back to our topic, we are at the end of 2023 I wanted to take an overview of the evolution of Home Assistant Assist and for that I purchased on Aliexpress a microphone working with an esp32, the esp32-korvo wroover-e version

ESP32-korvo wroover-e v1.1

To begin with there are 2 versions of the microphone developed by Espressif, one works with an ESP32-S3-Korvo-1 v5.0 currently costs more than €50 and is at hardware version 5.0 , it seems that this version is only equipped with 3 array microphones as for the wroover version and not 6. The evolution is mainly found in the management of an external battery.

This version is rarely resold, at least for the moment.

Then you will easily find the tested version, the ESP32-korvo wroover-e, it will only cost you €22 delivered.

What does the ESP32-korvo wroover-e offer for this price.

Here I am going to announce a pleasant surprise to you, the ESP32-korvo wroover-e is very complete, so complete that it only lacks a mounting box, but frankly for the price… ** There is only Espressif to carry out this type of promotion.**

The ESP32-korvo wroover-e, is an assembly of two cards, the upper card is made up of 12 LEDs from the ws2812 chipset, as well as analog buttons (mode, set, rec, play, vol+/-) and 3 array microphones. You could even add 5 more because the card has pre-soldered slots (see photo).

composition of the 6 microphones: Mic_Bias34

  1. Default: NSM0418DT(NeoMEMS);
  2. Alternative: MSM261D4030H1AP(MEMSensing Microsystems);

2 x Amic 55mm Mic_Bias12

additional location esp32-korvo microphone array home assistant

PS: Despite the photos provided on Github, the upper card is identical on the two versions available and manufactured by Espressif.

What can we find on the bottom map:

special feature of the esp32-korvo wroover-e main board

There you realize that for the price the menu is very complete:

  • on/off button
  • headphone connector
  • external HP connector
  • micro sd card
  • usb uart -usb 5v
  • connector for 5v battery
esp32-korvo-wroover-b in detail

Integrate ESP32-korvo wroover-e into esphome

upload of the first firmware

Thanks to the code below you can easily integrate the ESP32-korvo wroover-e microphone into esphome and thus use it in home assistant.

substitutions:

##### WIFI SETUP #####
###### CHANGE ME START ######
  device_name: "esp32korvo_mic" 
  wifi_ssid: !secret wifi_ssid
  wifi_password: !secret wifi_password
  apikey: !secret enc_key_esp32korvo_mic

##### CHANGE ME END #####

##### DO NOT CHANGE ANYTHING! #####

packages:
  ##### download esp32-korvo for esphome code from Github
  remote_package:
    url: https://github.com/haade-administrator/korvo-esphome
    ref: main
    files: [esp32korvo_esphome.yaml]
    refresh: 300s

##### DO NOT CHANGE ANYTHING! #####

in order to send the code above in UART mode you will need:

  • connect 2 usb cables to the two usb ports. (the USB power can be powered by a 5v transformer or connected to a powered port on your PC).
  • the second usb-uart port must be connected to the pc
  • locate the boot button

Press the boot button without releasing it, then connect the two USB cables, and finally release the boot button

Sending esphome firmware to an esp32-korvo

Setting ESP32-korvo wroover-e and esphome

In order to configure your new microphone in home-assistant I invite you to click on this link below, and normally a new esphome instance is discovered, all you have to do is click on configure and restart homeassistant.

Open your Home Assistant instance and show an integration.

Function states of ESP32-korvo wroover-e

Here are the available functions:

  • Led controls of ESP32-korvo wroover-e
  • wakeword states
  • states of the physical buttons of the ESP32-korvo wroover-e
  • end of speech detection setting
  • firmware status
  • choice of pipeline (default homeassistant)
  • restart button
  • wake word status
  • IP adress
  • connection status
  • and signal status
available functions of esp32-korvo-wroover-b microphone in esphome

In the future update an additional light function will be available which will allow you to choose a light setting for the wakeword (off, day, night)

You can sleep and already test these functions, just integrate ref: dev into the esphome code

next available functions of esp32-korvo-wroover-b microphone in esphome

Installation Voice assistant

To Install a Local Assistant follow the official home assistant tutorial.

Install a local Home assistant

In Home Assistant, the Assist pipelines are made up of various components that together form a voice assistant.

For each component you can choose from different options. There is a speech-to-text and text-to-speech option that runs entirely local.

The speech-to-text option is Whisper. It’s an open source AI model that supports various languages. We use a forked version called faster-whisper. On a Raspberry Pi 4, it takes around 8 seconds to process incoming voice commands. On an Intel NUC it is done in under a second.

For text-to-speech we have developed Piper. Piper is a fast, local neural text-to-speech system that sounds great and is optimized for the Raspberry Pi 4. It supports many languages. On a Raspberry Pi, using medium quality models, it can generate 1.6s of voice in a second.

The installation of whisper, piper and openwakeword on HA and raspberrypi 4 is restrictive and heavy for the moment this should evolve in the coming months.

Characteristics of ESP32-korvo wroover-e

Key ComponenetDescription
ESP32-WROVER-EThis ESP32 module contains the latest ESP32-D0WD-V3, a 16 MB flash and a 8 MB PSRAM for flexible data storage, featuring Wi-Fi / BT connectivity and data processing capability.
Power Regulator5V-to-3.3V regulator.
Power SwitchOn: The board is powered on; Off: The board is powered off.
Battery PortConnect a battery.
USB Power PortSupply power to the board.
USB-UART PortA communication interface between a computer and the ESP32-WROVER-E module.
USB-UART BridgeSingle USB-UART bridge chip provides transfer rates of up to 3 Mbps.
Reset ButtonPressing this button resets the system.
Boot ButtonDownload button. Holding down Boot and then pressing EN initiates Firmware Download mode for downloading firmware through the serial port.
Micro SD CardSlot Useful for developing applications that access MicroSD card for data storage and retrieval.
Audio ADCHigh-performance four-channel audio ADC. Among the four channels, three are for microphones, and one for AEC function.
Audio PAAmplify audio signals to external speaker at maximum 3 W.
Speaker ConnectorConnect an external speaker.
Earphone ConnectorConnect external earphones.
FPC ConnectorConnect mainboard and subboard.
Audio CodecAudio codec ES8311 communicates with ESP32 via the I2S bus, which converts digital signals to analog signals.
Analog MicrophoneThree analog microphone arrays (spacing = 65mm).
RGB LED12 addressable RGB LEDs (WS2812).
Function ButtonSix function buttons, i.e. PLAY, SET, VOL -, VOL +, MODE and REC. These function buttons are user-definable.
Sizes90x90x20mm

Product advantages ESP32-korvo wroover-e

  • manufacturing quality
  • the price (less than €22)
  • A successful design
  • the Espressif experience
  • the number of functions
  • the number of connections
  • possibility of adding additional microphones

The - of the product ESP32-korvo wroover-e

  • No box upon purchase
  • Only 3 microphones on the module
Array microphone esp32-korvo esp-wroover-e with esphome and home-assistant

Micro array esp32-korvo

By Espressif

Array microphone esp32-korvo esp-wroover-e with esphome and home-assistant

Conclusion

Thanks to this tutorial you will be able to control a complete microphone ESP32-korvo wroover-e in Home-assistant with esphome and test the voice commands. Everything works but is not optimal, you will have to wait a few weeks to test future improvements.

Rating:
Nico

Nico

Founding member of the Haade site, a home automation enthusiast with all the tricks that go well.

Comments