I don’t want to transform the thread into soldering guide.
In general, you can use whatever 5V you find. GND is recommended to be common.
All 5V pads you find will be basically the same cable.
However, for LED I’d use 5V as close as I can to the power input - just because it can take relatively big current, and it can damage trace on the board.
As there is only 1 5v pad on the esp board and none on the respeaker board I will splice into the 5v wire going to the respeaker board to power the led and encoder.
I will post any future questions I may have on the koala github.
I’m trying to set up a couple of the ReSpeaker kits and am hitting a snag at the ESP download stage. When I select “Install” and “Manual Download” I get this error
INFO ESPHome 2024.12.2
INFO Reading configuration /config/esphome/respeaker1.yaml...
INFO Generating C++ source...
INFO Updating https://github.com/espressif/[email protected]
INFO Compiling app...
Processing esp32s3 (board: esp32-s3-devkitc-1; framework: espidf; platform: https://github.com/pioarduino/platform-espressif32.git#51.03.07)
--------------------------------------------------------------------------------
HARDWARE: ESP32S3 240MHz, 320KB RAM, 8MB Flash
- framework-espidf @ 3.50105.0 (5.1.5)
- tool-cmake @ 3.21.3
- tool-esptoolpy @ 4.8.1
- tool-mklittlefs @ 3.2.0
- tool-ninja @ 1.7.1
- tool-riscv32-esp-elf-gdb @ 12.1.0+20221002
- tool-xtensa-esp-elf-gdb @ 12.1.0+20221002
- toolchain-esp32ulp @ 2.35.0-20220830
- toolchain-riscv32-esp @ 12.2.0+20230208
- toolchain-xtensa-esp32s3 @ 12.2.0+20230208
Reading CMake configuration...
No dependencies
Compiling .pioenvs/esp32s3/src/esphome/components/i2s_audio_xiao/i2s_audio_xiao.cpp.o
Compiling .pioenvs/esp32s3/src/esphome/components/i2s_audio_xiao/speaker/i2s_audio_speaker.cpp.o
In file included from src/esphome/components/i2s_audio_xiao/i2s_audio_xiao.h:5,
from src/esphome/components/i2s_audio_xiao/i2s_audio_xiao.cpp:1:
/data/cache/platformio/packages/framework-espidf/components/driver/deprecated/driver/i2s.h:27:2: warning: #warning "This set of I2S APIs has been deprecated, please include 'driver/i2s_std.h', 'driver/i2s_pdm.h' or 'driver/i2s_tdm.h' instead. if you want to keep using the old APIs and ignore this warning, you can enable 'Suppress leagcy driver deprecated warning' option under 'I2S Configuration' menu in Kconfig" [-Wcpp]
27 | #warning "This set of I2S APIs has been deprecated, \
| ^~~~~~~
In file included from src/esphome/components/i2s_audio_xiao/speaker/../i2s_audio_xiao.h:5,
from src/esphome/components/i2s_audio_xiao/speaker/i2s_audio_speaker.h:5,
from src/esphome/components/i2s_audio_xiao/speaker/i2s_audio_speaker.cpp:1:
/data/cache/platformio/packages/framework-espidf/components/driver/deprecated/driver/i2s.h:27:2: warning: #warning "This set of I2S APIs has been deprecated, please include 'driver/i2s_std.h', 'driver/i2s_pdm.h' or 'driver/i2s_tdm.h' instead. if you want to keep using the old APIs and ignore this warning, you can enable 'Suppress leagcy driver deprecated warning' option under 'I2S Configuration' menu in Kconfig" [-Wcpp]
27 | #warning "This set of I2S APIs has been deprecated, \
| ^~~~~~~
src/esphome/components/i2s_audio_xiao/i2s_audio_xiao.cpp: In member function 'virtual void esphome::i2s_audio_xiao::I2SAudioComponent::setup()':
src/esphome/components/i2s_audio_xiao/i2s_audio_xiao.cpp:15:24: error: 'I2S_NUM_MAX' was not declared in this scope; did you mean 'I2S_NUM_1'?
15 | if (next_port_num >= I2S_NUM_MAX) {
| ^~~~~~~~~~~
| I2S_NUM_1
*** [.pioenvs/esp32s3/src/esphome/components/i2s_audio_xiao/i2s_audio_xiao.cpp.o] Error 1
src/esphome/components/i2s_audio_xiao/speaker/i2s_audio_speaker.cpp: In static member function 'static void esphome::i2s_audio_xiao::I2SAudioSpeaker::player_task(void*)':
src/esphome/components/i2s_audio_xiao/speaker/i2s_audio_speaker.cpp:54:24: error: 'I2S_MCLK_MULTIPLE_DEFAULT' was not declared in this scope; did you mean 'I2S_MCLK_MULTIPLE_512'?
54 | .mclk_multiple = I2S_MCLK_MULTIPLE_DEFAULT,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| I2S_MCLK_MULTIPLE_512
*** [.pioenvs/esp32s3/src/esphome/components/i2s_audio_xiao/speaker/i2s_audio_speaker.cpp.o] Error 1
========================== [FAILED] Took 4.64 seconds ==========================
The enclosure is the defining part. I tried to use speaker from IKEA VAPPEBY before - and it works much, much better in stock enclosure, than in generic one.
Aww that answers my question. I was aware of the Onju but not the new request… I do want micro wake word and just figured swiping the speaker would be good enough.
If the enclosure shape is critical to sound quality then that is a more complicated issue.
As the ReSpeaker Lite is available now and getting my hands on old minis is easy since I already have 5 and I see them used for cheap regularly I figured just grabbing the speaker would be easiest.
A full drop in micro wake word board would be nice but from the look of the thread the dev does not have access to gen 1 hardware which is what I have.
I don’t understand what you’re referring to under “micro wake word board”.
Respeaker Lite needs ESP32 firmware with Microwakeword anyways (well, you can use Openwakeword, but that requires changes in firmware). And it still needs esp32s3 board, even if you take speaker from old Alexa.
I was talking about the Onju I wasn’t sure you could use microwake word with it ( a little more searching indicates there is a firmware with it now), besides it is the wrong generation for my minis I have the first gen ones.
yes I am aware both need an esp32s3 board, included on some of the shipping options.
Ether way the idea was to YANK a good speaker out and put it in a new solution / case vs trying to get a custom board that exactly fits my 5 existing G1 google minis.
I see. Well, I’d rather sell minis and buy some speakers from AliExpress or Amazon. It will be cheaper than ripping off speakers from minis. Let them go.
I just updated my ReSpeaker using the latest YAML and all works great especially the additional sensors/switched so thanks for the great work. However I noticed the RGB led is constantly on with blue color, i checked the log and it looks like the user button keeps going on and off all the time. Please note that I don’t have my user button soldered on the ReSpeaker. Would that be the reason?
I also notice that the device started to produce a ringing like sound every now and then without any physical/voice trigger.
I can confirm, it’s because the user button is not connected. I just updated another ReSpeaker which has the user button connected and it works great. So I think i will need to solder all of my devices which will also add a switch and more functionalities
FYI, for reference, ESP32-AIVoice-Z01 is now available as a very low-cost battery-powered ESP32-S3 AI voice kit development kit, but it does not feature a dedicated hardware DSP like the XMOS xCORE MCU for noise reduction + echo cancellation but instead they implemented audio algorithms running on the ESP32 for that → https://www.youyeetoo.com/products/esp32-aivoice-z01-esp32-s3-ai-kit?VariantsId=12402
This will behave like old Respeaker hats, or inmp441. Unreliable and obsolete. Probably. Or maybe, they made something better than XMOS does?
P.S. Guys from Seeed reached out today, asking to check similar solution on Respeaker Lite working with OpenAI. Looks like same stuff that is shown on video (fast communication voice-to-voice with ChatGPT).
However, it won’t work with Home Assistant - rather like personal GPT speaker.
@haidar23@maglat yeah sorry guys, all my setups are built with soldering usr and mute buttons on, for maximum features.
You can modify YAML to remove everything related to user button, and it will stop misbehaving. The pin D2 is floating by default, so if it’s not soldered to button, it will flicker programmatic button state. Weird sounds are also result of button presses.