All Projects → smurf0969 → Esp32_esp8266_wifi_speaker_oled

smurf0969 / Esp32_esp8266_wifi_speaker_oled

Licence: gpl-3.0
A MP3 streaming WiFi speaker for ESP8266 & ESP32 chips

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Esp32 esp8266 wifi speaker oled

Esp8266audio
Arduino library to play MOD, WAV, FLAC, MIDI, RTTTL, MP3, and AAC files on I2S DACs or with a software emulated delta-sigma DAC on the ESP8266 and ESP32
Stars: ✭ 972 (+4760%)
Mutual labels:  arduino, esp32, mp3, esp8266
Esphelper
A library to make using WiFi & MQTT on the ESP8266 easy.
Stars: ✭ 310 (+1450%)
Mutual labels:  arduino, esp32, esp8266
Ssd1306
Driver for SSD1306, SSD1331, SSD1351, IL9163, ILI9341, ST7735, PCD8544, Nokia 5110 displays running on Arduino/ESP32/Linux (Rasperry) platforms
Stars: ✭ 303 (+1415%)
Mutual labels:  arduino, esp32, esp8266
Sonoff Homekit
Make your Sonoff Switch compatible with Apple Homekit! 🎉
Stars: ✭ 722 (+3510%)
Mutual labels:  arduino, esp32, esp8266
Esp32marauder
A suite of WiFi/Bluetooth offensive and defensive tools for the ESP32
Stars: ✭ 233 (+1065%)
Mutual labels:  arduino, esp32, esp8266
Deviot
Sublime Text plugin for IoT development based in PlatformIO ecosystem (Arduino IDE)
Stars: ✭ 281 (+1305%)
Mutual labels:  arduino, esp32, esp8266
Platformio Atom Ide
PlatformIO IDE for Atom: The next generation integrated development environment for IoT
Stars: ✭ 475 (+2275%)
Mutual labels:  arduino, esp32, esp8266
Dsckeybusinterface
An Arduino/esp8266/esp32 library to directly interface with DSC security systems.
Stars: ✭ 202 (+910%)
Mutual labels:  arduino, esp32, esp8266
Esphome Core
🚨 No longer used 🚨 - The C++ framework behind ESPHome
Stars: ✭ 545 (+2625%)
Mutual labels:  arduino, esp32, esp8266
Arduino Homekit Esp8266
Native Apple HomeKit accessory implementation for the ESP8266 Arduino core.
Stars: ✭ 545 (+2625%)
Mutual labels:  arduino, esp32, esp8266
Platformio Core
PlatformIO is a professional collaborative platform for embedded development 👽 A place where Developers and Teams have true Freedom! No more vendor lock-in!
Stars: ✭ 5,539 (+27595%)
Mutual labels:  arduino, esp32, esp8266
Open Home Automation
Open Home Automation with Home Assistant, ESP8266/ESP32 and MQTT
Stars: ✭ 820 (+4000%)
Mutual labels:  arduino, esp32, esp8266
Arduinowebsockets
A library for writing modern websockets applications with Arduino (ESP8266 and ESP32)
Stars: ✭ 213 (+965%)
Mutual labels:  arduino, esp32, esp8266
Blynk Library
Blynk library for embedded hardware. Works with Arduino, ESP8266, Raspberry Pi, Intel Edison/Galileo, LinkIt ONE, Particle Core/Photon, Energia, ARM mbed, etc.
Stars: ✭ 3,305 (+16425%)
Mutual labels:  arduino, esp32, esp8266
Awesome Esp
📶 A curated list of awesome ESP8266/32 projects and code
Stars: ✭ 212 (+960%)
Mutual labels:  arduino, esp32, esp8266
Espui
A simple web user interface library for ESP32 and ESP8266
Stars: ✭ 330 (+1550%)
Mutual labels:  arduino, esp32, esp8266
Async Mqtt Client
📶 An Arduino for ESP8266 asynchronous MQTT client implementation
Stars: ✭ 555 (+2675%)
Mutual labels:  arduino, esp32, esp8266
Blog
A set of various projects based on ESP8266, ESP32, ATtiny13, ATtiny85, ATtiny2313, ATmega8, ATmega328, ATmega32, STM32 and more.
Stars: ✭ 198 (+890%)
Mutual labels:  arduino, esp32, esp8266
Awot
Arduino web server library.
Stars: ✭ 200 (+900%)
Mutual labels:  arduino, esp32, esp8266
Guislice
GUIslice drag & drop embedded GUI in C for touchscreen TFT on Arduino, Raspberry Pi, ARM, ESP8266 / ESP32 / M5stack using Adafruit-GFX / TFT_eSPI / UTFT / SDL
Stars: ✭ 534 (+2570%)
Mutual labels:  arduino, esp32, esp8266

