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


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": "",
  "ap_ip_gateway": "",
  "ap_ip_netmask": "",
  "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": "",
  "release_url": "",
  "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)

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)

A post was merged into an existing topic: The sound of my ESP MUSE PROTO is way to weak

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


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.
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
      number: GPIO21
      inverted: True
binary_sensor.gpio: [source /config/esphome/.esphome/packages/7b8574f6/raspiaudio-muse-proto.yaml:47]
  platform: gpio
    number: GPIO0
    inverted: True
      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

1 Like

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

How were you able to update? I have the same issue. I received my Proto yesterday. Should I send my Proto back?

Problem for me that I was, without knowing it, using an old version of ESPhome. I removed that and updated to the current version. Update via the new ESPhome went without issues.

1 Like

Painy you just solved my problem. I thought I had ESP Home on automatic updates. Turn out I was using an old version as well. Cheers!

1 Like

I recently bought a Muse Proto board as well and would love to connect an amplifier to it, since I have some really nice passive speakers I would like to play music on.

You are stating that most amplifiers use a line level stereo input, but the Proto does not have a line output (and it is mono). If I want to connect an amplifier to it, what kind of input should it have and what do I have to look for to find a suitable and simple amp to connect my speakers to? I am sorry that I am probably asking some really basic-knowledge questions, but any push in the right direction is highly appreciated!

Hello Mardo,

The Proto is made to connect to a passive speaker directly but it is not compatible to plus on an external amplifier.

If you need to connect to a stereo amplifier e can recommend you the Manga Cast


I created a case for the Muse Proto board.

Check it out here:

1 Like