ESP32 Internet Radio

Excellent audio performance for this easy to use radio, able to decode most internet station formats ! Updated firmware and Web Server.
I have built several internet radios.
During my tests, I concluded that the ESP32 was the perfect processor for this type of application.
There are many existing projects on the web, however all had flaws that prevented me from fully appreciating an easy-to-use radio.
Mine has the following main characteristics:
- Standard ESP32 module (no additional PSRAM needed).
- 160x128 pixel color TFT display
- Use of the I2S port of the ESP32 to digitize the audio stream.
- Use of a PCM5102 type I2S module with 3.5mm stereo jack output or two MAX98357 type I2S modules with integrated class D amplifier and 2x3W RMS loudspeaker output. These modules are easily found on internet shops (see photos).
- Decoding of the following audio formats: mp3, m3u, aac, wav, adts mp4 from 32 kbps to 192 kbps.
This makes it possible to listen to virtually any internet audio stream.
- 99 stations can be defined in the software source.
- Integration of an IR receiver - VS1838B
- 5 hard keys or a universal or refurbished IR remote control (vol+, vol-, ch+, ch- and mute) are used to control the radio.
- Software optimized to avoid any slowness or rebound likely to generate background noise on the audio output.
- An emulated EEPROM stores the volume and the last station listened to.
- A led flashes to indicate the correct reception of the signals from the remote control.
Easy to integrate in a transparent Hammond box. (pictures will be added to show this integration).
The software source indicates the connections to be made between the different modules.
The software is very simple and sufficiently documented to be easily modified. Using the Audio.h library greatly simplifies programming.
As usual, I preferred to use a hole plate and insulated wire to make my prototype.
A web server is embedded.
You can change SSID and PASSWORD.
In real time you can see : rssi value of the WiFi signal, volume, current chanel and url of the station.
You can also easily update the firmware via OTA.
I have updated this project with a new software (version 1.60). You must also upadte SPIFFS memory with the attached file. Radio stations are now alphabelicaly sorted !
A small User Manual gives some informations regarding the use and the compliation of the sofware.
The Web server is completely new !
More easy to use at first use thanks to the new WifiManager Server.
Enjoy !!!!
During my tests, I concluded that the ESP32 was the perfect processor for this type of application.
There are many existing projects on the web, however all had flaws that prevented me from fully appreciating an easy-to-use radio.
Mine has the following main characteristics:
- Standard ESP32 module (no additional PSRAM needed).
- 160x128 pixel color TFT display
- Use of the I2S port of the ESP32 to digitize the audio stream.
- Use of a PCM5102 type I2S module with 3.5mm stereo jack output or two MAX98357 type I2S modules with integrated class D amplifier and 2x3W RMS loudspeaker output. These modules are easily found on internet shops (see photos).
- Decoding of the following audio formats: mp3, m3u, aac, wav, adts mp4 from 32 kbps to 192 kbps.
This makes it possible to listen to virtually any internet audio stream.
- 99 stations can be defined in the software source.
- Integration of an IR receiver - VS1838B
- 5 hard keys or a universal or refurbished IR remote control (vol+, vol-, ch+, ch- and mute) are used to control the radio.
- Software optimized to avoid any slowness or rebound likely to generate background noise on the audio output.
- An emulated EEPROM stores the volume and the last station listened to.
- A led flashes to indicate the correct reception of the signals from the remote control.
Easy to integrate in a transparent Hammond box. (pictures will be added to show this integration).
The software source indicates the connections to be made between the different modules.
The software is very simple and sufficiently documented to be easily modified. Using the Audio.h library greatly simplifies programming.
As usual, I preferred to use a hole plate and insulated wire to make my prototype.
A web server is embedded.
You can change SSID and PASSWORD.
In real time you can see : rssi value of the WiFi signal, volume, current chanel and url of the station.
You can also easily update the firmware via OTA.
I have updated this project with a new software (version 1.60). You must also upadte SPIFFS memory with the attached file. Radio stations are now alphabelicaly sorted !
A small User Manual gives some informations regarding the use and the compliation of the sofware.
The Web server is completely new !
More easy to use at first use thanks to the new WifiManager Server.
Enjoy !!!!
Project Elements
Copyright (JPG, 593.33 KB)
screen at start-up
IR receiver (VS1838B) is soldered under the TFT screen.
WiFi setup display (JPG, 701.31 KB)
web-manager-v2.jpg (JPG, 12.24 KB)
WebMagar server for first setup
Case 3 (JPG, 683.15 KB)
Case 2 (JPG, 696.82 KB)
Case 1 (JPG, 637.54 KB)
Main display (JPG, 691.57 KB)
PCM5102 (JPG, 37.29 KB)
3.5mm stereo ouput
First prototype (JPG, 712.96 KB)
1st prototype with I2S amplifier and led display . Works with a remote to choose Chanel and volume.
MAX98357 (JPG, 31.56 KB)
I2S 3W RMS amplifier
Use 2 of them for stereo output
Prototype 2 (JPG, 622.21 KB)
Prototype N°2 - ready to be integrated in an Hammond box.
web-server-2.jpg (JPG, 37.39 KB)
New web server
serial-data-output.jpg (JPG, 218.55 KB)
Serial Data ouput .
ap-mode.PNG (PNG, 198.72 KB)
Initial setup screen
Case 4 (JPG, 627.17 KB)
The board is in the box !
case 5 (JPG, 652.84 KB)
Parts before assembling - PCM5102 was not yet received
case 6 (JPG, 767.98 KB)
Mechanical - See the power and audio connector on the back of the box.
case 7 (JPG, 585.49 KB)
The mechanical and wiring are done !
Board 1 (JPG, 829.77 KB)
Back of the main board. I use standard connectors for connecting all the wires.
case 8 (JPG, 598.49 KB)
Integration . PCM5102 module is missing !
pcm5102-ponts-de-soudure-20230316111543.jpg (JPG, 1.55 MB)
PCM5102 mandatory soldering pads
ESP32_Radio_I2S 1.71.rar
(RAR)
Now includes a better WebMaager for initial sertup
ESP32_Radio_I2S 1.60.rar
(RAR)
Add alphabeticaly sorting by name and updated spiffs and user manual.
ESP32_Radio_I2S 1.70.rar
(RAR)
Last firmware, now includes a new server to connect for the first time.
SimpleReceiver.rar
(RAR)
Allows to easely find the right IR code
Schéma 1.2.pdf
(PDF)
Schéma.pdf
(PDF)
Discussion (16 comments)

