Muse Radio Home Assistant

Raspiaudio Muse Radio Voice Satellite

YouTube Video

This is an ESPHome configuration that turns the Raspiaudio Muse Radio into a Home Assistant voice satellite.

This project builds upon the work of Tetele. I have added several screen interfaces and fixed (hopefully) the keyword detection.

ESPHome Radio for RASPIAUDIO Muse Radio

This project is designed for use with the RASPIAUDIO Muse Radio.

How It Works

  • Wake Word: Configure a wake word in Home Assistant - Voice Assistant.
  • Microphones: Ensure your pluggable microphones are connected.
  • Screen Support: Includes basic screen support using the new LVGL library.

Flashing Your Device

  1. Open Google Chrome.
  2. Visit apps.raspiaudio.com.
  3. Select Muse Radio - Home Assistant and follow the on-screen instructions.

Source Code

The source code is available on GitHub: Raspiaudio Muse Radio Voice Satellite

Forum & Support

For discussions and support, visit the Raspiaudio Forum.

Step-by-Step Video Guide

For a detailed video tutorial, watch this step-by-step guide (created for the Luxe, but also applicable to the Muse Radio).

Is it possible to add a battery level sensor to this project?

Thanks

Yes see ADC 13

check how we did it in the demo app MuseRadio-DEMO/RadioV01/RadioV01.ino at main · RASPIAUDIO/MuseRadio-DEMO · GitHub

Repository updated see first message of this thread

Can’t wait my Muse RAdio…
When (second) batch will be shipped ? My order is ;
RASPIAUDIO - Order 3731 (21/08)

I looked through the example, and tried reading GPIO13 in esphome e.g

sensor:
 - platform: adc
   pin: GPIO13

But this throws up an error due to the following:

ESP32 pins

ADC2 pins are only usable when Wi-Fi is not configured on the device.

Variant ADC1 ADC2
ESP32 GPIO32 - GPIO39 GPIO0, GPIO2, GPIO4, GPIO12 - GPIO15, GPIO25 - GPIO27
ESP32-C3 GPIO0 - GPIO4 GPIO5
ESP32-S2 GPIO1 - GPIO10 GPIO11 - GPIO20
ESP32-S3 GPIO1 - GPIO10 GPIO11 - GPIO20

Am I misunderstanding which pin is being read in the example you give?

Thanks

Hi ADC for battery is on the pin 13 indeed

https://forum.raspiaudio.com/t/muse-radio-installation-documentation/

I didn’t have this error when I tested it couple week ago.

Were you testing using Arduino C++ or esphome YAML? I can see the former working but for the latter the YAML won’t compile for me due to pin 13 being off limits when WiFi is enabled.

Thanks

Ii was compiled in HA ESPHOME plugin

Ok, could you share or link the YAML you used please?

Thanks

That’s the example I based the YAML I’m using on. Unfortunately when I add the lines below it no longer compiles for the reason about reserved pins due to WiFi.

If you have the time maybe you could check it’s the same for you.

Thanks

Hello @Raspiaudio ,
Thank you for the awesome work with Muse Radio. Didn’t find you before and built/print my own box (GitHub - JMiahMan1/Home-Assistant-Smart-Speaker: Creating a Home Assistant Smart Speaker). I have a couple of questions :

  • Possible to use esp-idf framework to have local micro wake word ?
  • What amp do you use with the dac (es8388 if I’m not mistaken) ?
  • Muse radio is an instant buy ! Do you have a rough ETA if I order now as it’s mid december for the backers ?

Thanks again and congrats !

Sylvain (from Paris with love ;))

Hi Sylvain,

Thanks ! ETA is here Update on stock - #6 by Raspiaudio
Radio is based on S3 with PSRAM so yes it should be possible to use local wake work, but I have not tried it yet.

Amp is about 11-12W it uses a boost converter to raise voltage to 17v from the Lipo cell, let say that is a quite loud.

We are in Paris too btw

try to install using this the integration is well done : Ready-Made Projects — ESPHome

choose Media Player - Luxe

Just tried but it wouldn’t install:

“Your ESP32-S3 board is not supported.“

Regards

Sorry I miss read your message with another thread about the Muse Luxe, let me try again with the Muse Radio

Here’s the quick solution: add this to your YAML configuration:

sensor:
  - platform: template
    name: "Battery Voltage"
    id: battery_voltage
    unit_of_measurement: "V"
    update_interval: 60s
    lambda: |-
      // Directly read the ADC value on GPIO13
      return (float) analogRead(GPIO_NUM_13) / 4095.0 * 3.3;  // Adjust based on expected voltage range
    filters:
      - multiply: 2.0  # Adjust according to your voltage divider ratio

My Journey :slightly_smiling_face::

  • Voice Assistant Check: I confirmed that the voice assistant is still working on Home Assistant 2024.11.1 with ESPHome 2024.10.3. I used the pre-built image from RaspiAudio’s apps store. However, it didn’t prompt me for WiFi credentials at the end, so I had to manually configure WiFi by following the ESPHOME installer.
  • Wake Word Test: In HA, the wake word worked well using Nabu Casa’s wake word integration.
  • ESPHome Configuration: In the ESPHome plugin, I created a new device and attempted to recompile the YAML for the radio. I used this file: RaspiAudio Radio YAML. No errors occurred.
  • ADC Issue: I added the ADC on pin 13 in the usual way, but encountered an error message claiming that the S3 is not compatible with ADC when WiFi is connected. This is misleading, as it works fine on my Arduino demo. I consulted ChatGPT, which suggested adding this block to the sensor section of the YAML mentioned above.

Now it’s working! The battery level decreases slowly while unplugged.

1 Like

Thanks for that, it’s working for me. Very sneaky way to avoid the problem - I like it!

Regards