Announcement

Collapse
No announcement yet.

ANNOUNCE: Squeezelite-ESP32 (dedicated thread)

Collapse
X
 
  • Time
  • Show
Clear All
new posts

  • BT A2DP Audio problem progress

    Originally posted by philippe_44
    I really don't know what's happening with your setup. BT has been working fine so far, I've not heard complaints. I really don't understand why LMS streaming works and not BT, unless your BT controller does not send a volume command. Have you tried with an Android and an iPhone? You can try to set output log to debug (-d output=debug) to see the log of the volume command, it will make the log noisy unfortunately. For telnet, use any telnet client (putty on Windows) and just connect to the IP address of the devie, after you have enabled telnet in the NVS parameters (from the built-in WebUI)
    Some progress: I did some further testing with my T8 v1.7 ESP32-wrover board (https://www.aliexpress.com/item/4001049652653.html).

    Some devices connected but didn't output any audio over BT: Windows 10 laptop, Huawei P20 pro&lite (Android 10).
    My Ipad 6th Gen running latest IOS 14.4.2 connects initially but disconnects BT after 2 seconds again.
    Samsung Galaxy S20 failed to connect.
    I had to try a few times but my Samsung Tab S3 eventually connects and I got audio over BT.

    I tried 3 of these T8 v1.7 boards I have laying around: same outcome every time.

    I now tried a T8 v1.8 ESP32-wrover board https://www.aliexpress.com/item/4001049746156.html) with the same DAC.
    My Huawei p20 pro connects like before, and no audio like before.
    But my Ipad does connect and stays connected. And most importantly audio over bluetooth is working! My Win10 laptop, Samsung Tab S3, Samsung Galaxy S20 now work as well.

    I then discovered if I boot the SLESP32, and connect my Ipad first and set the volume to e.g. 50%. Then I disconnect my Ipad and connect my Huawei P20 pro I can hear audio and I can set the audio level between 0 and 50% (or whatever volume % I set when I disconnected my Ipad). When I reboot the SLESP32 and connect my Huawei phone first: again no audio.

    Could you explain how to set "-d output=debug" so I can investigate a bit further?
    Don't know if there is a compatibility thing going on between v1.7 and v1.8 of that ESP32 Board, or that I got a fishy batch of v1.7 boards?

    Best regards,
    Jan

    Comment


    • Originally posted by MisterA
      Some progress: I did some further testing with my T8 v1.7 ESP32-wrover board (https://www.aliexpress.com/item/4001049652653.html).

      Some devices connected but didn't output any audio over BT: Windows 10 laptop, Huawei P20 pro&lite (Android 10).
      My Ipad 6th Gen running latest IOS 14.4.2 connects initially but disconnects BT after 2 seconds again.
      Samsung Galaxy S20 failed to connect.
      I had to try a few times but my Samsung Tab S3 eventually connects and I got audio over BT.

      I tried 3 of these T8 v1.7 boards I have laying around: same outcome every time.

      I now tried a T8 v1.8 ESP32-wrover board https://www.aliexpress.com/item/4001049746156.html) with the same DAC.
      My Huawei p20 pro connects like before, and no audio like before.
      But my Ipad does connect and stays connected. And most importantly audio over bluetooth is working! My Win10 laptop, Samsung Tab S3, Samsung Galaxy S20 now work as well.

      I then discovered if I boot the SLESP32, and connect my Ipad first and set the volume to e.g. 50%. Then I disconnect my Ipad and connect my Huawei P20 pro I can hear audio and I can set the audio level between 0 and 50% (or whatever volume % I set when I disconnected my Ipad). When I reboot the SLESP32 and connect my Huawei phone first: again no audio.

      Could you explain how to set "-d output=debug" so I can investigate a bit further?
      Don't know if there is a compatibility thing going on between v1.7 and v1.8 of that ESP32 Board, or that I got a fishy batch of v1.7 boards?

      Best regards,
      Jan
      Just so I can understand, you are connecting to the esp32's Bluetooth audio sink from your phone and you are trying to play some audio?

      If this is the case, then the most relevant logs are likely not going to be from the squeezelite logging options as the audio sink core is an independent component.

      How comfortable are you to build your own version of squeezelite-esp32? You could enable verbose logs in the Bluetooth driver by adding the following line to CMakeLists.txt

      target_compile_definitions(__idf_driver_bt PRIVATE -DLOG_LOCAL_LEVEL=ESP_LOG_VERBOSE)

      Once you've built and flashed the resulting binary, you'll get a very detailed log from the BT driver
      LMS 7.9 - 1xRadio, 1xBoom, 5xDuet,3xTouch, 1 SB2. Sony PlayStation, Emby, Chromecast v1 and v2 and...
      6xSqueezeAmp, several other ESP32-Wrover boards with jumper wires flying around, some with ethernet!

      Comment


      • Originally posted by sle118
        Just so I can understand, you are connecting to the esp32's Bluetooth audio sink from your phone and you are trying to play some audio?

        If this is the case, then the most relevant logs are likely not going to be from the squeezelite logging options as the audio sink core is an independent component.

        How comfortable are you to build your own version of squeezelite-esp32? You could enable verbose logs in the Bluetooth driver by adding the following line to CMakeLists.txt

        target_compile_definitions(__idf_driver_bt PRIVATE -DLOG_LOCAL_LEVEL=ESP_LOG_VERBOSE)

        Once you've built and flashed the resulting binary, you'll get a very detailed log from the BT driver
        Yes, I try to stream audio from my phone to the BT audio sink of the ESP32.

        Regarding building squeezelite-esp32 myself: I have tried that already some time ago using the instructions on the github page, but I ran into some issues. I might try it again one of these days.

        Comment


        • FW update issues

          Please look at https://forums.slimdevices.com/showt...l=1#post983839
          LMS 8.2 on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3

          Comment


          • My squeezelite-esp32 player

            Don't know if this is the right place to post this but here is a little demo of the Squeezelite-ESP32 player I made.



            Components used:
            Wrover-ESP32 T8 v1.8 .
            PCM5102 DAC.
            Small AMP I salvaged from some USB Speakers.
            ILI9341 3.5inch TFT display.
            TANG BAND T1-1925S Speaker Modules
            3D printed body and back lid. CNC milled frontface out of 1.5mm aluminium.

            Sounds and looks better in real life :-)

            Comment


            • Originally posted by MisterA
              Don't know if this is the right place to post this but here is a little demo of the Squeezelite-ESP32 player I made.
              Very nice project! Thank you for sharing!
              LMS 7.9 - 1xRadio, 1xBoom, 5xDuet,3xTouch, 1 SB2. Sony PlayStation, Emby, Chromecast v1 and v2 and...
              6xSqueezeAmp, several other ESP32-Wrover boards with jumper wires flying around, some with ethernet!

              Comment


              • Originally posted by MisterA
                Don't know if this is the right place to post this but here is a little demo of the Squeezelite-ESP32 player I made.
                Very nice, good job, thanks for sharing it's good to see what people are managing to home manufacture.

                What about creating a 3D printed stand that allows the unit to sit upright but lean back a bit... like the V3 and Touch do. (or you could do that with the shape of the back case)

                I've got an idea/plan for an A1S case with display and rotary encoder - no 3D printer so it will fully handcrafted if I ever get round to it.

                Cheers

                Kev

                Comment


                • Stand Mount

                  Originally posted by KeBul
                  Very nice, good job, thanks for sharing it's good to see what people are managing to home manufacture.

                  What about creating a 3D printed stand that allows the unit to sit upright but lean back a bit... like the V3 and Touch do. (or you could do that with the shape of the back case)

                  I've got an idea/plan for an A1S case with display and rotary encoder - no 3D printer so it will fully handcrafted if I ever get round to it.

                  Cheers

                  Kev
                  Yes, I'm working on that. It's based on a french cleat system. Right now I have made a wall mount. I will mount it using some strong double sided sticky tape to the wall so I can hang the unit from it.

                  Click image for larger version

Name:	wallmountSL2.jpg
Views:	1
Size:	35.4 KB
ID:	1571847
                  Click image for larger version

Name:	wallmountSL.png
Views:	1
Size:	54.0 KB
ID:	1571848
                  Click image for larger version

Name:	IMG_20210404_225242.jpg
Views:	1
Size:	40.3 KB
ID:	1571849

                  I'm in the middle of designing a mount like you described to put it on a flat surface.
                  Thanks for the feedback!

                  Comment


                  • Originally posted by wizmo
                    Has anyone else looked at these devices? I ordered a couple as they seemed to meet the required specs and have a cool led bar (plus they're dirt cheap!). I tried a few DAC and IC2 configurations, but without joy. I now see that the issue is support for the WM8978 in ESP-IDF 4.0 (The chips "does not support" I2c read functions).

                    I'm currently hacking at the code to try and manually initialize the device, but it may also needs a custom hal codec driver (which looks like it will need a lot of work). I'm beginning to think that it's a loosing battle. Was wondering (hoping) if anyone else had gone along the same path?
                    @wizmo,
                    in your PR you imply that you feed your DAC with "an external MCLK signal, that is supplied by the ESP32 system clock."
                    Can you please elaborate how you do that?

                    Comment


                    • Originally posted by MisterA
                      Yes, I try to stream audio from my phone to the BT audio sink of the ESP32.

                      Regarding building squeezelite-esp32 myself: I have tried that already some time ago using the instructions on the github page, but I ran into some issues. I might try it again one of these days.
                      I also used to have problems with building. Have a look here:

                      https://forums.slimdevices.com/showt...=1#post1017408

                      I recently succeded in building squeezelite-ESP32 by using a special docker image provided by @sle118.

                      Comment


                      • Originally posted by martymcbro
                        I recently succeded in building squeezelite-ESP32 by using a special docker image provided by @sle118.
                        I struggled with the docker, but managed to get the project to build in vcode. Here's my notes on how.

                        GETTING STARTED WITH VCODE and ESP-IDF
                        These are reminders on setting up Visual Code to build squeezelite-esp32 (and other esp-idf projects)
                        NOTE: Maybe missing steps for Python and possibly Github installs (these and others may automatically install)
                        1. Install Espressive IDF extension
                        Configure with V4.02
                        NOTE: I use custom folders to easily allow multiple idf versions
                        NOTE: You can reconfigure after install using <F1> ESP-IDF: Configure ESP-IDF extension )
                        2. Open New Window
                        3. <F1> Git Clone (recursive)
                        Select personal fork or search for squeezelite-esp and select sle118/squeezelite-esp32
                        NOTE Run <git submodule update --init --recursive> to get submodules if you did use recursive initially
                        4. Copy your preferred sdkconfig default from the build-scripts folder and rename ovwer existing sdkconfig
                        NOTE: You can customize by right-click sdkconfig file and selecting ESP-IDF: SDK Configuration
                        4. <F1> ESP-IDF: Select port to use
                        5. <F1> ESP-IDF: Build you project
                        6. <F1> ESP-IDF: Flash (Uart) you project
                        7. <F1> ESP-IDF: Monitor your project
                        SlimServer user since circa 2003 - still the best networked audio solution after 20+years!

                        Comment


                        • Originally posted by ElFishi
                          @wizmo,
                          in your PR you imply that you feed your DAC with "an external MCLK signal, that is supplied by the ESP32 system clock."
                          Can you please elaborate how you do that?
                          Used this snippet
                          Code:
                          // Configure system clk to GPIO0 for DAC MCLK input
                          ESP_LOGI(TAG, "Configuring MCLK on pin:%d", 0);
                          PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO0_U, FUNC_GPIO0_CLK_OUT1);
                          REG_WRITE(PIN_CTRL, 0xFFFFFFF0);
                          @sle, I did create a pull for a WM8978 branch. It shows a cross-build error, so not sure if you see it.
                          SlimServer user since circa 2003 - still the best networked audio solution after 20+years!

                          Comment


                          • Amp to pair with ESP32

                            Would I be right in thinking this should work with squeezelite-esp32?:



                            It says it accepts I2S in and has a TAS5754 DAC.

                            Comment


                            • Originally posted by troffasky
                              Would I be right in thinking this should work with squeezelite-esp32?:



                              It says it accepts I2S in and has a TAS5754 DAC.
                              I'm going to hint that, yes, quite likely. There seems to be a header which could be used for the i2c communication as well as (possibly) power the ESP32. This might work under the SqueezeAmp firmware target.

                              Note that Philippe has received a new batch of SqueezeAmp, which would be a better choice in my opinion given how it has been optimized around the ESP32. They are sold more or less at cost, mind you, so I am not making a profit from this recommendation !
                              LMS 7.9 - 1xRadio, 1xBoom, 5xDuet,3xTouch, 1 SB2. Sony PlayStation, Emby, Chromecast v1 and v2 and...
                              6xSqueezeAmp, several other ESP32-Wrover boards with jumper wires flying around, some with ethernet!

                              Comment


                              • Originally posted by sle118
                                I'm going to hint that, yes, quite likely. There seems to be a header which could be used for the i2c communication as well as (possibly) power the ESP32. This might work under the SqueezeAmp firmware target.

                                Note that Philippe has received a new batch of SqueezeAmp, which would be a better choice in my opinion given how it has been optimized around the ESP32. They are sold more or less at cost, mind you, so I am not making a profit from this recommendation !
                                Yes, TAS5754 is built-in. Just need to set the dac_config
                                LMS 8.2 on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3

                                Comment

                                Working...
                                X
                                😀
                                🥰
                                🤢
                                😎
                                😡
                                👍
                                👎