eskwadrat 5 months ago
Hi, trying to build this project this weekend. Once successfull, the plan is to update the design by replacing TFT display with 5x7 micro LED dot matrix alphanuneric one to match my Accuphase gear. I know, it's crazy to mess with T1100 but my tuner is collecting dust for few years now and this is good way to bring it back to use. Cheers.
Reply

eskwadrat 5 months ago
Yves,
Hope you are going to read this and help me out. Thanks in advance. Here is my progress.
1. I put together the board per your schematic diagram.
2. Installed Arduino 1.8.19 as instructed.
3. Installed esp32 by Espressif Systems board support, version 3.0.5
4. Selected Board: ESP32-PICO-D4 per what I have here installed on breadboard)
5. Wrote simple test sketch to blink the LED on IO2 pin - it WORKS!
6. Followed your "User manual english 1.2.pdf", couple of things I do not understand:
(a) you say: "You must choose the ESP32 Dev Module module with the Partition scheme: default 4MB with spiffs"
whereas available Partition schemes in my Tool menu are:
* Default
* No OTA (Large APP)
* Minimal SPIFFS (Large APPS with OTA)
* Custom
Which one should I choose?
(b) and what do you mean by saying: "load the Web server by ESP32 Sketch Data Upload from the IDE tool
menu"? Do you mean installing another library via Library Manager? If yes, then what is the exact name of the library I need? Or if this i something else you are asking, please clarify. Thank you.
7. when I try compiling the radio sketch, I get the error showing:
* ESP32_Radio_I2S:38:10: fatal error: Adafruit_GFX.h: No such file or directory -> candidates: []
I suppose I do not have path set for the libraries you provided in libraries.zip package. Where should I put these libraries to make this compile error go away?
I appreciate your response. Thank you,
Steve
Hope you are going to read this and help me out. Thanks in advance. Here is my progress.
1. I put together the board per your schematic diagram.
2. Installed Arduino 1.8.19 as instructed.
3. Installed esp32 by Espressif Systems board support, version 3.0.5
4. Selected Board: ESP32-PICO-D4 per what I have here installed on breadboard)
5. Wrote simple test sketch to blink the LED on IO2 pin - it WORKS!
6. Followed your "User manual english 1.2.pdf", couple of things I do not understand:
(a) you say: "You must choose the ESP32 Dev Module module with the Partition scheme: default 4MB with spiffs"
whereas available Partition schemes in my Tool menu are:
* Default
* No OTA (Large APP)
* Minimal SPIFFS (Large APPS with OTA)
* Custom
Which one should I choose?
(b) and what do you mean by saying: "load the Web server by ESP32 Sketch Data Upload from the IDE tool
menu"? Do you mean installing another library via Library Manager? If yes, then what is the exact name of the library I need? Or if this i something else you are asking, please clarify. Thank you.
7. when I try compiling the radio sketch, I get the error showing:
* ESP32_Radio_I2S:38:10: fatal error: Adafruit_GFX.h: No such file or directory -> candidates: []
I suppose I do not have path set for the libraries you provided in libraries.zip package. Where should I put these libraries to make this compile error go away?
I appreciate your response. Thank you,
Steve
Reply
Show more
3 Comment(s)

