-
Notifications
You must be signed in to change notification settings - Fork 707
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ESP ADF + IDF 5 with Custom Board Config (AUD-4601) #997
Comments
@DerPicknicker how about play_mp3_control example, it already contains custom board files. |
Thank you for the Hint! But how to adapt it to the Nodemcu Boards..? Is there any Documentation about the progress? I don't want to use the Touch Pins in the ADF way. I want to have full control and do it only in IDF. I need the ADF only for decoding audio the rest should be done in IDF. For me the the missing part is:
@robbietree8 Do you get my Point? Hope you have some more information 💯 |
Touch pins is not necessary, you can use gpio/adc button to control audio. For the second part: For me, there is not so much burden to use adf, just simply include cmake file from adf path |
@robbietree8 ... Thank you for your support.
Yes this is already done. So for this I don't need a custom board config right? But what's about the Pin Configuration? MANY THANKS! |
I think this issue might help you Add custom board support..., key commit :f38a7d2 |
@robbietree8 .. After some reading I got the main concept (or I guess I got it..) .. I hope this is the last question: Or do I need to create a custom board config for a naked esp32/S3 to run properly? Best regards 👍 |
@robbietree8 & @jason-mao PUSH ;) ... I tried to get this Example running: https://github.com/espressif/esp-adf/tree/master/examples/player/pipeline_http_mp3 So I tested now several pins with the Arduino code: https://github.com/schreibfaul1/ESP32-audioI2S/blob/master/examples/I2Saudio/I2Saudio.ino I tested these Pins but sadly no Audio comes out of my Speaker.
All these Pins mentioned above works with the Arduino Code without any Problems so my I2S Hardware is working fine. I tested also an custom Code which inits the I2S with the DEFAULT settings:
Any Hints from your Side...? |
It would help if you posted your code to a repo/jist so that we could read through it in full |
@texruska ... I can share my code but it's based on the example I linked in my reply above you. So I think it should be the best if we can find out why the example is not working on my esp32 board... I can guarantee that my i2s hardware is working fine. I tested it with the Arduino library and different pins.. EDIT1: I use the IDF 5 + ADF from the latest master branch. Which is the first release of ADF which is compatible with IDF 5. |
Hello, here is my custom code which based on the espressif example. Let me know if you found something out. Be aware that you need to change your WiFi password to get the code running. @texruska hope this helps and thank you for your time. |
It seems that after send data to I2S, sound can be played.
|
You didn't share with us the custom board config, which is the key to the problem I expect. Your sdkconfig is using Lyrat v4 instead of a custom board |
Hello @TempoTian & @texruska .. thank you for the information. And yes @TempoTian i don't need i2c I want to send the audio directly via i2s. With your code snippet I will try to create a custom board config. BTW: Do I need two configurations if I want use the second i2s peripheral for IDF Code..? Many thanks👍🏻 |
If you have two I2s you can set you I2S pin inside get_i2s_pins and assign the pin setting when
|
@TempoTian .. Yes this is clear for me but DO I need this or this is optional and not required to get the code running? I have a code which uses i2s not for audio for custom hardware this code works fine in IDF without ADF added. My main question is do I need to configure this custom board for non ADF code as well 😉..? |
ADF gets the I2S pins from the board definition, so unless you're using the same pins for I2S as an existing one you'll have to make a "custom" board Non-ADF code can do whatever it likes, there are many ways to solve this problem and ADF has chosen to use this pattern |
Thank you for the information. Are you working also with ADF? Can I come back to you if I have some other questions. I started from Arduino and coming now to IDF and ADF in combination it's quite hard to get an overview.. Sometimes I miss these information in the official documentation or I didn't see it 😉.. EDIT: I will give you an update if I tested the custom board definition. Thank you all for your time!! |
Yeah I've just gone through the same struggles as you, I'm working on a project using I2S on custom hardware. I've mostly been piecing things together by reading the source code and stepping through with my debugger |
@texruska .. I will give you an update if my custom board solves all problems. |
In ADF audio board is not optinal for that some components depend on it, if not provided it will not build success. |
Issue can be closed. |
Hi @DerPicknicker Would it be possible to share your customized version of https://github.com/espressif/esp-adf/tree/master/examples/player/pipeline_http_mp3 showing how to use/configure a custom board? (Perhaps having an extra commit with all the changes between the original example and your fork?) Googling ESP ADF + custom board has few results, with this thread being at the very top :) |
@stupidSheep .. I can understand that you're interested in my code. But my Code based on the Example you linked. So there is nothing special.. Let's try the Code from Espressif first... I thought the Code Espressif is not working - but this is not the case. The Problems are the custom Board config. If you doesn't include it - it won't work with your board. The custom Board Config contains required Information about your Board: I2C Pinout, I2S Pinout, Which Decoder are supported etc. So you need to create a folder inside your "component" folder: Now you can adapt the i2S config in the After these steps you can change the board-config inside idf.py menuconfig as you can see here: Hope this Helps! EDIT1: You can try it and if you need some assistance I can try to help you. |
Here is an example that uses a custom board. Tinker with it in order to get yours working, you don't have to implement everything that the example does: https://github.com/espressif/esp-adf/tree/master/examples/get-started/play_mp3_control Edit: I see I was beaten to reply :) |
Hi @texruska and @DerPicknicker Thank you both for your prompt responses :) I've just noticed that esp-adf's esp-idf version is behind my esp-idf and thus some of my existing code isn't running (ADC related). I'll wait a bit with esp-adf and try again once its esp-idf version is newer |
- ESP-ADF AUDIO_HAL require custom board config before using the ESP-ADF components. - References: - esp-adf/examples/get-started/play_mp3_control - espressif/esp-adf#997 Signed-off-by: Dennis Liu <[email protected]>
This thread has been super helpful for me getting a custom board working. thanks!! |
@tank104 great to hear - it's a pity that the documentation was not really helpful at this time. Maybe they can add those information at some point |
I have write a simple script to gen a new board based on json configuration. You can put then into |
@TempoTian this is great please include it also in the ADF release. Thank you for still replying even for closed issues. |
Hello,
first of all I would thank you @jason-mao and your team for the release of the latest release of ADF. It seems that everything works as expected. But now to my Problem. I don't have any Audio Development Board (Lyrat..). And I don't want to use them. I only have ESP32 and ESP32-S3 NodeMCU Boards:
ESP32:
ESP32-S3:
I want to use them in combination of IDF and ADF. But for me it's not clear how to create a custom board config. And yes I read dozen of websites and the official documentation.
@jason-mao :
Is it possible to provide me the custom Board Files or even better add them to the GithubRepo. To have a starting point for developer who aren't using the Developer boards provided by Espressif...
Best regards,
BTW: your Workflow / Action does not run properly... The JIRA sync doesn't work on your side.. ;)
The text was updated successfully, but these errors were encountered: