Announcement

Collapse
No announcement yet.

Squeezelite-ESP32 > 3 NEW OpenHardware Boards (MAKT32 - MAKT32CL - ESP32-ADF)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Squeezelite-ESP32 > 3 NEW OpenHardware Boards (MAKT32 - MAKT32CL - ESP32-ADF)



    Hello,

    until today I was only an anonymous guest reader here in the forum. Who in the past few weeks has absorbed a lot about Squeezelite ESP32 and LMS to implement what I read for my DIY casting & multiroom solution on open source / hardware basis. I noticed that I own among other LMS related hardware, three ESP32 WROVER boards about which no one talks here yet. Since I have now managed to make them work almost completely with Squeezelite-ESP32. I would like to give this knowledge or information back to the open source community. So today I decided to register here and become part of the community.

    So enough said about me. Now to the really important part. The hardware and software facts of these three new players/boards.





    Brand/Company: Makerfabs (China)

    ESP32 Audio Player <-- ( 1$ cheaper when ordering as player bundle
    Based on 2 boards:




    Main Hardware Features

    Main PCB
    • ESP32 WROVER (Espressif)
    • 4 MB Flash
    • 8 MB RAM
    • B/W OLED SSD1306 128x64 (I2S) - dimmable incl. off
    • 3,5mm Stereo output jack
    • micro USB (power/data)

    Extension PCB
    • DAC UDA1334ATS (I2S)
    • 8 to 100 kHz
    • digital de-emphasis for 44.1 kHz (audio mode only)
    • 16, 20 and 24 bits
    • 2 navigator switches (3 buttons each) GPIO
    • ... and others not related to Squeezelite-ESP32


    Schematic > Main PCB ESP32
    Schematic > Extenstion PCB DAC


    Squeezelite-ESP32 NVS Config ----> see attachments below

    ________________________________


    ESP32 Audio Player Color
    Based on 2 boards:




    Main Hardware Features

    Main PCB
    • ESP32 WROVER (Espressif)
    • 4 MB Flash
    • 8 MB RAM
    • 1.3 inch Color TFT ST7789 240*240 (SPI) - no backlight off?
    • 3,5mm Stereo output jack
    • micro USB (power/data)

    Extension PCB
    • DAC UDA1334ATS (I2S)
    • 8 to 100 kHz
    • digital de-emphasis for 44.1 kHz
    • 2 navigator switches (3 buttons each) GPIO
    • ... and others not related to Squeezelite-ESP32


    Schematic > Main PCB ESP32
    Schematic > Extenstion PCB DAC


    Squeezelite-ESP32 NVS Config ----> see attachments below

    ___________________________




    Current known bugs/issues with Squeezelite-ESP32
    1. If you have problems with the 1st initial flash of SqueezeESP32 firmware.
      Remove the audio extension board once, flash the firmware.
      Once it's installed, you can put the audio extension board back to do OTA updates normally.
    2. DAC UDA1334ATS is not fully pop free (pops once when DAC goes ON/OFF)


    ___________________________

    Linux driver for the uda1334 can be found here: https://github.com/torvalds/linux/bl...decs/uda1334.c

    BTW, in the meanwhile I noticed that there is also another Audio Extension Bord (WM8960 DAC) available for these Makerfabs Players. Already ordered. So will add those as soon its delivered.






    Brand/Company: OLiMEX (EU - Bulgaria)

    Board: ESP32-ADF



    Main Hardware Features
    • ESP32 WROVER-B(Espressif)
    • 4 MB Flash
    • 8 MB RAM
    • 3,5mm Stereo output jack
    • Stereo 2 x 3W 4 Ohm amplifer
    • micro USB (power/data)
    • DAC ES8388 (QFN28) (I2S)
    • 24-bit, 8 kHz to 96 kHz sampling frequency
    • pop noise free
    • 4 touch buttons - GPIO
    • 3 tactile buttons - GPIO
    • battery charger - Li-Po
    • ... and others not related to Squeezelite-ESP32


    Schematic PCB

    Squeezelite-ESP32 NVS Config (V1.0) ----> see attachments

    Current known bugs/issues with Squeezelite-ESP32 = non




    NVS FIles can be found here: https://squeezeesp32.blogspot.com/p/...-hardware.html

    Preferably I would have a board where all the frippery such as SD card reader, microphone, etc. which you do not need for Squeezelite-ESP32 anyway are not even on it and thus the price gets even lower. Only the ESP32 WROVER, a good audio chip, Line jack and stereo 3w amplifier and soldering points where I can solder my desired display and external housing buttons and speakers myself.
    Yes I know, there is already everything individually some how available, but currently rather difficult to get, because everywhere sold out, except directly in China on Ali and etc.. But I have not made good experiences with those sellers, because too many of my orders never arrived, or were destroyed by customs because the sellers gave wrong information about the price. And the German customs is now much tougher enforcement as in the past.
    Makerfabs is different, they declared everything correctly and I didn't even have to go to customs to pick up the package with a copy of the invoice. Everything was delivered directly and quickly to my home. Thumps UP!
    Last edited by cOOLio; 2022-10-10, 18:23.
    SmarthomeServer:ioBroker(HABPanel>vis)[email protected]|[email protected]+2*AVM1750E(Mesh)
    Control:3*[email protected]
    AV:[email protected](ChC&SpC)|NividiaShield(Ch C&SpC)|FireTV4kMax(SpC)@2*Sony
    [email protected](HEOS)|5*[email protected](BeringerUCA2 02|2*PiFiDAC2.0|USBAudio)
    [email protected]*ESP32-A1S+MUSE-PROTO+3*MAKT32+MAKT32CL+ESP32-ADF+1*ESP-Muse-Mn-Cast


    https://SqueezeESP32.blogspot.com

    #2
    Very nice write up! 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


      #3
      Originally posted by sle118 View Post
      Very nice write up! Thank you for sharing!
      welcome ... the whole thing is a matter of take & give

      BTW ... have to mention by the way, if you have problems with the 1st flashing of Squeezelite on the MAKT32CL.
      Just remove the audio board for the 1st flash.
      Once Squeezelite is installed, you can put the audio board back on and do OTA updates normally.
      SmarthomeServer:ioBroker(HABPanel>vis)[email protected]|[email protected]+2*AVM1750E(Mesh)
      Control:3*[email protected]
      AV:[email protected](ChC&SpC)|NividiaShield(Ch C&SpC)|FireTV4kMax(SpC)@2*Sony
      [email protected](HEOS)|5*[email protected](BeringerUCA2 02|2*PiFiDAC2.0|USBAudio)
      [email protected]*ESP32-A1S+MUSE-PROTO+3*MAKT32+MAKT32CL+ESP32-ADF+1*ESP-Muse-Mn-Cast


      https://SqueezeESP32.blogspot.com

      Comment


        #4
        For the plop, try to set volume at 0 in LMS and see if it still occurs when the DAC/amp is activated
        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


          #5
          Originally posted by philippe_44 View Post
          For the plop, try to set volume at 0 in LMS and see if it still occurs when the DAC/amp is activated
          Plop still exist even when volume is set 0.

          Maybe it's because the Mode (Audio/Video) is not set during boot up. And then it uses some fallback on play an uses the wrong one, Video?
          Will check now the the example source code they offer on Github. Even when I'm not familiar with Python.
          If that also will not help I will contact the Makerfab tec support. Since I'm a direct customer of them.
          SmarthomeServer:ioBroker(HABPanel>vis)[email protected]|[email protected]+2*AVM1750E(Mesh)
          Control:3*[email protected]
          AV:[email protected](ChC&SpC)|NividiaShield(Ch C&SpC)|FireTV4kMax(SpC)@2*Sony
          [email protected](HEOS)|5*[email protected](BeringerUCA2 02|2*PiFiDAC2.0|USBAudio)
          [email protected]*ESP32-A1S+MUSE-PROTO+3*MAKT32+MAKT32CL+ESP32-ADF+1*ESP-Muse-Mn-Cast


          https://SqueezeESP32.blogspot.com

          Comment


            #6
            In the example code on Github only the audio codec is loaded and then the I2S interface is set. So nothing different what the firmware and my settings in dac_config also do.

            But I found now this useful information!

            Reducing popping

            For people who followed our original installation instructions with the simple alsa config, they may find that the I2S audio pops when playing new audio.

            The workaround is to use a software mixer to output a fixed sample rate to the I2S device so the bit clock does not change. I use ALSA so I configured dmixer and I no longer have any pops or clicks. Note that the RaspPi I2S driver does not support dmixer by default and you must follow these instructions provided to add it. Continue on for step-by-step on how to enable it!
            The bitrate limitation in LMS and the re-encoding with LAME won't help, because you can't set that everything should be converted to a fixed bitrate. You only set a limit, below that nothing is touched. Are there any other possibilities?


            • De-Emphasis - In audio mode (which is the default), can be used to add a de-emphasis filter. In video mode, where the system clock is generated from an oscillator, this is the clock output.
            • PLL - sets the PLL mode, by default pulled low for Audio. Can be pulled high or set to ~1.6V to set PAL or NTSC video frequency


            Do I understand correctly that DEEM & PLL0 are set to fixed values, or can they be set differently via I2S commands?

            By the way, I did not set anything at dac_controlset. So it seem not necessary for this DAC, right?
            SmarthomeServer:ioBroker(HABPanel>vis)[email protected]|[email protected]+2*AVM1750E(Mesh)
            Control:3*[email protected]
            AV:[email protected](ChC&SpC)|NividiaShield(Ch C&SpC)|FireTV4kMax(SpC)@2*Sony
            [email protected](HEOS)|5*[email protected](BeringerUCA2 02|2*PiFiDAC2.0|USBAudio)
            [email protected]*ESP32-A1S+MUSE-PROTO+3*MAKT32+MAKT32CL+ESP32-ADF+1*ESP-Muse-Mn-Cast


            https://SqueezeESP32.blogspot.com

            Comment


              #7
              Originally posted by cOOLio View Post
              The bitrate limitation in LMS and the re-encoding with LAME won't help, because you can't set that everything should be converted to a fixed bitrate. You only set a limit, below that nothing is touched. Are there any other possibilities?
              Sorry if I don't understand what you are trying to do, but if you add -R -r "44100-44100" to the end of your autoexec1 statement, then the bitrate will be fixed at 44100 and the clocks should not change.

              Comment


                #8
                Originally posted by mboxler View Post
                Sorry if I don't understand what you are trying to do, but if you add -R -r "44100-44100" to the end of your autoexec1 statement, then the bitrate will be fixed at 44100 and the clocks should not change.
                Yes, this is correct. It will work only for the 16 bits version, but it will fully force resampling at that fixed rate
                Last edited by philippe_44; 2022-09-17, 08:13.
                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


                  #9
                  Originally posted by mboxler View Post
                  Sorry if I don't understand what you are trying to do, but if you add -R -r "44100-44100" to the end of your autoexec1 statement, then the bitrate will be fixed at 44100 and the clocks should not change.
                  Thanks for the hint! Didn't read anything about this @github. Will test.
                  And the reason why I need a fixed bitrate, the DAC does not only pop when the amp starts, also when it stops and when it changes the sample rate.
                  SmarthomeServer:ioBroker(HABPanel>vis)[email protected]|[email protected]+2*AVM1750E(Mesh)
                  Control:3*[email protected]
                  AV:[email protected](ChC&SpC)|NividiaShield(Ch C&SpC)|FireTV4kMax(SpC)@2*Sony
                  [email protected](HEOS)|5*[email protected](BeringerUCA2 02|2*PiFiDAC2.0|USBAudio)
                  [email protected]*ESP32-A1S+MUSE-PROTO+3*MAKT32+MAKT32CL+ESP32-ADF+1*ESP-Muse-Mn-Cast


                  https://SqueezeESP32.blogspot.com

                  Comment


                    #10
                    Originally posted by philippe_44 View Post
                    Yes, this is correct. It will work only for the 16 bits version, but it will fully force resampling at that fixed rate
                    Since the DAC is so bass heavy it needs definitely the 16 Band EQ. Therfore I'm using already only the 16bit Firmware.

                    My current EQ settings with cheap headphones: -13,-13,-13,-9,-5,1,3,2,3,1

                    I also noticed now that the pops also come when you skip to the next song manually. When it automatically switches to the next song there are no pops. The amplifier probably switches off (pop) very quickly and then on (pop) again ... Double tab ... oh no that was Zombieland.

                    Is there any way to get the amp to stay on all the time, so even if no music is playing? (dreaming)

                    This UDA1334ATS DAC is somehow crapy!
                    SmarthomeServer:ioBroker(HABPanel>vis)[email protected]|[email protected]+2*AVM1750E(Mesh)
                    Control:3*[email protected]
                    AV:[email protected](ChC&SpC)|NividiaShield(Ch C&SpC)|FireTV4kMax(SpC)@2*Sony
                    [email protected](HEOS)|5*[email protected](BeringerUCA2 02|2*PiFiDAC2.0|USBAudio)
                    [email protected]*ESP32-A1S+MUSE-PROTO+3*MAKT32+MAKT32CL+ESP32-ADF+1*ESP-Muse-Mn-Cast


                    https://SqueezeESP32.blogspot.com

                    Comment


                      #11
                      I'm now on Firmware I2S-4MFlash.16.1187.master-v4.3 and the 1st time no more extreme bass. Very nice
                      The most of the pops are also gone. Only when power on & off. So no longer as crappy as I thought yesterday, this UDA1334ATS DAC.
                      SmarthomeServer:ioBroker(HABPanel>vis)[email protected]|[email protected]+2*AVM1750E(Mesh)
                      Control:3*[email protected]
                      AV:[email protected](ChC&SpC)|NividiaShield(Ch C&SpC)|FireTV4kMax(SpC)@2*Sony
                      [email protected](HEOS)|5*[email protected](BeringerUCA2 02|2*PiFiDAC2.0|USBAudio)
                      [email protected]*ESP32-A1S+MUSE-PROTO+3*MAKT32+MAKT32CL+ESP32-ADF+1*ESP-Muse-Mn-Cast


                      https://SqueezeESP32.blogspot.com

                      Comment


                        #12
                        Originally posted by cOOLio View Post
                        I'm now on Firmware I2S-4MFlash.16.1187.master-v4.3 and the 1st time no more extreme bass. Very nice
                        The most of the pops are also gone. Only when power on & off. So no longer as crappy as I thought yesterday, this UDA1334ATS DAC.
                        Were you using it with Spotify only?
                        Last edited by philippe_44; 2022-09-18, 02:23.
                        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


                          #13
                          Originally posted by philippe_44 View Post
                          Where you using it with Spotify only?
                          [email protected] & Radio (FLAC/ACC)@LMS
                          SmarthomeServer:ioBroker(HABPanel>vis)[email protected]|[email protected]+2*AVM1750E(Mesh)
                          Control:3*[email protected]
                          AV:[email protected](ChC&SpC)|NividiaShield(Ch C&SpC)|FireTV4kMax(SpC)@2*Sony
                          [email protected](HEOS)|5*[email protected](BeringerUCA2 02|2*PiFiDAC2.0|USBAudio)
                          [email protected]*ESP32-A1S+MUSE-PROTO+3*MAKT32+MAKT32CL+ESP32-ADF+1*ESP-Muse-Mn-Cast


                          https://SqueezeESP32.blogspot.com

                          Comment


                            #14
                            Originally posted by cOOLio View Post
                            [email protected] & Radio (FLAC/ACC)@LMS
                            Because the change I made only does something for Spotify
                            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


                              #15
                              Originally posted by philippe_44 View Post
                              Because the change I made only does something for Spotify
                              This is very strange though

                              I'm testing currently on MAKT32CL, before I was on MAKT32. Will cross check.
                              BTW ... the most pops came from cspot not the DAC. Didn't realized it until you or Sle mentioned the pops related to cspot it in the 2.x thread.
                              SmarthomeServer:ioBroker(HABPanel>vis)[email protected]|[email protected]+2*AVM1750E(Mesh)
                              Control:3*[email protected]
                              AV:[email protected](ChC&SpC)|NividiaShield(Ch C&SpC)|FireTV4kMax(SpC)@2*Sony
                              [email protected](HEOS)|5*[email protected](BeringerUCA2 02|2*PiFiDAC2.0|USBAudio)
                              [email protected]*ESP32-A1S+MUSE-PROTO+3*MAKT32+MAKT32CL+ESP32-ADF+1*ESP-Muse-Mn-Cast


                              https://SqueezeESP32.blogspot.com

                              Comment

                              Working...
                              X