Fratello 11 months ago
Hi ! I finally managed to make this montage. It works very well, thanks to the author. I modified it for a 0.96-inch OLED display (with less information displayed). If they are willing, please message.
disp.jpg (30kb)
Reply
Show more
1 Attachment(s)
1 Comment(s)

Wener 1 year ago
This message occurs with almost all downloads from ybourdon, especially when it comes to .RAR archives. This is also evident to other of his projects.
Virusproblem.pdf (83kb)
Reply
Show more
1 Attachment(s)
1 Comment(s)

slo_wik7212 1 year ago
Hello, first of all, thanks for the great project. I made this project and everything works. I just can't add any new radio stations. I'm trying to add new ones and delete the ones you entered, but the stations you defined in the program are still loading. Can you help me what can I do about it? Thank you in advance for your help. Mark The situation is under control. I cleared the ESP32 memory with a flasher, added new radio stations, programmed them and everything is fine.
Reply
Show more
1 Comment(s)

Fratello 1 year ago
Hi ! I have this error, no matter what ESP32 board I choose.... What can I do ? Thank you !
err-20230817142303.jpg (207kb)
Reply

Fratello 1 year ago
An answer, please ?!? I'm stuck ... I don't know how to move forward.
In file included from C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\libraries\SD\src/utility/Sd2Card.h:26,
from C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\libraries\SD\src/utility/SdFat.h:29,
from C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\libraries\SD\src/SD.h:20,
from C:\Users\Dan\Documents\Arduino\libraries\ESP32-audioI2S-master\src/Audio.h:30,
from D:\ESP32_Radio_I2S\ESP32_Radio_I2S.ino:41:
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\libraries\SD\src/utility/Sd2PinMap.h:524:2: error: #error Architecture or board not supported.
#error Architecture or board not supported.
^~~~~
exit status 1
Error compiling for board ESP32 PICO-D4.
In file included from C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\libraries\SD\src/utility/Sd2Card.h:26,
from C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\libraries\SD\src/utility/SdFat.h:29,
from C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\libraries\SD\src/SD.h:20,
from C:\Users\Dan\Documents\Arduino\libraries\ESP32-audioI2S-master\src/Audio.h:30,
from D:\ESP32_Radio_I2S\ESP32_Radio_I2S.ino:41:
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\libraries\SD\src/utility/Sd2PinMap.h:524:2: error: #error Architecture or board not supported.
#error Architecture or board not supported.
^~~~~
exit status 1
Error compiling for board ESP32 PICO-D4.
Reply
Show more
1 Attachment(s)
1 Comment(s)