ESP32 & ESP8266 WiFi Speaker with OLED display Latest Release

A MP3 streaming WiFi speaker for ESP8266 & ESP32 chips

Overview

During a recent pantomime production we were unable to get the internal building sound system working and had to come up with a cheap solution to pipe music into the dressing rooms. Cobbling together a Raspberry Pi with sound card, ffmpeg and node rmtp server we were able to stream live AAC audio to a couple of mobiles running VLC Player. However due to the limitations of running live streaming on a PI, poor WiFi in the building and the buffering lag of VLC we ended up with a stuttering live stream that could be upto 40 seconds behind depending on the numer of connections, which was difficult for the cast and callers.

Having a couple of node mcu ESP8266 12E development boards that were destined for some extra home automation, I decided to see if it was possible to make a WiFi speaker that would perform better than our previous solution. That was the basis for my first attempt ESP8266_WiFi_Speaker and after puchasing a Heltec WiFi Kit ESP32 with an onboard OLED display and having problems with wifi managers I decided to create a new wifi manager library WiFiConnect and convert my previous project to support both chips.

Components

ESP8266

   * ESP8266 ESP-12E Development Board NodeMcu
   * 2x 4ohm 3W Loudspeaker
   * Mini 3W+3W DC 5V Audio Amplifier PAM8043
   * I2S PCM5102 DAC Decoder ( [ESP8266Audio by Earle F. Philhower, III](https://github.com/earlephilhower/ESP8266Audio)
                                does allow for no decoder, but I have not tried it. )
   * 0.96" I2C IIC Serial 128X64 White OLED LCD LED 

   First major component problem was figuring out the DAC connections
   to use with AudioOutputI2S in the [ESP8266Audio](https://github.com/earlephilhower/ESP8266Audio) library.  
   The configuration I finnally manages to get to work was:  
      > 3.3V from ESP8266 -> VCC, 33V, XMT  
      > GND from ESP8266 -> GND, FLT, DMP, FMT, SCL  
      > GPIO15 (D8,TXD2) from ESP8266 -> BCK  
      > GPIO3 (RX,RXD0) from ESP8266 -> DIN  
      > GPIO2 (D4, TXD1) from ESP8266 -> LCK  

    The 5V Audio Amplifier PAM8043 needs a lot of juice and I found that as mine has a potentiometer I needed
    to turn it fully down to be able to program or run the ESP when only connected by USB serial connection.
    Powering from a USB power adapter for normal use, I had no problems.

ESP32

    * Heltec WiFi Kit ESP32 with an onboard 128x64 OLED display
    * 2x 4ohm 3W Loudspeaker
    * Mini 3W+3W DC 5V Audio Amplifier PAM8043

    As the ESP32 has 2 onboard DAC's I decided to use them rather than use another decoder.

IDE settings & Library Versions

Please check/review instructions and screenshots in the Wiki

Known Issues

  • Using buffering for the stream can cause alot of buffer underruns causing alot of stutter.
  • With newer libraries installed compared to the previous project I have been unable to get a stable connection using the ESP12E unless I set the IwIP Variant to IPv6 Higher Bandwidth.
  • Powering off of a com port can cause issues unless the amplifier is turned right down or off for uploading and playing music at higher volumes.
  • As I can't seem to get the project to compile in Travis CI for ESP8266 NodeMCU board, I have added precomiled binaries to the initial pre release v1.0.1 and hope to post instructions in the WiKi soon.

Putting it all together

Due to the possibility of frequent IP changes of my Raspberry Pi server I have used WiFiConnect and its custom paramters. After trying lots of different configurations for the server mp3 encoding(ffmpeg,darkice) and distribution(icecast2,shoutcast), I have settled on using Icecast2 and DarkIce with the following Darkice configuration.

Thanks

Many thanks to the authors and contibutors for the main libraries that made this project possible

Stuart Blair (smurf0969)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].