@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.
@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.
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.
@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.
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.
@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.
@donpk This is the document I found to explain what is happening
NOTE the part I have screen grabbed.
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.
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:
@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.