EN0036124ID 1 year ago
HI, I'm trying to compile the sketch, but having problems finding the correct library for Audio.h
I have tried "Audio by Arduino" but get "Compilation error: 'Audio' does not name a type"
on line 54.
Any help would be appreciated
Arth
I have tried "Audio by Arduino" but get "Compilation error: 'Audio' does not name a type"
on line 54.
Any help would be appreciated
Arth
Reply

ybourdon 1 year ago
Here is a zip folder including the libraries I use for this project.
Rehgards.
Yves
Rehgards.
Yves
libraries.zip (35398kb)
Reply

Senior Editor, Elektor 1 year ago
https://github.com/arduino-libraries/Audio/blob/master/src/Audio.h
Roberto
Roberto
Reply

EN0036124ID 1 year ago
Not sure if this is the correct library ? I get this message
WARNING: library Audio claims to run on sam architecture(s) and may be incompatible with your current board which runs on esp32 architecture(s).
And still get "Compilation error: 'Audio' does not name a type"
Arth
WARNING: library Audio claims to run on sam architecture(s) and may be incompatible with your current board which runs on esp32 architecture(s).
And still get "Compilation error: 'Audio' does not name a type"
Arth
Reply
Show more
2 Comment(s)

Alan Johnston 1 year ago
HI,
Looks very interesting, will check this out for my blind brother who needs an internet radio which is simple, ie operated by switches. Will get it up and working then probably add a lithium battery source so no cable for him to mess around with.
One query, re you 3.3V source, note that in the schematics only input is a 5V 2A supply, where is the 3.3V obtained from? Eg a separate regulator ( LD1117V33 ) not on the diagram?
Many thanks for a very well documented project, have ordered the parts !!
Kind regards from Australia,
AlanJ
Looks very interesting, will check this out for my blind brother who needs an internet radio which is simple, ie operated by switches. Will get it up and working then probably add a lithium battery source so no cable for him to mess around with.
One query, re you 3.3V source, note that in the schematics only input is a 5V 2A supply, where is the 3.3V obtained from? Eg a separate regulator ( LD1117V33 ) not on the diagram?
Many thanks for a very well documented project, have ordered the parts !!
Kind regards from Australia,
AlanJ
Reply

ybourdon 1 year ago
Hi Alan,
Thank you very much for your interest to this project.
The 3.3V is provided by the ESP32 module (Helectec or Dev kit), and there is no need for a separate regulator.
Don't hesotate to come back to me if you experience any trouble xwith this nice internet radio !
Regards.
Yves
Thank you very much for your interest to this project.
The 3.3V is provided by the ESP32 module (Helectec or Dev kit), and there is no need for a separate regulator.
Don't hesotate to come back to me if you experience any trouble xwith this nice internet radio !
Regards.
Yves
Reply
Show more
1 Comment(s)

Petrika Janeku 1 year ago
Hello.
I find very interesting your project but I have different modules:
- MP3 decoder VS1053
- OLED 0.96" type 1306 128x64 display module
- PAM8403 amplifier board
Is it possible to use these part for your project and what is required in order to work properly ?
Also, I read that there is possibility of some sound distorsion because of absence of 600:600 transformers before amplifier input, so I wonder is it required in your situation to add audio transformer before amplifier ?
Would your project be more simple when using above mentioned parts ? If it would be, can you make it, please ?
I find very interesting your project but I have different modules:
- MP3 decoder VS1053
- OLED 0.96" type 1306 128x64 display module
- PAM8403 amplifier board
Is it possible to use these part for your project and what is required in order to work properly ?
Also, I read that there is possibility of some sound distorsion because of absence of 600:600 transformers before amplifier input, so I wonder is it required in your situation to add audio transformer before amplifier ?
Would your project be more simple when using above mentioned parts ? If it would be, can you make it, please ?
Reply
Show more
1 Comment(s)

