I CREATED My NEW Voice Assistant In 15$ w/ On-Device Wake Word Detection🚀| Home Assistant | ESP32 S3

Поділитися
Вставка
  • Опубліковано 3 лис 2024

КОМЕНТАРІ • 104

  • @RND-USA
    @RND-USA Місяць тому +1

    Wow so cool! I accidentally bough some S3 models (vs the WROOM-32Ds I usually get) and am looking for projects to use them on. This is great!

  • @robertosecco983
    @robertosecco983 2 місяці тому

    Finally, I was able to find what I was looking for. Thank you for the video and for the detailed article on your website!

  • @guylast9516
    @guylast9516 2 місяці тому

    OMG did some testing and this one is more responsive than the Respeaker lite kit I got from Seeed.
    I only ordered the mic,amp,ESP32 and speaker(crackly: not sure why) as I just meant to test the possibilities of having a Voice Assistant and have yet to order the mute button and led strip. But yours by far beats the hell out of the other device. Awesome work.

  • @Thebyeman
    @Thebyeman 5 місяців тому +2

    I’ve found that I was having difficulty with the assistant hearing not just my voice but background voices, like from the tv, and therefore not recognising my voice commands. I went and changed the settings on noise_suppression _level: from 0 to 2 it’s working much better now

    • @SmartHomeCircle
      @SmartHomeCircle  5 місяців тому

      Ohh yes.. I had set it to 2 before. Not sure when I set it back to 0. 🤔
      But thanks for this. I will update the article again. 😄

  • @TexasCHLforum
    @TexasCHLforum 9 днів тому

    Thanks for the great information. I now have two operational and I'll do a few more.
    Is it possible for an ESP32-S3 configured like this to be recognized by HA as a media player?

  • @MrDenisJoshua
    @MrDenisJoshua 4 місяці тому

    Thanks a lot for the video... and I wait for the customization of the miro-wake-word :-)

    • @SmartHomeCircle
      @SmartHomeCircle  4 місяці тому +2

      Currently trying to find the best and easy way to create custom wake words without needing powerful hardware.

  • @mariuspeltea2279
    @mariuspeltea2279 13 днів тому

    Thanks for all and the great video! I did it and works great. I would like to hear "How can I assist" or something else. How can I do this? I'm just a fan of HA, not a programmer.

    • @SmartHomeCircle
      @SmartHomeCircle  10 днів тому

      Do you mean like when you say Hey jarvis and it responds with "how can I assist"?

    • @mariuspeltea2279
      @mariuspeltea2279 10 днів тому

      Yes. I wood like to hear Jarvis saying that. What can I do?​@@SmartHomeCircle

    • @mariuspeltea2279
      @mariuspeltea2279 10 днів тому

      @@SmartHomeCircle yes

    • @SmartHomeCircle
      @SmartHomeCircle  9 днів тому

      @@mariuspeltea2279 I am not sure if that is possible.. But it's an interesting idea I can explore..

  • @123Poppa321
    @123Poppa321 4 місяці тому

    Very nice and informative video. I am trying to copy it for my voice assistant.
    Wouldn't it be possible to use the touch ability of the esp32 instead of the hardware button?
    Have you ever tried that?
    I'm planning to use an ikea lamp with a metal stand for my voice assistant. It would be great to mute and unmute with just touching the stand.

    • @SmartHomeCircle
      @SmartHomeCircle  4 місяці тому

      Ohh that sounds really interesting 😃.
      I think it would work. Give it a go and see how it works..

  • @HugoNet-r5s
    @HugoNet-r5s 4 місяці тому

    Hi Amrut. Thanks for the great video with easy to understand instructions. I have configured it and a miracle happended ... everything works on the first try. Well, except speaker - it has biased sound, even with the MAX98357 gain adjusted to the minimal (ie. 3db) have you met such an issue?

    • @SmartHomeCircle
      @SmartHomeCircle  4 місяці тому

      @@HugoNet-r5s Sorry, But I didn't understand by "biased sound"

    • @HugoNet-r5s
      @HugoNet-r5s 4 місяці тому

      @@SmartHomeCircle Distorted sound is maybe better definition. Speech of "Jarvis" is heard against a prevailing background of noise and crackling.

    • @SmartHomeCircle
      @SmartHomeCircle  4 місяці тому

      @@HugoNet-r5s ahh. Got it. this can happen because of two reasons. Either a soldering issue or there is a problem with the max98357a. I am assuming you are following the diagram in the article that I have linked in the video description.

    • @HugoNet-r5s
      @HugoNet-r5s 4 місяці тому +1

      @@SmartHomeCircle Yes I did. I will try to resolder pins and resistor on the max98357a and going to order some more pcs at the same time

  • @mikesmods317
    @mikesmods317 3 місяці тому

    Another awesome video!! Thank you! New subscriber here for sure 👍🏻

  • @vuminhtuan1994
    @vuminhtuan1994 4 місяці тому

    What an amazing video. I followed your guide but I can't active the esp32-s3 by hot word. I've check log in esp and nothing happen when I speak "hey jarvis", tried with other model like alexa, okay nabu with same result. I have 2 esp32 s3 and 4 inmp441 but none of the combinations are successful. Is there any tip to using hotwords?

    • @SmartHomeCircle
      @SmartHomeCircle  4 місяці тому

      Does it show in the logs that the the micro wake word is jarvis is used?
      Also can you check the wiring of the Microphone , specially the L/R. Also make sure that the channel in the yaml code is set correctly according to the yaml code in the article that I have linked in the description of the video.
      Hope that helps. 🤞

  • @albastien4990
    @albastien4990 5 місяців тому

    Thanks for another informative video. May I ask what issues you found if any. I followed your ESP32 voice assistant only to find it did not handle both microphone and speaker on the same device well. Any limitations on the s3?

    • @SmartHomeCircle
      @SmartHomeCircle  5 місяців тому

      None that I have seen. Also the issue of the cracking sound on boot has disappeared that existed in the ESP32 setup.

    • @snopz
      @snopz 4 місяці тому

      If it can not handle microphone and speaker in the same time that means that you don't have the s3 variant as only the s3 have two i2s buses.

    • @SmartHomeCircle
      @SmartHomeCircle  4 місяці тому

      He meant about the ESP32 board and not the S3 variant 😄

  • @nilsal7442
    @nilsal7442 4 місяці тому

    Hey id like to also build your voice assistant. What speaker did you use? Do you have a recommendation for me? :) didnt found it in the description

    • @SmartHomeCircle
      @SmartHomeCircle  4 місяці тому +1

      Thank you :)
      I updated the description and added links to it.
      I also have this article which has everything in it : smarthomecircle.com/How-I-created-my-voice-assistant-with-on-device-wake-word-using-home-assistant

  • @gustvao0
    @gustvao0 4 місяці тому

    hi! great content, as always! subscribed and fan! tku for sharing this. ordered already components in ali and got my cousin to 3d print the case, after all done I will share the results with you...
    btw , did you manage to train a new wakeword in another language for the microwakeword? i spent hours with colab w/o success :(

    • @SmartHomeCircle
      @SmartHomeCircle  4 місяці тому

      Thank you for such kind words. 😄
      Regarding training the wakeword for microwake word, there is no colab available.
      The colab playground is only for the wakeword used in OpenWake word.

  • @georgemotichka1351
    @georgemotichka1351 2 місяці тому

    Hey, I just built this. Was disappointed when the timer didn't work, but then saw the update yaml code to get it working. But now. How do I get the timer end beeping to stop? Is there a way to have it ring like 5 times with 3 secs in between like I have with my Wyoming Satellite?
    Great job though. Just waiting for my mute button to come in.

    • @SmartHomeCircle
      @SmartHomeCircle  2 місяці тому

      @@georgemotichka1351 check the full video. I have shown how you can stop the timer from beeping using a voice command..

    • @georgemotichka1351
      @georgemotichka1351 2 місяці тому

      @@SmartHomeCircle Got it. Thanks

  • @Tanat74
    @Tanat74 5 місяців тому +1

    Very cool, Thx!. How set my sefl .tflite - wake word?)

    • @SmartHomeCircle
      @SmartHomeCircle  5 місяців тому +2

      I think you are talking about custom wake words, I will be working on that for my next video.

    • @formatBCE
      @formatBCE 5 місяців тому

      AFAIK to setup custom wake word for microwakeword, you'll have to train it in pretty specific way. Also i can't see the mechanism of setting it in the configuration so far - it seems like microwakeword is pointing to ESPHome GitHub, where these words are.

    • @aguacatec
      @aguacatec 4 місяці тому

      @@SmartHomeCircle I can't wait to see that! Amazing job you did!

  • @zer0sg961
    @zer0sg961 5 місяців тому

    Great video! Got me interested in trying this out ") how does it handle when you have 200 over devices though? Would it still be useable? Or would it lag I wonder? Thanks! And cheers

    • @SmartHomeCircle
      @SmartHomeCircle  5 місяців тому

      Do you mean 200 devices in Home Assistant?
      I haven't got so many devices yet😄
      If you use the assist window and try to write a command to invoke one of those 200 devices, and if that is fast then it would be fast also.
      This device just takes the input and gives it to HA.

    • @formatBCE
      @formatBCE 5 місяців тому

      It will be just fine. If you mean voice satellites - it's good to have local wake word, otherwise they all would be bombing HA with audio streams to find wake word.

    • @SmartHomeCircle
      @SmartHomeCircle  5 місяців тому +1

      @@formatBCE Yes, true. reduces some resources on the HA server also.

    • @clairerovic
      @clairerovic 5 місяців тому

      Thanks heaps, followed all your previous videos successfully, so looking forward to starting on this one

    • @SmartHomeCircle
      @SmartHomeCircle  5 місяців тому +1

      @@clairerovic thank you 🙂

  • @guylast9516
    @guylast9516 2 місяці тому

    Hey Great video but have an issue. I ordered the parts and tried to use the code with latest esphome and it would not compile it. Any thoughts?
    Update: Resolved. Had to stop all addons as it failed due to memory issue.

    • @SmartHomeCircle
      @SmartHomeCircle  2 місяці тому

      Ohh yes.. To build the device using ESPHome, it needs something a little more powerful than a raspberry pi.
      Glad its resolved for you. 🙂

    • @guylast9516
      @guylast9516 2 місяці тому +1

      @@SmartHomeCircle I am on a 13600K Raptor Lake Win 11 but I guess it still is an issue depending on the VM config we all run for Home Assistant.

  • @Thebyeman
    @Thebyeman 5 місяців тому +1

    Also have to add logger: to the ymal

    • @SmartHomeCircle
      @SmartHomeCircle  5 місяців тому +1

      Ohh yes.. Missed that. I'll update the article. Thank you 😊

  • @RinyVT
    @RinyVT 5 місяців тому

    My pre-soldered INMP441 microphone came with the connections on the other side, do you think that will be a problem? So the hole for the microphone is on the bottom in my case. Not sure if I can flushmount it now or that I need to give it some clearance so sound can come from beneath as well.

    • @SmartHomeCircle
      @SmartHomeCircle  5 місяців тому

      As far as I know, the voice is captured from that hole.
      You might have to check how clearly the voice gets recorded with it.

  • @seyitbural8184
    @seyitbural8184 5 місяців тому

    Hi erstmal ein tolles Video hat bei mir auf Anhieb geklappt das einzige was stört ist das die sprachausgabe unvollständig ist also nach dem ich ein Befehl gegeben habe bricht die antwort ab

    • @SmartHomeCircle
      @SmartHomeCircle  5 місяців тому

      I am glad the video helped. 🙂
      My German is not that good, but I what I understood is that the voice response is incomplete or gets stuck.
      I dint face issues with the response being incomplete or stuck. I had problems with the speaker crackling on boot, so I moved the amplifier input from 5v to 3.3v , as I think the LED strip was interfering with it.
      Does that give you some help?

    • @seyitbural8184
      @seyitbural8184 5 місяців тому

      Genau das Problem es bricht einfach ab

  • @jacquesdupontd
    @jacquesdupontd 5 місяців тому

    Hey, thanks a lot for the video ! It's been a week that i'm doing some research to do just this. I have Ollama running on my local server and plugged in my Home Assistant Assist. I have an Ulanzi Pixel Clock where the answers from the Home Assistant (local AI in that case) or displayed in scroll. Looks pretty nice, you can check the last video on my channel. I have a few questions please,
    Is it possible to play sound on this device like we can do on Amazon Echo Dot for example ? Or should it only be a satellite to ask to play audio on another device ? I'd really like an all-in-one personal A.I home assistant.
    If so, do you know where I could find a very good quality speaker (or 2 for stereo) and microphone for the project
    You've put a resistor for the speaker. Cannot you set the volume in the code itself ?
    Thanks again !

    • @SmartHomeCircle
      @SmartHomeCircle  5 місяців тому +1

      First of all, nice to see you are using AI for the responses. Kudos on that. 👍
      I was trying to make the same for work for me. But it was not very reliable. Will try ollama this time.
      To answer your question,
      To get a better sounding speaker, I haven't got one, but may be you can redirect the audio from the response to alexa or google home mini. Check this video ua-cam.com/video/RIpnyTJmJJ8/v-deo.html . I haven't tried it with this device, but it was working well with my older voice assistant with an ESP32
      I had to use the resistor to reduce the volume as I could not adjust the level in Home Assistant. To provide volume controls, we have to use `media_player` type, but its not supported for IDF frameworks. Hence the option was the resistor.

    • @jacquesdupontd
      @jacquesdupontd 5 місяців тому

      @@SmartHomeCircle Thx for your Feedback. Why Alexa or Google home, why not a Bluetooth speaker ?

    • @SmartHomeCircle
      @SmartHomeCircle  5 місяців тому

      Bluetooth speakers are difficult to connect to Home Assistant. The cast option with google mini allows for easier integration.

  • @werner.m7200
    @werner.m7200 5 місяців тому

    whats the maximum distance for the mic to be heared?

    • @SmartHomeCircle
      @SmartHomeCircle  5 місяців тому

      I could get it to work around 3 mts away. So good for a room..

  • @thebatu89
    @thebatu89 5 місяців тому

    Are there no controls for the speaker volume?

    • @SmartHomeCircle
      @SmartHomeCircle  5 місяців тому +1

      No.. it's currently not possible with the speaker type in the yaml. And media_player is not supported for idf frameworks

    • @thebatu89
      @thebatu89 5 місяців тому

      @@SmartHomeCircle thanks, btw can i use the same i2c pin for light sensor (bh1750) or temp sensor (ath10)

    • @SmartHomeCircle
      @SmartHomeCircle  5 місяців тому

      I think you could use it, but you will have to try it out.
      I remember when I was using the light the co2 sensor, I had to make use of daisy chain connection for it to work. Check this video : ua-cam.com/video/bwVttXh4Lk4/v-deo.html
      I would say first try with normal parallel connection and if it does not work, then try the daisy chain connection approach.
      Hope this helps.

  • @manfredzimmer1199
    @manfredzimmer1199 5 місяців тому

    Thanks for the Button and the great Video

    • @SmartHomeCircle
      @SmartHomeCircle  5 місяців тому +1

      Glad you liked it. 😊

    • @Thebyeman
      @Thebyeman 5 місяців тому

      What type of button is it and where do I connect it to on the board?

    • @SmartHomeCircle
      @SmartHomeCircle  5 місяців тому +1

      The circuit diagram in the article shows how to connect the mute button.
      This is the button I used : s.click.aliexpress.com/e/_DEhJfB1

    • @Thebyeman
      @Thebyeman 5 місяців тому

      Checked the article and definitely does not show the button in the parts list the circuit diagram or connection list. It’s in the yaml GPIO10 but where do I connect the other wire? Sorry to be a pain. p.s. I love your work and have been building your things for sometime

    • @Thebyeman
      @Thebyeman 5 місяців тому

      I watched the video and managed to pause it at the exact point where I could see it’s connected to GND

  • @Thebyeman
    @Thebyeman 5 місяців тому

    Thanks

    • @SmartHomeCircle
      @SmartHomeCircle  5 місяців тому

      Thank you so much for your kind appreciation. 😃. Definitely helps me keep going.

    • @Thebyeman
      @Thebyeman 5 місяців тому

      May I add I stumbled initially once the device was set up, the problem I found was I had to go into voice assistant settings and set up a new assist profile, then leaving wake word empty

    • @SmartHomeCircle
      @SmartHomeCircle  5 місяців тому +1

      @@Thebyeman ohh yes.. you have to not set any wake word in the assist pipeline.

  • @andrejsersen59
    @andrejsersen59 3 місяці тому

    @SmartHomeCircle Thank you very much for you video!!!
    I have to share funny story about your video and making my version of voice assistant...
    After I soldered all the components and wired everything up, I set up esphome code and connected...flashed and after the device came to life, led flashed but it didn't respond to wake-word...hm...I double checked every connection, measured volatage on esp and microphone....nothing unusual and strange...then double checked installed addons (whisper and piper) and couldn't find the culprit. Then I stumboled upon your another video how to setup local VA...ua-cam.com/video/P4V2JqCmk7M/v-deo.html . I played your video and when you used "hey jarvis" in your video my device came to life, leds started blinking and VA responded in Slovenian language :))))
    Thanks for saving me quite some time before I realise I have to use hey Jarvis instead of ok nabu :)))

    • @SmartHomeCircle
      @SmartHomeCircle  3 місяці тому

      😄
      That is really a funny story. But I am glad it worked for you.

  • @fredrikjensen1
    @fredrikjensen1 2 місяці тому

    I have the N16R8 board and I had to comment out these lines for it to work.
    # sdkconfig_options:
    # CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240: "y"
    # CONFIG_ESP32S3_DATA_CACHE_64KB: "y"
    # CONFIG_ESP32S3_DATA_CACHE_LINE_64B: "y"
    # CONFIG_AUDIO_BOARD_CUSTOM: "y"

  • @formatBCE
    @formatBCE 5 місяців тому

    ESP logs show you IP address.

    • @SmartHomeCircle
      @SmartHomeCircle  5 місяців тому +2

      Its an internal IP so its fine.

    • @formatBCE
      @formatBCE 5 місяців тому +1

      @@SmartHomeCircle I meant you don't need any IP scanners, if you have ESPHome console. :)

    • @SmartHomeCircle
      @SmartHomeCircle  5 місяців тому +2

      @@formatBCE ohh yes.. good point.
      For me since I run esphome using docker, the auto discovery fails because of absence of mDNS. Hence I would usually need the ip scanner.

    • @formatBCE
      @formatBCE 5 місяців тому

      @@SmartHomeCircle yeah i have mDNS turned off too.
      What i actually meant, when you open device logs in your ESPHome dashboard, it reports system info (purple lines), and among that lines there's current IP address - so you can take it from there instead of guessing from long list of unknown IP addresses in IP scanner.
      For myself, i have big pool of static IP addresses, that i use for my smart devices. This way i always know that my DHCP lease didn't expire and device didn't change their IPs.

    • @SmartHomeCircle
      @SmartHomeCircle  5 місяців тому +1

      @@formatBCE ohh yes.. I use static IPs too. It's just in the video that I didn't want it to be more complex with static IPs.. as different folks would have different subnets configured in the router. So I tried to at least give people a tool that shows a blue icon next to an active ip address and test if it belongs to the device.

  • @c0deless
    @c0deless 4 місяці тому

    i followed your guide, but when i copy past the code and then save and click on install it get the following error .
    INFO ESPHome 2024.6.1
    INFO Reading configuration /config/esphome/esp-ww-lounge.yaml...
    Failed config
    ota.unknown: [source /config/esphome/esp-ww-lounge.yaml:44]

    'ota' requires a 'platform' key but it was not specified.

    • @SmartHomeCircle
      @SmartHomeCircle  4 місяці тому

      Ohh yes.. here are some breaking changes in the new ESPHome.
      You need to replace the ota section with this.
      ota:
      - platform: esphome
      password: xxxxxxx
      I will update my article with this.

  • @randazd1434
    @randazd1434 3 місяці тому

    I'm getting a failure when trying to compile the YAML for the ESP32-S3, any ideas:
    Failed config
    micro_wake_word: [source /config/esphome/esp32-voice-assistant.yaml:213]

    'models' is a required option for [micro_wake_word].
    on_wake_word_detected:
    - voice_assistant.start:
    wake_word: !lambda |-
    return wake_word;
    silence_detection: True
    - light.turn_on:
    id: led_ww
    red: 30%
    green: 30%
    blue: 70%
    brightness: 60%
    effect: fast pulse
    - light.turn_on:
    id: led_strip
    effect: Scan Effect With Custom Values
    red: 80%
    green: 0%
    blue: 80%
    brightness: 80%

    The model parameter has moved to be a list element under the models parameter.
    model: hey_jarvis

    • @SmartHomeCircle
      @SmartHomeCircle  3 місяці тому

      Its the new update from ESP home for wake words.
      I'll fix the yaml code.

    • @SmartHomeCircle
      @SmartHomeCircle  3 місяці тому

      I fixed the code in my article here: smarthomecircle.com/add-timers-to-voice-assistant-on-device-wake-word-home-assistant#implement-timers

    • @uvhciM
      @uvhciM 3 місяці тому

      @@SmartHomeCircle
      Hi, I had the same problem he did, and the issue he's talking about seems to be here:
      models:
      - model: hey_jarvis
      The above code creates an error which cannot be compiled.
      Instead, everything seems to work if you delete all of that and replace it with nothing more than:
      model: hey_jarvis
      I'm using just the ESP32-S3, mic, and speaker (no LED strip) setup from your other video, and this change in code seems to have fixed everything for me (also, I've noticed the code in your video at 10:00 in shows the code that works, but the code at your website pages contains the error).
      Note: I also added your new timer updates to my code (minus the LED strip parts) and it appears to work perfectly thus far.

    • @SmartHomeCircle
      @SmartHomeCircle  3 місяці тому +2

      This would work if you are using an older version of ESPhome.
      Since 2024.7 version of ESPHome, you need to use "models" as per what is mentioned in the article.

    • @uvhciM
      @uvhciM 3 місяці тому

      @@SmartHomeCircle - Thank you! After reading this, I looked more closely and realized that while my Pi 4 HA device had updated to 2024.7.3, my HA instance on my Windows VirtualBox (the device used to flash the S3) had not and was still stuck at 2024.6. Once I initiated an ESPHome update, the new code compiled and worked perfectly. Many thanks for your great videos and help on all of this!

  • @bartoszbaumgart643
    @bartoszbaumgart643 2 місяці тому

    Hi, graeat project :) I have some issue with this board esp32 s3 n16r8:
    [16:32:43]��0+�91Bc2c�F�c"�a§¡�aESP-ROM:esp32s3-20210327
    [16:32:43]Build:Mar 27 2021
    [16:32:43]rst:0x7 (TG0WDT_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
    [16:32:43]Saved PC:0x403775b4
    [16:32:43]SPIWP:0xee
    [16:32:43]mode:DIO, clock div:1
    [16:32:43]load:0x3c0d0020,len:0x3a810
    [16:32:43]load:0x3fc97950,len:0x3fcc
    [16:32:43]load:0x40374000,len:0x180c
    [16:32:43]load:0x42000020,len:0xc3b84
    [16:32:43]load:0x4037580c,len:0x12140
    [16:32:43]SHA-256 comparison failed:
    [16:32:43]Calculated: f05866a3a6706911c50f0f103483632dff4320df4e3308d87cceb23f343f5bb5
    [16:32:43]Expected: be769d2f35f6ca484597ebbbddf12d3db8c91409e64daa1b58ace26d8b915714
    [16:32:43]Attempting to boot anyway...
    [16:32:43]entry 0x403766d8
    [16:32:44]ESP-ROM:esp32s3-20210327
    What is wrong ? Any advise ?
    smarthomecircle.com/How-I-created-my-voice-assistant-with-on-device-wake-word-using-home-assistant