I ended up with a faulty one, after attaching the wifi antenna from an old tablet it works just fine, it was just without the logo and bought in Poland, then I ordered two units with the logo from Aloexpress and they work fine as far as the range is concerned.
@Sharki38 Buy any ESP32-S3. It's a lottery what you will end up with. You can buy one with an antenna output at MSALAMON Link but it's almost 100£. Cheaper is "Chinese" and if there are problems you can add a cable with the old antenna from the router, or if you have a HotAir station you can replace the module with the original with antenna output from TME (I did that). It still works out cheaper than the 100zł.
To assemble the radio at the moment with Evo 3.16 software, you don't really need anything except the PCM module and ESP32. You can start the radio by downloading stations from GitHub, and you can control it via a web page by opening the IP address that the module writes on the terminal during startup.
Added after 2 [hours] 5 [minutes]: .
Update EVO 3.16 .
I've uploaded the update to evo 3.16 on GitHub - Link
- I've improved the encoder definitions - from now on they don't have to be disabled in the code if they are unconnected. We simply do not physically connect them
- I have added options to the Recovery mode (enter by holding encoder 2 down and power on) to enable the WiFi Manager portal.
Connecting to the wifi network: "ESP-radio" and going to 192.168.4.1, under the "Update" tab, we can upload updates without compiling code, running the Arduino. The progress of the update is shown on the OLED display. The bin file needed for the update is on GitHub.
- The web server has been changed and now runs on the async library. When the radio page is turned on, the volume slider, the bank selection buttons with the currently playing bank and the station list appear. Clicking on the selected station or bank button switches the radio to that bank/station respectively. The page has such a narrow "bar" character because its main role is to open correctly on the phone. This allows you to control the radio from around the house.
- For those who build their own memory banks, there is an option to quickly check a given stream address on the radio itself.
In your browser, type in: http://ADRES IP RADIO/update?url=STATION STREAM ADDRESS
In my case, when the radio got the IP 192.168.1.182, opening the address: http://192.168.1.182/update?url=http://s0.radiohost.pl:8018/stream will switch to the stream address of the Italo4You radio, the bank will take the value 0, the station 00.
The new web server and encoder configuration allows you to build the radio with just the ESP module and the PCM decoder. You can control it with your phone. Of course, without an SD card apart from the station, bank and volume no configuration will be kept and the banks with station list will always be downloaded from the GitHub server but this gives you the opportunity to test and play around.
Probably, there are still a lot of shortcomings but I count on your tests .
This is what the new radio page looks like on the phone:
.
Recovery mode during OTA update via WiFi manager web page:
.
That is, you have to swap the order of the functions in the main.cpp file or ino. I haven't checked this on Platformio yet. I'll check and upload an update.
Added after 17 [minutes]: .
Corrected, I put the main.cpp and ini file into a separate directory. Checked it compiles correctly.
Async 3.6.0 (it's in the ini file on GitHub)
Async TCP 3.3.2
also compiles correctly with the following versions:
Ok, it works.
On a suggestion, currently there is no option to disable auto dimming, if this is gone, is there still a point to the full brightness - 1/16th brightness button? If this possibility returns then I guess there is no point in keeping this button anyway? This is just my suggestion, but perhaps you are planning some more changes in this direction.
Thanks, I've made myself turn auto dimming off and on under the red key for now and saving the value to a file on the SD card, but I'm waiting to see what interesting things you come up with .
Radio interface a big plus.
>>21487142 I have only seen I don't have such pins on the display how would you help me and describe what pin where to solder thank you very much in advance
If you have an image on the display then you are well connected, unless you are more concerned with touch? The pins pretty much coincide in name with those on the schematic, I have such a display myself, only that it is 2.8 inches.
For the touch you have to ADDITIONALLY connect the pins TP_DIN with TFT_SCK and TP_CLK with TFT_SCK.
Hello first impressions of the 3.16 soft.
No artefacts on the display
Good time display.
Well, and one problem it doesn't save the volume I turn off on say 5 and it always starts up with 3 I don't have the encoders connected and I didn't declare the DT and CLK pins to -1 in the software but I read earlier that my colleague Robgold corrected this programmatically.
Tomorrow I'll hook up the serial monitor via the Arduino IDE for half a day and see if anything happens there.
@DJCheester Saving the volume to the SD card or EEPROM is only done when the adjustment menu (volume bar) itself disappears after about 4 sec. If you go back with the "back" button the function will not save anything. You can see the following information in the terminal when writing. Check, maybe there is a problem with the card reader.
The radio works under serial monitor, without encoders - I didn't change anything in the software declaration after uploading it actually stores the value on the SD card but after restarting it goes down two points - below serial monitor from two runs.
Code: Text
Log in, to see the code
.
When I declared the DT and CLK encoders at "-1" SW I left it as it was
The problem does not occur so clearly something still missing encoder is affecting this dimming.
I did a simple test at my place, changed the volume value, waited for information on the terminal about writing. I cut the power and the reading is correct. I did the same thing without turning off the power and doing a reset - the reading is also correct. I used the same values of 1 and 3 for the test. Declaring the encoders to -1 will "spill" errors on the "debug" terminal because it means declaring a value of 255.
Tell me how you check what level is written and what is read ? Only on the terminal ? You don't happen to have the radio's website open somewhere during this test ?
Change everything back to the correct values of the encoder declarations, and finger-pick the pins from the encoder that is unconnected. NOTHING should change. With the wrong declaration, connecting away you will see that the module changes the volume on the display.
I haven't opened the radio page yet. I'll see tomorrow as you write but as for me debug on the terminal doesn't bother me at all. But I will check tomorrow what you provide.
As you looked on the log after start up immediately there is a volume change of 4 then 3 one under the other entry after that it is fine and I checked that if I give 10 volume and turn off it fires up with a value of 8 after 6 again so clearly some two pulses are going.
And you don't have those capacitors and resistors on your PCB soldered there ? I suspect that you have 33nF soldered in lines A and B of the encoder and when they are "empty" they make a short circuit to GND on us which causes an impulse as if the encoder wanted to turn down the radio. when they are charged after a fraction of a second this problem no longer exists.
I don't have any resistors, I only have capacitors to ground from the CLK and DT pins, do you think they generate something at the start because afterwards they don't just start ?
Yes, they should be on the encoder PCB. I left a place for them on my PCB just in case I use the encoder itself, but correctly they should be as close as possible to the place where the "pins" are created, i.e. at the encoder itself. If you unplug the encoder then these lines are unconnected. The only thing that may remain is a 100nF capacitor between 3.3V and GND for the encoder power supply line.
I'll upload a slight "tuning" today for Evo 3.16 on GitHub
I've done the detection on what we open the page on, and for the computer it generates 4 tables to be able to select stations and bank faster without scrolling. For full HD monitors this fits on one screen. In addition, upload the contents of the "SD content" directory to your SD card. There are two icon images there. This way, the radio now has a radio icon in the browser. In addition, making a shortcut in Android or Apple will get the radio icon on the screen.
I would like to remind you that it is not necessary to compile the ino file. If you already have 3.16, you can do an OTA update in "Recovery" mode.
@robgold I uploaded the last update, I found one bug. After changing the bank, either after reading from the SD card or after updating the list from the github server, the radio stays on the station from the previous bank only that the name disappears, only changing the station refreshes the bank.
Additionally, when a bank has less than 99 stations, an additional station is added to the end of the bank in the radio interface, even though it is not on the github list.
The discussion revolves around building an internet radio and audio file player using the ESP32-S3 microcontroller. The project includes features such as an OLED display, Wi-Fi connectivity, and audio playback capabilities. Users share their experiences with hardware setup, including issues with pin configurations, library compatibility, and troubleshooting compilation errors in the Arduino IDE. Suggestions for libraries, such as ESP32-audioI2S and WiFiManager, are provided to enhance functionality. Participants also discuss the importance of proper wiring, capacitor usage for encoders, and the potential for adding features like DLNA support and a web management interface for radio station management. Several users report on their progress, share code snippets, and offer solutions to common problems encountered during development. Summary generated by the language model.