ybourdon 1 year ago
Hi,
I use the following configuration:
Arduino IDE 1.8.19.
I have select ESP32 PICO-D4, please try to update esp32 by Espressif Systems to version 2.0.6.
I also include a librarie file wich includes all the used libraries.
Tell me if it is ok for you !
Regards.
Yves
I use the following configuration:
Arduino IDE 1.8.19.
I have select ESP32 PICO-D4, please try to update esp32 by Espressif Systems to version 2.0.6.
I also include a librarie file wich includes all the used libraries.
Tell me if it is ok for you !
Regards.
Yves
libraries.rar (35264kb)
Reply

kaerntner53 1 year ago
Hi,
i checked the parameters -
IDE - is the same
The releases of the librarys - is the same
The only different i found is the processor
i use the ESP32WROOM-32.
I comment - just for trying - the reclaimed line out and the compiler runs well.
So far so good, but the remotecontrol don't work. It's ok, if i comment something out.
Now i got the screen on my Display, that he don't find my AP an he gave me the IP 192.168.4.1 to acces a WEB Page. If i try it with my mobile phone, the screen is empty. Only when i copy my SSID and my Password into the Funktion "initWiFimode()" he find my AP and loged in. Unfortunately he don't show me any station.
You see - i ran into a lot of problems
May you have some more ideas
Best regards
Klaus
i checked the parameters -
IDE - is the same
The releases of the librarys - is the same
The only different i found is the processor
i use the ESP32WROOM-32.
I comment - just for trying - the reclaimed line out and the compiler runs well.
So far so good, but the remotecontrol don't work. It's ok, if i comment something out.
Now i got the screen on my Display, that he don't find my AP an he gave me the IP 192.168.4.1 to acces a WEB Page. If i try it with my mobile phone, the screen is empty. Only when i copy my SSID and my Password into the Funktion "initWiFimode()" he find my AP and loged in. Unfortunately he don't show me any station.
You see - i ran into a lot of problems
May you have some more ideas
Best regards
Klaus
Reply

ybourdon 1 year ago
Hi Klaus,
Do you get the first Web page (WenManager) after you connect to the WiFi 192.168.4.1 ?
I hope you haven't forget to load the data in SPIFFS using ESP32 Sketch Data Upload ?
At that time don't change the software before it works (excepte for your WifI credentials and IR remote adaptation) !
I have included a new revision ( both firmware and SPIFF must be updated).
For you first use check 'First Setup' (see picture).
It will format the NVS and load the default values (you can change your Wifi credentials in line 76-77).
Also check your PCM5102 module reagrding the mandatories soldering pads (see picture).
I hope you can start this internet Radio !
Yves
Do you get the first Web page (WenManager) after you connect to the WiFi 192.168.4.1 ?
I hope you haven't forget to load the data in SPIFFS using ESP32 Sketch Data Upload ?
At that time don't change the software before it works (excepte for your WifI credentials and IR remote adaptation) !
I have included a new revision ( both firmware and SPIFF must be updated).
For you first use check 'First Setup' (see picture).
It will format the NVS and load the default values (you can change your Wifi credentials in line 76-77).
Also check your PCM5102 module reagrding the mandatories soldering pads (see picture).
I hope you can start this internet Radio !
Yves
web-manager-v2.jpg (12kb)
pcm5102-ponts-de-soudure-20230317100522.jpg (1583kb)
ESP32_Radio_I2S 1.71.rar (868kb)
pcm5102-ponts-de-soudure-20230317100522.jpg (1583kb)
ESP32_Radio_I2S 1.71.rar (868kb)
Reply

