I am trying to use the ESP8266 to output some audio, but I'm having trouble making it work. I downloaded the library ESP8266Audio and am testing one of the examples they have in the repo, namely streaming MP3 from HTTP, (link). There is nothing however outputted from the I2S pins, D1 and D2, but only from RX pin. I have a dual amplifier, so I need the analog signals, not the digital. So I want to ask if there is something extra I need to add in the program, or if I'm using the wrong pins. Any help is appreciated :)

  • 2
    I2S is a digital protocol that controls a CODEC chip which you need in between your ESP8266 and the amplifier.
    – Majenko
    Commented Mar 25, 2022 at 19:08
  • Shouldn't there be a built-in I2S module in the ESP8266? I'm using the Nodemcu model, according to the docs, there is one accessible through pins D1 and D2. I'm quite new to microcontrollers so pardon me.
    – yH20
    Commented Mar 25, 2022 at 19:56
  • I'm not familiar with the internals of the ESP8266. I know there is one in the ESP32, but it's awful because of noise from the WiFi. If there is one in the ESP8266 it will be as bad.
    – Majenko
    Commented Mar 25, 2022 at 20:43

1 Answer 1


There might be a built-in I2S module, but an I2S module does not output an analog signal. The ESPs have no DAC, so you definitely need additional hardware in form of a I2C-DAC/codec IC. There's no software solution.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.