ESP32-S3 with ES8388 #66
-
Hi, I am trying to build a custom board with Audio. The Audiokit works fantastic, but I ran into problems with the ESP32-A1S chip by Aithinker, for having fewer GPIO left. So, I tried to build a custom board using ESp32-S3 and ES8388 modules by PCBArtists. PCB Artist board link And I wired based on instructions from PCBArtists. I am unable to communicate with the ES8388 board properly. I tried to copy the ES8388 driver and create a copy with pin mapped to ESp32 pins... Similar to the Kaluga board.
.....
#if ESP_IDF_VERSION > ESP_IDF_VERSION_VAL(4, 4, 0) I would appreciate any help. Here are some messages I get. I believe I2s is connecting successfully, Info: Selected board: 4 Thanks, Kaushlesh |
Beta Was this translation helpful? Give feedback.
Replies: 18 comments 31 replies
-
Want to mention that I have exact same code running perfectly with ESP32 AudioKit by Aithinker. I created two environments on VS Code Platform IO, and I use that to switch between boards. |
Beta Was this translation helpful? Give feedback.
-
The easiest is, if you stick with one of the existing board settings: 4) esp32_s2_kaluga_1_v1_2 (ES8311) will not work because that uses an ES8311 and you have a ES8388! So can you still change the wires ? Otherwise you will need to create a new number in audiokit_board.h |
Beta Was this translation helpful? Give feedback.
-
I just committed the following change: When you use board setting 10) generic_es8388 with PlatformIO, you can override each pin individually with the build_flags in the platformio.ini file in order to make them match with your current wirings. |
Beta Was this translation helpful? Give feedback.
-
The updated code was very helpful! Now I can use Board 10, and It works as expected now. Another unrelated issue I had was pulling up the I2C pins. The internal pullup doesn't help. I2C will work initially but once the ES8388 chip is initialized, I2C fails. |
Beta Was this translation helpful? Give feedback.
-
Hello There, I am also working on exact same setup ESP32S3 with ES8388 and using board 10 Generic ES8388,
I checked my pins more than 5 times all pin numbers are fine. |
Beta Was this translation helpful? Give feedback.
-
Did you try with both cfg.adc_input = AUDIO_HAL_ADC_INPUT_LINE1; or AUDIO_HAL_ADC_INPUT_LINE2 I would start testing on the output side (with a sine generator) which should be easier because by default the output goes to both output devices |
Beta Was this translation helpful? Give feedback.
-
Yes I did try both AUDIO_HAL_ADC_INPUT_LINE1; or AUDIO_HAL_ADC_INPUT_LINE2 with no change in output.
|
Beta Was this translation helpful? Give feedback.
-
Just double check your wiring: in 95% of the cases that is the reason why it is not working. |
Beta Was this translation helpful? Give feedback.
-
I suggest that you read the Wiki about decoding and encoding! |
Beta Was this translation helpful? Give feedback.
-
Ok I got the latest example for webserver aac , It compiled but only getting noise as output, |
Beta Was this translation helpful? Give feedback.
-
I thought I should try some basics and gave input a try
|
Beta Was this translation helpful? Give feedback.
-
You obviously have some issues with I2C! |
Beta Was this translation helpful? Give feedback.
-
Yes I do get your point but with exact same setup, streams-i2s-webserver_wav from es8388 library is working fine, It uses this library as setup as well. So my doubt is something is not getting configured right. |
Beta Was this translation helpful? Give feedback.
-
After updating to latest version, Audio server example (MP3) stopped working. It doesn't gave any error though but gives no audio. is it known issue ? |
Beta Was this translation helpful? Give feedback.
-
I am not aware of any change which would cause this: I suggest that you double check your actual pins with the pins in the log. Maybe the masterclock is not correct? In order to identify the breaking change you try to go back in the history and install up to the individual commits... |
Beta Was this translation helpful? Give feedback.
-
Update: I bought ESP32 Lyrat 4.3 board to get familiar with ES8388, Now, streams-url_mp3-audiokit is working fine but when I used streams-url_mp3_helix-i2s than No audio from speaker / headphone I got no errors on either. |
Beta Was this translation helpful? Give feedback.
-
That's normal: just using I2S will not work if you don't set up the ES8388. |
Beta Was this translation helpful? Give feedback.
-
When I tried streams-audiokit-webserver_aac it only works when I define pins in sketch itself,
but streams-webserver_aac-audiokit works fine as it is without any modification. |
Beta Was this translation helpful? Give feedback.
I just committed the following change: When you use board setting 10) generic_es8388 with PlatformIO, you can override each pin individually with the build_flags in the platformio.ini file in order to make them match with your current wirings.
For the available defines please check the board_def.h