kaerntner53 1 year ago
hi Yves,
slowly we are approaching the problem. No, I don't see any WEB manager and no, I didn't load anything in SPIFF. I haven't found any description about it in the text until now. Do you have a description about this or where can i find one?? I think it would help me and answer some questions. Thanks again for your support.
Best regards
Klaus
slowly we are approaching the problem. No, I don't see any WEB manager and no, I didn't load anything in SPIFF. I haven't found any description about it in the text until now. Do you have a description about this or where can i find one?? I think it would help me and answer some questions. Thanks again for your support.
Best regards
Klaus
Reply

kaerntner53 1 year ago
Hi Yves,
well it works!! Everything!!
But -
I have to comment out the line mentioned in my first post (the remote control works anyway)
and
i have to put my SSID and password in the file "INIT" in the function "initWiFimode()" so that it recognizes my WLAN.
I see the WEB page now also and can also make changes.
Thanks again for your support and
best wishes from South Austria
Klaus
well it works!! Everything!!
But -
I have to comment out the line mentioned in my first post (the remote control works anyway)
and
i have to put my SSID and password in the file "INIT" in the function "initWiFimode()" so that it recognizes my WLAN.
I see the WEB page now also and can also make changes.
Thanks again for your support and
best wishes from South Austria
Klaus
Reply

ybourdon 1 year ago
Happy to hear that Klaus.
Can you tell me wich line you have to uncomment ?
You don't have to put your credentials in initWiFimode().
Instead when you see 192.168.4.1 on the TFT screen:
- Connect with your phone to ESP32-RADIO WiFi
- When you are connected : launch http://192.168.4.1 on your broswer.
- Check First Setup on the web page
- Enter your SSID and PASSWORD and reboot.
Now your credentials are saved in the flash memory and you should connect to your WiFi.
The first Web page should come back until you are connected to your WiFI.
Did you hear some Radios ?
Check informations on the serial port there are many !!!
Regards.
Yves
Can you tell me wich line you have to uncomment ?
You don't have to put your credentials in initWiFimode().
Instead when you see 192.168.4.1 on the TFT screen:
- Connect with your phone to ESP32-RADIO WiFi
- When you are connected : launch http://192.168.4.1 on your broswer.
- Check First Setup on the web page
- Enter your SSID and PASSWORD and reboot.
Now your credentials are saved in the flash memory and you should connect to your WiFi.
The first Web page should come back until you are connected to your WiFI.
Did you hear some Radios ?
Check informations on the serial port there are many !!!
Regards.
Yves
Reply

kaerntner53 1 year ago
Hi Yves,
i uncomment the Line 128 - 130
I use the relase 4.0.0 but tried it out with "Arduino-IRremote-master" with the same effect.
Yes, i her Radiostations and can change it.
Best regard and a nice WE
Klaus
i uncomment the Line 128 - 130
//template<typename T> //struct has_ull_print<T, void_t<decltype(std::declval<T>().print(0ull, 0))>>: std::true_type { //};on the Libraryfile "IRProtocol.hpp"
I use the relase 4.0.0 but tried it out with "Arduino-IRremote-master" with the same effect.
Yes, i her Radiostations and can change it.
Best regard and a nice WE
Klaus
Reply
Show more
1 Attachment(s)
1 Comment(s)

