Hi, welcome back. Very interesting video. Thanks for introducing the ES32-A1S. Looking forward to watch and learn from you.
@na5y2 жыл бұрын
Thank you very much - glad you enjoyed!
@jeroldponko71682 жыл бұрын
Hello Ian, good to see you're back. I found that AI Thinker has a Github repository for the Ai-Thinker ESP32-Audio-Kit board with info on setting up the Espressif Idf/adf. They also mention that they halted production with the AC101 and that the es8388 is its replacement. The driver for the AC101 can be found there. The Ai-Thinker ESP32-Audio-Kit board has micro USB, headphone jacks, etc and of course the ESP32-A1S module. It's priced around $15. I like the simpler ESP32-A1S myself. Thanks for the good video Jerry, AC9NM
@na5y2 жыл бұрын
Hi Jerry - thank you for the comment. I did wonder about the AC101 and whether that was an earlier or later generation of the board. I did see the audio kit board but only *after* I purchased the modules ;) . I am glad I did do the modules though as it gave me a chance to set up a circuit for a bare bones module, which I hadn't done before. Hope to get around to doing a followup video soon - there's so much non-fun related things to do in the new place though! I have to now learn how to use a chainsaw for one!
@jeroldponko71682 жыл бұрын
@@na5y According to the AI Thinker spec sheet, the first version 2.2 was Nov 2019 and the current version 2.3 was June 2021. There may have been a out earlier module by someone else in 2017. How did you find out about the ESP32-A1S module?
@na5y2 жыл бұрын
@@jeroldponko7168 Andreas Speiss told me about the module. Is the documentation you are referring to above on their github repo? I could only find a few incorrect and incomplete docs.
@TheEmbeddedHobbyist2 жыл бұрын
A tip for the hookup wire is ti strip a little bit of insulation off, tin the wires and let the insulation shrink back. Now cut the tinned wire shorter, now when you solder it the insulation should not shrink back much more.
@na5y2 жыл бұрын
Ah cool tip TEH - thank you
@pauld1988 Жыл бұрын
11:15 that cheeky spider run by :D
@DanielSMatthews5 ай бұрын
That looks like the same module in the *Jessinie ESP32-Audio-Kit*
@marek4773 Жыл бұрын
Great work and great explanation, thank you for this!
@na5y Жыл бұрын
Glad you enjoyed. Thank you for the comment
@curtstacy7792 жыл бұрын
Hey, Good to see you. Hope your move went well!
@na5y2 жыл бұрын
Thank you Curt. Move went pretty well although there's still boxes everywhere ;)
@AndreLuis-od2bg2 жыл бұрын
the litle spider on the green jack 🤣🤣🤣🤣🤣🤣🤣
@na5y2 жыл бұрын
Indeed - he was a quick mover too!
@EasyOne Жыл бұрын
A spider learns to program 10:59
@na5y Жыл бұрын
Indeed - he helped my correct some of my wiring mistakes too ;)
@gerthalberg97352 жыл бұрын
I have some audiokit boards that are a little earlier. One of them is with the AC101 and the rest are with the ES8388. The 8388 batch has a pinout that differs from yours. They are BCLK GPIO05 and SDA, SCL 18 and 23 -which unfortunately renders a lot of the available pins on the board un-usable. It's a shame, that AI Thinker opted to change the AC101 to the ES8388 - The WM8978 would have been a better match since it should be pin-compatible with the AC101.
@na5y2 жыл бұрын
I agree - its strange some of the decisions made by the module makers on which pins to expose (or not expose). I wish they had this module with a header pin layout. Thank you for the comment!
@ElectronicSupersonic9 ай бұрын
Us too, from the outside they look the same, under the can the layout differs around the es8388
@MrNoorino2 жыл бұрын
Can you give us an example of implementing the Equalizer feature on registers 30 to 37 on the ES8388, thank you, best regards
@na5y2 жыл бұрын
I'll have a look at that Noor. Not a lot of documentation in the manual on the shelving filters as they are referred to. Stay tuned
@MrNoorino2 жыл бұрын
@@na5y roger that sir ..thank you
@oasishut3120 Жыл бұрын
All i get here is ac101...is there any code for ac101 audio chup. Thanks
@na5y Жыл бұрын
Not that I am aware. I haven't even seen a good programmer's guide for the AC101. If all you can get is the AC101 I would recommend buying a standard ESP32 and using something like the PCBArtists board: pcbartists.com/es8388/
@Paul_VK3HN Жыл бұрын
Interesting work, thanks. What do you think the top frequency would be? I'm also wondering if you could sample audio on an input to amplitude modulate a carrier, for a basic AM signal generator. Just a thought.
@na5y Жыл бұрын
Hi Paul. You mean the top sampling frequency? I believe for that codec its 96KHz. You start to run out of uController horsepower at that sampling frequency for any DSP though. I am not sure I understand your second question. Do you mean could this setup output an amplitude modulated signal? If so then no - unless the carrier was < 96KHz
@Paul_VK3HN Жыл бұрын
@@na5y Yes to both, I was wondering how well it would generate an AM signal using a line audio drive, modulating the generated carrier. Maybe a concept to be tried, not very useful though.
@NicholasRadina Жыл бұрын
Another great overview. Curious if you have been able to change the line in input gain. Using the AudioKit board I’m only able to use 100mV input signal before clipping the input stage.
@na5y Жыл бұрын
Thank you Nicholas. I have definitely been able to change the line in gain. I assume the AudioKit has this right but I know I had problems on linein without a decoupling cap on input.
@NicholasRadina Жыл бұрын
@@na5y Thank you! Are you able to share how you were able to adjust this parameter? I'm new to the A1s module and unsure how to alter the register, driver, etc...
@na5y Жыл бұрын
@@NicholasRadina Sorry - I should have added that shouldn't I ;) Look at page 17 of this document datasheet.lcsc.com/szlcsc/1901241705_Everest-Semiconductor-ES8388_C365736.pdf 6.2.1 Register 9 - ADC Control 1, Default 0000 0000 MicAmpL 7:4 Left channel PGA gain 0000 - 0 dB (default) 0001 - +3 dB 0010 - +6 dB 0011 - +9 dB 0100 - +12 dB 0101 - +15 dB 0110 - +18 dB 0111 - +21 dB 1000 - +24 dB MicAmpR 3:0 Right channel PGA gain 0000 - 0dB (default) 0001 - +3 dB 0010 - +6 dB 0011 - +9 dB 0100 - +12 dB 0101 - +15 dB 0110 - +18 dB 0111 - +21 dB 1000 - +24 dB That register sets the gain for left and right input channel. In my code github.com/thaaraak/es8388/blob/master/src/es8388.cpp on line 107 I set this to 0x11 which (if my understanding is correct) is +3dB left/right. Perhaps the code you are using has this set higher? I hope this helps.
@NicholasRadina Жыл бұрын
@@na5y Thank you! I'll give this a try! Do you know if the "audio kit" board is compatible with your code? I know there are many "challenges" with these boards and types.
@na5y Жыл бұрын
@@NicholasRadina The audio kit you are referring to is it this one: www.aliexpress.us/item/3256801551918625.html?spm=a2g0o.productlist.0.0.16c73b80CBztxB&algo_pvid=e8f7f906-c92e-4b08-99be-fdc37b3e7b8f&algo_exp_id=e8f7f906-c92e-4b08-99be-fdc37b3e7b8f-1&pdp_ext_f=%7B%22sku_id%22%3A%2212000017401423541%22%7D&pdp_npi=2%40dis%21USD%2120.2%2120.2%21%21%21%21%21%402101e9ce16710440935511388e9310%2112000017401423541%21sea&curPageLogUid=qhg94DMf4KMq I haven't played around with it myself. Do you know for sure it is using an ES8388 codec? If so then it should run fine with my code. Some earlier ESP32-A1S varieties use the AC101 codec which is definitely not compatible with my code.
@pradeepwagre23942 жыл бұрын
Is there any video tutorial to set up eclipse for esp32-A1S,I am using esp32 audio kit v2.2
@na5y2 жыл бұрын
Hi Pradeep, no video that I am aware of. I just followed the instructions on the Espressif site here: github.com/espressif/idf-eclipse-plugin Is there something in particular you are having a problem with during setup? It is a bit fiddly
@pradeepwagre23942 жыл бұрын
@@na5y I went through above link, its for adding esp-idf libraries but for esp32-A1s we need esp-adf. There is no tutorial for it. And I am facing compilation issues while adding esp-adf.
@na5y2 жыл бұрын
@@pradeepwagre2394 A few things to check. Does an ADF example project compile from the command line? If not use version 4.4 of the **IDF** - last I looked the latest version of the IDF didn't work with the ADF (I am using 4.4 of the IDF) If it compiles from the command line then check out my CMakelists.txt github.com/thaaraak/ESP32-IQ/blob/main/CMakeLists.txt The ADF_PATH doesn't seem to work also - you have to just use a relative path. Also shoot over your compile log to me at my email address in the channel "About" - I'll take a look and see if there's anything obvious.
@KennethScharf Жыл бұрын
Your link to alieexpress is for the WRONG version of the ESP32-A1S (wrong codec)
@na5y Жыл бұрын
I just checked and that is the version that I purchased and the one I am using (the ES8388 version). What do you mean by wrong?
@KennethScharf Жыл бұрын
@@na5y The photo in the alieexpress page is that of the one shown for the other codec. (antenna and coax jack)
@na5y Жыл бұрын
I actually just ordered some more from that link the other day. I'll certainly post a correction if I get the older AC101 codec
@RuudJongeling Жыл бұрын
A question. I looked at your video several times and I tried to program the ESP32-A1S (2974) like you do. I use the streams-generator to check the output but no signal on the oscilloscoop. , Not on HP and not on SP. The I2S is the same as your setting and the datasheet of the ESP32A1S (WS 25; bck 27; data 26; data_rx 35 mclk 0). Are there known problems with the ESP32-A1S?
@na5y Жыл бұрын
Ruud, I have had a few people ping me on problems replicating this on ESP-32 A1S modules and I am not really sure what is going on. I have a few theories though: 1) There are a number of different versions of the ESP32 A1S - some which use the AC101 codec. The AC101 is completely incompatible with the ES8388. Unfortunately there's no easy way to tell which version you have 2) There are others which use different internal pins for the I2C connection to the ES8388 module. Have a look at the schematic in the doc you'll see that Upshot is some have had troubles getting it to work and I am a bit stumped
@RuudJongeling Жыл бұрын
@@na5y Hi Paul. Thanks for your answer. I am sure it is a ES8388, I took the can of like you did in your video. I checked the generatorstream and it works good with the output to Serial but it can not be send tot the ES8388. I use Arduino IDE and core: AI Thinker ESP32-CAM. I am afraid that the internal connection is different from the schematic in the documentation so I ordered new ESP32-A1S by a different supplier. I let you know if I have found a solution but I am not sure I am gonna find it.
@na5y Жыл бұрын
One thing to check Ruud is what I2C pins you are using to talk to ES8388. This document on page 15 docs.ai-thinker.com/_media/esp32-a1s_v2.3_specification.pdf Has two different versions one with SCL, SDA on 23 and 18 (over to the left) The other has SCL and SDA being 32K_XP, 32K_XN (which resolves to pins 32 and 33) I used 32 and 33 for SCL, SDA which worked - I think someone mentioned he had a version which worked on 23, 18 Let me know how you go
@RuudJongeling Жыл бұрын
@@na5y Hi Paul, Thanks for your answer. Unfortunately the change of the GPIO for I2C didn't change the output. When I have success I let you know but I am afraid that it is a difficult problem. 73 Ruud
@na5y Жыл бұрын
@@RuudJongeling That's a shame - let me know if you crack the problem. Like I said there's a few people with this problem. Oh and its Ian BTW not Paul ;)
@sanjikaneki6226 Жыл бұрын
is the ESP32 radio series where u use the IDF for the first time? also whom where did u learn how to use it? trial and error?
@na5y Жыл бұрын
My first experience with the ESP-IDF was just playing around with the examples that come with the toolkit (led blink, simple I2C, etc). I would strongly recommend if you want to learn to install eclipse and the ESP-IDF plugin. Makes things a whole lot easier IMO. Check out this link to get yourself started docs.espressif.com/projects/esp-idf/en/stable/esp32/get-started/index.html
@sanjikaneki6226 Жыл бұрын
@@na5y thx i am already doing that but i thought u knew something better BTW when it comes to different ICs how do you write the driver files? or rather is there some template?
@na5y Жыл бұрын
@@sanjikaneki6226 You mean for example a driver for I2C or are you referring to, say, a driver file for an OLED display?
@sanjikaneki6226 Жыл бұрын
@@na5y yes as in an I2C/S driver for a chip in my case both since i have a audio ADC
@na5y Жыл бұрын
@@sanjikaneki6226 Typically for core peripherals the manufacturer provides software tooling for that. STM has HAL, ESP32 has ESP-IDF. If you *really* want to write your own driver for, say, I2C you'd read the the reference manual www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf look at page 278 - that specifies how you control the registers on the device to perform I2C. Like I said though - unless there is some compelling reason just use the I2C driver provided in ESP-IDF