Notifications
Clear all

I²S Audio Project Question

23 Posts
2 Users
0 Reactions
917 Views
Don
 Don
(@donpk)
Member
Joined: 3 years ago
Posts: 33
Topic starter  

@zander Thanks for your efforts. I gather, however, that you did not actually have a MAX98357A DAC/audio amplifier board wired to the Arduino Nano ESP32, so you didn't hear sound. In my case, Bill's sketch compiled and uploaded fine, there just wasn't any sound coming out of the speaker. When I used the ESP32-WROOM-DA the sound came through fine,

On thing I like about the Nano ESP32 is the fact that it doesn't require any button presses to put the board in bootloader mode. This isn't the case with the ESP32-WROOM-DA. 

Thanks for your help. I don't actually have an immediate need for I2S in a project. If I do, I'll use a different processor, unless my post on the Arduino Forum results in a solution for the Nano ESP32.

 


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 4 years ago
Posts: 8047
 

@donpk There is no need to connect an amp; the proof the board is working is in the Serial output.

The following makes absolutely NO sense.

On thing I like about the Nano ESP32 is the fact that it doesn't require any button presses to put the board in bootloader mode. This isn't the case with the ESP32-WROOM-DA. 

In fact it is 100% backwards as shown by the doc I gave you a link to earlier

Arduino Bootloader Mode

That is for the NANO-ESP32, there is NO such thing for a normal esp32, that button is called the RESET button, and some boards will have a Program or Boot button.

I showed you the NANO-ESP32 working, this topic is 'Solved'.

 

 

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, 360, fairly knowledge in PC plus numerous MPU's & MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
My personal scorecard is now 1 PC hardware fix (circa 1982), 1 open source fix (at age 82), and 2 zero day bugs in a major OS.


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 4 years ago
Posts: 8047
 

@donpk 

 

 

Screenshot 2024 07 17 at 10.47.31

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, 360, fairly knowledge in PC plus numerous MPU's & MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
My personal scorecard is now 1 PC hardware fix (circa 1982), 1 open source fix (at age 82), and 2 zero day bugs in a major OS.


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 4 years ago
Posts: 8047
 

@donpk Hi Don, just got the speaker, and after one false start I got it working. My sketch is using pins 9, 8, 7. The 'secret' is to look at the 'cheatsheet' and you will see that ESP32 (green) pins 9, 8, 7 are on NANO (brown) pins D4, D5, D6. I have added that relationship to the sketch defines as you will see in the attached pic. Now you may think that is the end of it, but NOOOOO, what happens if instead of 7, 8, 9, you use D7, D8, D9. First with default pin numbering then with legacy. Now what about GPIO7, GPIO8, GPIO9, and again with default and legacy. I tried to test all those cases, but some compiled some didn't and with an error I have never encountered. I am old and tired, and 7, 8, 9 works. I have done my job, you can mark this issue SOLVED and I will leave it to the more youthful to run all the combinations to determine what works and what doesn't.

NOTE I am tired so could be very wrong, but I am wondering if there is a bug in the system includes that has the 'wrong' pin definitions for either Dx or GPIOx. That is why I quit, and will leave it to our young go-getters.

Screenshot 2024 07 22 at 19.49.45

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, 360, fairly knowledge in PC plus numerous MPU's & MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
My personal scorecard is now 1 PC hardware fix (circa 1982), 1 open source fix (at age 82), and 2 zero day bugs in a major OS.


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 4 years ago
Posts: 8047
 

@donpk Ok, I found the ultimate answer. Instead of pins 7, 8, 9 you have to use D7, D8, and D9. Then connect your wires to the pins labeled on the NANO ESP32 as D7, D8, D9. IF you just say 7, that is GPIO7 which is NANO ESP32 pin D4. By using the Dx style, it matches the board, whereas GPIOx or simply x has to be mapped to the D nomenclature.

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, 360, fairly knowledge in PC plus numerous MPU's & MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
My personal scorecard is now 1 PC hardware fix (circa 1982), 1 open source fix (at age 82), and 2 zero day bugs in a major OS.


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 4 years ago
Posts: 8047
 

@donpk This is the document I found to explain what is happening

https://support.arduino.cc/hc/en-us/articles/10483225565980-Select-pin-numbering-for-Nano-ESP32-in-Arduino-IDE

NOTE the part I have screen grabbed.

Screenshot 2024 07 23 at 18.05.04

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, 360, fairly knowledge in PC plus numerous MPU's & MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
My personal scorecard is now 1 PC hardware fix (circa 1982), 1 open source fix (at age 82), and 2 zero day bugs in a major OS.


   
ReplyQuote
Don
 Don
(@donpk)
Member
Joined: 3 years ago
Posts: 33
Topic starter  

Hi Ron,

Using several of your tips, I finally got the Internet Radio sketch to work on the Arduino Nano ESP32. The solution:

>Put the Nano ESP32 in the "Pin number by GPIO" mode.

>Use the following pin #defines:

    #define I2S_DOUT  18
    #define I2S_BCLK   10
    #define I2S_LRC     17
 
 
I, also, encountered an error I'd never seen: "No DFU capable USB device available". Here's an explanation. I toggled the USB power to the Nano ESP32 a couple of times and that cleared the error.
 
Finally, " I am old and tired,...". I'm a year younger than you, so you're in good company. 
 

   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 4 years ago
Posts: 8047
 

@donpk Good to hear. If you use the D09 nomenclature, it doesn't matter what Pin mode you are in, and the silk screen is the pin number you want. Be sure to mark the Arduino Forum, and this forum as solved.

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, 360, fairly knowledge in PC plus numerous MPU's & MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
My personal scorecard is now 1 PC hardware fix (circa 1982), 1 open source fix (at age 82), and 2 zero day bugs in a major OS.


   
ReplyQuote
Page 2 / 2