kaerntner53 1 year ago
Hi,
thank you for the fantastic project.
i try to compile the code in Arduino and the compiler breaks with the Message
Any idea what runs wrong??
The "SimpleReceiver" compiles without any problems and works verry well.
Thank you for support
Klaus
thank you for the fantastic project.
i try to compile the code in Arduino and the compiler breaks with the Message
In file included from C:\Users\user\Documents\Arduino\libraries\IRremote-4.0.0\src/IRremote.hpp:290, from Z:\Data\Bauanleitungen\Arduino_Software\ESP Audio Kit\ESP32_WEBRadio\ESP32_Radio_I2S 1.70\ESP32_Radio_I2S\ESP32_Radio_I2S.ino:66: C:\Users\user\Documents\Arduino\libraries\IRremote-4.0.0\src/IRProtocol.hpp:129:74: error: template argument 2 is invalid struct has_ull_print<T, void_t<decltype(std::declval<T>().print(0ull, 0))>>: std::true_type { ^~
Any idea what runs wrong??
The "SimpleReceiver" compiles without any problems and works verry well.
Thank you for support
Klaus
Reply
Show more
0 Comment(s)
Updates from the author
ybourdon 2 years ago
I use Preference library instead of EEPROM library wich should be now forgoten with ESP32 !
Content Director, Elektor 2 years ago
ybourdon 2 years ago
New Web server.
User manual.
Hope you apreciate !
Regards.
Yves
Deltor 2 years ago
Well, it took me ages to detect the differences in these foot-drawn, hand-scanned (w. offset!) schematics called "Schema.pdf" and "Schema 1.1pdf" with that little dirt-spot upon the 'e' - for whatever purpose that may be. ;-)
As I can see you simply added a Schottky-Diode to protect your radio from reverse polarity from your barrel connector.
As you should know power supplies may not be very reliable regarding their output voltage.
So a drop of 0.5 V at your protection diode may be too much for your radio to work properly.
Have you ever thought of a reverse polarity protection as I post here in my attachment RPP.pdf?
You can use the left circuit if you have to rely on your ground potential.
Use the right one if you want less voltage drop over the transistor - N-channel MOSFETs usually have a lower Rds(on).
The MOSFETs I've used here are SMDs from Alpha & Omega Semiconductor (www.aosmd.com) - they are pretty cheap with rather excellent data.
Their data sheets:
https://www.aosmd.com/pdfs/datasheet/AO3400.pdf
https://www.aosmd.com/pdfs/datasheet/AO3401.pdf
You can of course use other MOSFETs if you need THT ones or have other preferences.
Just obey the Rds(on) and Id(max).
Best regards.
Carsten
ybourdon 2 years ago
Thank you for your very interesting comments.
However, I would like to make the following clarifications:
- I don't use 5V in my schematic. In fact the 5V enters directly on an LDO regulator integrated into the Pico D4 module.
This regulator (SGM2205) has a Low Dropout Voltage typique of 450mV at 800mA. This means that the card is correctly powered between 3.8V and 9V (to avoid thermal issues) !
- I am using a 1N5817 Schottky diode which has a Forward voltage drop of only 450mV at 1000mA.
So no worries with the 5V power supply.
Best regards.
Yves
1N5817.pdf (102kb)
Deltor 1 year ago
well, I have to correct you.
The MAXIMUM(!) dropout voltage for the SGM2205 is 850 mV.
https://www.sg-micro.de/uploads/soft/20220629/1656495117.pdf
But the schematics for the Pico Kits
https://dl.espressif.com/dl/schematics/esp32-pico-kit-v4_schematic.pdf
https://dl.espressif.com/dl/schematics/esp32-pico-kit-v4.1_schematic.pdf
tell me that the used LDO v/r is an AMS1117
http://www.advanced-monolithic.com/pdf/ds1117.pdf
which has a dropout voltage of up to 1.3 V.
This means that for guaranteed 3.3 V output voltage its input voltage must be at least 4.6 V.
With a minimum VBUS - as the USB specs tell us - of 4.75 V the voltage drop over your protection diode must be at most 0.15 V which can't be accomplished with a 1N5817 - if you use a USB power supply.
Anyway, when using a 1N5817 your power supply has to provide at least 5.05 V at your barrel connector.
ALWAYS make worst case assumptions!
Kind regards.
Carsten
P.S.: You are using the wrong schematic!
As I can see clearly (by the LDO's case) on your photographs: this is NOT a Pico-Kit-1 but rather a Pico-Kit V4(.1) which indeed uses an AMS1117 as you can also see in the schematics.
See here:
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-pico-kit-1.html
and
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-pico-kit.html