Hi and welcome!
The 2 pins you are mentionning are used already.
On the top schematic of this thread I can see that this is free to use :
GPIO 4 12 19 18
Use 2 of those for I2C, 2 for any button.
Feel free to share you project pictures!
Hi and welcome!
The 2 pins you are mentionning are used already.
On the top schematic of this thread I can see that this is free to use :
GPIO 4 12 19 18
Use 2 of those for I2C, 2 for any button.
Feel free to share you project pictures!
Would you mind sharing your pin configuration please?
I’m building something similar and am struggling with the SPI pinout.
Much appreciated!
I have not tried to connect a SPI screen, but the pin with nothing marked are free :
So GPIO :
12
32
19
18
4
Let us know what worked for you or if you can’t make it
Is there a way to set the gain in the Squeezelite firmware?
Hi Intrinseca and welcome
According to the Squeezelite documentation
I have not tried but you probably can define a dummy button in the NVS config set to pull:false on GPIO23
I could try but only next week. If you did it could you export and share your NVS config for the Proto?
thanks
Yes, I think that worked.
For future reference:
high_gain
with the text [{"gpio":23,"type":"BUTTON_HIGH","pull":true,"normal":{"pressed":"ACTRLS_TOGGLE"}}]
normal
might be optional, I didn’t try without.actrls_config
to high_gain
.The name isn’t important but has to match in steps 2 and 3. After doing this, connecting a 100k resistor between GND and GPIO23 no longer increased the volume, so I’m pretty sure I’m on the highest setting now.
I’m using my proto with one of these USB speakers I had lying around. Sadly the proto doesn’t quite fit inside, but the drivers (I’m only using one of them) are the perfect 4Ω/3W spec.
try “pull”:false instead
as the 15db needs a pull down
let me know if you notice a louder sound
I’m pretty sure the logic of
“type”: (BUTTON_LOW) logic level when the button is pressed
“pull”: (false) activate internal pull up/down
(from https://github.com/sle118/squeezelite-esp32#buttons)
is to use the type
to say whether a press is high (pull down) or low (pull up) and then you set pull
to true to enable the appropriate pull-up.
I would probably need to dive into the squeezelite code to be completely sure, but by experiment I think I have it right… Will double check tomorrow.
Here is the relevant code: set pull
to true and mode
to BUTTON_HIGH
to run gpio_set_pull_mode(gpio, GPIO_PULLDOWN_ONLY)
.
thanks for taking the time to check that, could you from the web interface export you NVS settings and share it? thanks
Here you go:
{
"a2dp_ctmt": "1000",
"a2dp_ctrld": "500",
"a2dp_dev_name": "Squeezelite",
"a2dp_sink_name": "SMSL BT4.2",
"a2dp_spin": "0000",
"actrls_config": "high_gain",
"airplay_name": "ESP32-AirPlay-5fef4",
"airplay_port": "5000",
"ap_channel": "1",
"ap_ip_address": "192.168.4.1",
"ap_ip_gateway": "192.168.4.1",
"ap_ip_netmask": "255.255.255.0",
"ap_pwd": "squeezelite",
"ap_ssid": "squeezelite-5fef4",
"autoexec": "1",
"autoexec1": "squeezelite -o I2S -b 500:2000 -d all=info -C 30 -W -n \"squeezelite-5fef4\"",
"bat_config": "",
"bt_name": "ESP32-BT-5fef4",
"bt_sink_pin": "1234",
"bt_sink_volume": "127",
"button": "",
"buttons": "",
"bypass_wm": "0",
"dac_config": "model=I2S,bck=5,ws=25,do=26,mute=21:0",
"dac_controlset": "",
"display_config": "",
"enable_airplay": "1",
"enable_bt_sink": "1",
"equalizer": "00,00,00,00,00,00,00,00,00,00",
"eth_config": "",
"high_gain": "[{\"gpio\":23,\"type\":\"BUTTON_HIGH\",\"pull\":true,\"normal\":{\"pressed\":\"ACTRLS_TOGGLE\"}}]",
"host_name": "squeezelite-5fef4",
"i2c_config": "",
"jack_mutes_amp": "n",
"led_brightness": "",
"lms_ctrls_raw": "n",
"low_gain": "[{\"gpio\":23,\"type\":\"BUTTON_LOW\",\"pull\":true,\"normal\":{\"pressed\":\"ACTRLS_TOGGLE\"}}]",
"metadata_config": "",
"ota_erase_blk": "249856",
"ota_prio": "6",
"ota_stack": "10240",
"rel_api": "https://api.github.com/repos/sle118/squeezelite-esp32/releases",
"release_url": "https://github.com/sle118/squeezelite-esp32/releases",
"rotary_config": "",
"set_GPIO": "",
"spdif_config": "",
"spi_config": "",
"stats": "n",
"telnet_block": "500",
"telnet_buffer": "40000",
"telnet_enable": "",
"wifi_smode": "f"
}
Along the way, I tried running both the ESPHome firmware and the latest release of Squeezelite-ESP32. Both gave really glitchy, stuttery, audio. The build on your fork works great. Do you know what the difference is? Has anyone else noticed this?
Is it possible that this solution is obsolete as of right now? I followed your steps ("actrls_config": "high_gain",
was already part of the config) but there was no change in volume. Did the gain become default maybe? (I2S-4MFlash.16.2.1254.master-v4)
Hi!
The generic I2S-4MFlash.16.2.1254.master-v4 release can’t integrate this hardware specific configuration of the Proto by default.
Many causes are possible for a low volume, my recommendation is to try to flash your Proto using the default Bluetooth app :
If the volume is louder then you might have a software issue, otherwise hardware (speaker impedance, cable, power supply)
I got my Muse Proto board today. I see, there is some code preloaded - blue LED blinking, pushing button makes beep and second LED turns green. I can’t find any description what else this default program can do?
Hi, the default program is just a factory test, sending frequency thru the speaker and recording with the mic calculating frequency deviation and write it on the SD.
Code is here : GitHub - RASPIAUDIO/MuseProtoFactoryTest
for more app check apps.raspiaudio.com
Hello
’
Just got this board working via Home assistant. In ESPhome I see ‘update available’.
When I tried to update I get following error:
INFO Reading configuration /config/esphome/raspiaudio-muse-proto-381bb0.yaml...
WARNING GPIO0 is a Strapping PIN and should be avoided.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
Failed config
media_player: [source /config/esphome/.esphome/packages/7b8574f6/raspiaudio-muse-proto.yaml:34]
Component not found: media_player.
- platform: i2s_audio
id: media_out
name: RaspiAudio Muse Proto
dac_type: external
i2s_lrclk_pin: GPIO25
i2s_dout_pin: GPIO26
i2s_bclk_pin: GPIO5
mode: mono
mute_pin:
number: GPIO21
inverted: True
binary_sensor.gpio: [source /config/esphome/.esphome/packages/7b8574f6/raspiaudio-muse-proto.yaml:47]
platform: gpio
pin:
number: GPIO0
inverted: True
mode:
input: True
pullup: True
name: RaspiAudio Muse Proto Button
on_click: [source /config/esphome/.esphome/packages/7b8574f6/raspiaudio-muse-proto.yaml:56]
- [source /config/esphome/.esphome/packages/7b8574f6/raspiaudio-muse-proto.yaml:56]
Unable to find action with the name 'media_player.toggle'.
media_player.toggle: media_out [source /config/esphome/.esphome/packages/7b8574f6/raspiaudio-muse-proto.yaml:56]
Seems to work otherwise, so doesn’t matter that much?
Hi, you can ignore this warning message as there is no external pull up or down on this board
Can’t ignore it for the update. This error prevents updating as far as I can see
There was an update in ESPHome to support voice assistants/microphones and they split the media play config to two separate sections. See the breaking changes section at: ESPHome 2023.4.0 - 19th April 2023 — ESPHome