ESP32Radio-V2: VS1053B - Possible wrong detection?

I have a VS1053/1003 module with a VS1053B chip. If I force the result of the testComm routine to be true, the module works well and I get sound with MP3 and AAC streams.

Could it be that the VS1053B isn’t being correctly detected?

Bellow are the errors show on serial monitor.

20:39:58.527 -> D: Slow SPI, Testing VS1053 read/write registers...
20:39:58.527 -> D: VS1053 SPI error. SB:012C R1:0000 R2:0000
20:39:58.527 -> D: VS1053 SPI error. SB:0258 R1:0000 R2:0000
20:39:58.667 -> D: VS1053 SPI error. SB:0384 R1:0000 R2:0000
20:39:58.667 -> D: VS1053 SPI error. SB:04B0 R1:0000 R2:0000
20:39:58.667 -> D: VS1053 SPI error. SB:05DC R1:0000 R2:0000
20:39:58.667 -> D: VS1053 SPI error. SB:0708 R1:0000 R2:0000
20:39:58.667 -> D: VS1053 SPI error. SB:0834 R1:0000 R2:0000
20:39:58.667 -> D: VS1053 SPI error. SB:0960 R1:0000 R2:0000
20:39:58.667 -> D: VS1053 SPI error. SB:0A8C R1:0000 R2:0000
20:39:58.667 -> D: VS1053 SPI error. SB:0BB8 R1:0000 R2:0000
20:39:58.667 -> D: VS1053 SPI error. SB:0CE4 R1:0000 R2:0000
20:39:58.667 -> D: VS1053 SPI error. SB:0E10 R1:0000 R2:0000
20:39:58.667 -> D: VS1053 SPI error. SB:0F3C R1:0000 R2:0000
20:39:58.667 -> D: VS1053 SPI error. SB:1068 R1:0000 R2:0000
20:39:58.667 -> D: VS1053 SPI error. SB:1194 R1:0000 R2:0000
20:39:58.667 -> D: VS1053 SPI error. SB:12C0 R1:0000 R2:0000
20:39:58.687 -> D: VS1053 SPI error. SB:13EC R1:0000 R2:0000
20:39:58.727 -> D: VS1053 SPI error. SB:1518 R1:0000 R2:0000
20:39:58.727 -> D: VS1053 SPI error. SB:1644 R1:0000 R2:0000
20:39:58.727 -> D: VS1053 SPI error. SB:1770 R1:0000 R2:0000
20:39:58.767 -> D: This is not a VS1053, but a VS1001 instead!
20:39:58.847 -> D: Fast SPI, Testing VS1053 read/write registers again...
20:39:58.847 -> D: VS1053 SPI error. SB:0003 R1:0000 R2:0000
20:39:58.887 -> D: VS1053 SPI error. SB:0006 R1:0000 R2:0000
20:39:58.887 -> D: VS1053 SPI error. SB:0009 R1:0000 R2:0000
20:39:58.887 -> D: VS1053 SPI error. SB:000C R1:0000 R2:0000
20:39:58.887 -> D: VS1053 SPI error. SB:000F R1:0000 R2:0000
20:39:58.927 -> D: VS1053 SPI error. SB:0012 R1:0000 R2:0000
20:39:58.927 -> D: VS1053 SPI error. SB:0015 R1:0000 R2:0000
20:39:58.927 -> D: VS1053 SPI error. SB:0018 R1:0000 R2:0000
20:39:58.927 -> D: VS1053 SPI error. SB:001B R1:0000 R2:0000
20:39:58.967 -> D: VS1053 SPI error. SB:001E R1:0000 R2:0000
20:39:58.967 -> D: VS1053 SPI error. SB:0021 R1:0000 R2:0000
20:39:58.967 -> D: VS1053 SPI error. SB:0024 R1:0000 R2:0000
20:39:58.967 -> D: VS1053 SPI error. SB:0027 R1:0000 R2:0000
20:39:59.007 -> D: VS1053 SPI error. SB:002A R1:0000 R2:0000
20:39:59.007 -> D: VS1053 SPI error. SB:002D R1:0000 R2:0000
20:39:59.007 -> D: VS1053 SPI error. SB:0030 R1:0000 R2:0000
20:39:59.007 -> D: VS1053 SPI error. SB:0033 R1:0000 R2:0000
20:39:59.047 -> D: VS1053 SPI error. SB:0036 R1:0000 R2:0000
20:39:59.047 -> D: VS1053 SPI error. SB:0039 R1:0000 R2:0000
20:39:59.047 -> D: VS1053 SPI error. SB:003C R1:0000 R2:0000
20:39:59.047 -> D: This is not a VS1053, but a VS1001 instead!

