Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/winteris/esphome-singlecore-i2s-audio
ESPHome I²S Audio Media Player Component for ESP32 single-core chips (ESP32C3)
https://github.com/winteris/esphome-singlecore-i2s-audio
esp32c3 esphome esphome-component homeassistant
Last synced: 3 months ago
JSON representation
ESPHome I²S Audio Media Player Component for ESP32 single-core chips (ESP32C3)
- Host: GitHub
- URL: https://github.com/winteris/esphome-singlecore-i2s-audio
- Owner: winteris
- Created: 2024-05-15T20:17:44.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2024-07-15T08:26:25.000Z (6 months ago)
- Last Synced: 2024-10-10T14:01:14.954Z (3 months ago)
- Topics: esp32c3, esphome, esphome-component, homeassistant
- Language: C++
- Homepage:
- Size: 651 KB
- Stars: 4
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ESPHome I²S Audio Media Player Component for ESP32 single-core chips
Similar to the Official Component [I²S Audio Media Player](https://esphome.io/components/media_player/i2s_audio), this is a [External Component](https://esphome.io/components/external_components.html) made for ESPHome, it can be used to create an ESPHome Audio Media Player in Home Assistant.
The difference is that the audio library it uses is from [earlephilhower/ESP8266Audio](https://github.com/earlephilhower/ESP8266Audio), which can run on ESP series single-core chip(like ESP8266, ESP32S2, ESP32C3), so it works on my ESP32C3.
This component is written separately for the [airm2m_core_esp32c3 ](https://wiki.luatos.com/chips/esp32c3) development board, and you can modify this component yourself to make it work with your own board.It is able to :
- Register an Audio Media Player into HomeAssistant
- MP3 from URL only
- HTTP URL onlyAnother advantage of ESP8266Audio over [schreibfaul1/ESP32-audioI2S](https://github.com/schreibfaul1/ESP32-audioI2S) is that, the ESP8266Audio can play wav files from local flash, and I tested it successfully on esp32c3, you can see more samples in [https://github.com/earlephilhower/ESP8266Audio](https://github.com/earlephilhower/ESP8266Audio).
## How to use
See usage in ESPHome Page [External Component](https://esphome.io/components/external_components.html).
You will see it is easy to use the local path:
1. Clone this repository and copy the `/my_components` folder to ESPHome ` /config` folder, where you can see your yaml files.
You can modify the local file every time you want.
2. Add this into your yaml:
```
external_components:
- source: my_components# Default value if not defined : GPIO1 GPIO18 GPIO0
media_player:
- platform: singlecore_i2s_audio
name: ESPHome I2S Media Player
dac_type: external
i2s_dout_pin: GPIO1
i2s_lrclk_pin: GPIO18
i2s_bclk_pin: GPIO0
```
3. Connect your DAC module to the development board:
```
DAC <----> dev board
vin <----> 3.3v
gnd <----> gnd
din <----> i2s_dout_pin(def GPIO1)
lrck <----> i2s_lrclk_pin(def GPIO18)
bck <----> i2s_bclk_pin(def GPIO0)
sck <----> gnd(if i2s_mclk_pin is not used)
```
![Image](./my_components/IMG_3205.jpeg)
4. Then you can compile and install your firmware.
## Thanks
This component is modified from:
- [A post from home-assistant community](https://community.home-assistant.io/t/turn-an-esp8266-wemosd1mini-into-an-audio-notifier-for-home-assistant-play-mp3-tts-rttl/211499/122)
- [ An old version of esphome/esphome/components/i2s_audio](https://github.com/esphome/esphome/tree/jesserockz-2023-121/esphome/components/i2s_audio)Thanks to all them.