Here is my config:

gpio_00 = uppreset = 1
gpio_12 = upvolume = 2
gpio_13 = downvolume = 2
gpio_14 = stop
#
ir_40BF = upvolume = 2
ir_C03F = downvolume = 2
#
mqttbroker = none
mqttpasswd = none
mqttport = 1883
mqttprefix = none
mqttuser = none
#
pin_enc_clk = 25                                     # GPIO Pin number for rotary encoder "CLK"
pin_enc_dt = 26                                      # GPIO Pin number for rotary encoder "DT"
pin_enc_sw = 27                                      # GPIO Pin number for rotary encoder "SW"
pin_ir = 35                                          # GPIO Pin number for IR receiver VS1838B
pin_tft_blx = 33
pin_tft_cs = 15                                      # GPIO Pin number for TFT "CS"
pin_tft_dc = 2                                       # GPIO Pin number for TFT "DC"
pin_vs_cs = 5                                        # GPIO Pin number for VS1053 "CS"
pin_vs_dcs = 32                                      # GPIO Pin number for VS1053 "DCS"
pin_vs_dreq = 4                                      # GPIO Pin number for VS1053 "DREQ"

pin_vs_dcs works on pin 32 and 16 (tried both)

About this issue

  • Original URL
  • State: open
  • Created 2 years ago
  • Comments: 30 (11 by maintainers)

Most upvoted comments

I’m pretty sure that you have changed something in the main.cpp file or you ar using an old version. In the logging there should be a line saying: setup(): [main] Playtask started The first debug line should say: [I][main.cpp:2584] setup(): [main] Version Thu, 26 Dec 2023 14:30:00 GMT. Please use the last version of the software.

Are you sure you are still using the VS1053? Check config.h.

Yes, that is what I would like to see. I noticed that most of the lines for the VS1053 (18,19, 23, 4, 32) are LOW. They should be high normally, see the document chapter 19… You may also try to set the volume to >75 in the web interface.

I’m interested in the start of the logging.

Show the full logging.

Is this still going? Actually I had an issue with an Esplora 1.8 inch TFT that caused the VS1053 to not be detected correctly.

Disconnecting the display allowed it to pass and I tried various solutions but in the end I just went to this line:

https://github.com/Edzelf/ESP32Radio-V2/blob/6c4c4921fef1cbc745fee9511596c4402b8e3a02/lib/codecs/src/VS1053.cpp#L163

And added okay = true ; and it worked fine… ish.

Went with another display anyways… The Esplora display isn’t stable.

Did you try to lower the SPI clock frequency, verified good GND connection, reduced SPI wires length?

Thanks for your answer. I understand what the testcomm function does. Despite the radio is working well I will replace the VS1053 module as soon as I get a new one. I liked so much this project that I designed a PCB for it. Today I received the first prototype, just finished assembling it and its working.

ESP32_WebRadio_PCB_v1 1

Zero strange noises on the speakers 😃 Instead of transformers I used something similar to what is described here: https://esp8266-server.de/Internetradio.html

The testcomm function is not reading all registers, but tries to write to the volume register and read is back. So it seems that reading the volume register does not work in your case. If this is a problem, replace the VS1053 module.