This shows you the differences between two versions of the page.
|
pm:prj2026:vlad.radulescu2901:andrei.giurgiu0801 [2026/05/24 12:40] andrei.giurgiu0801 [Results] |
pm:prj2026:vlad.radulescu2901:andrei.giurgiu0801 [2026/05/24 20:44] (current) andrei.giurgiu0801 [Resources] |
||
|---|---|---|---|
| Line 158: | Line 158: | ||
| * Before the lab for the software milestone, I implemented a demo synchronization between the speaker and the LCD on a single song. The UI was tested only by myself, with the synchronization being validated by the laboratory assisted. | * Before the lab for the software milestone, I implemented a demo synchronization between the speaker and the LCD on a single song. The UI was tested only by myself, with the synchronization being validated by the laboratory assisted. | ||
| * I tested the UI, by keeping the buttons pressed for a very long time, pressing them in fast succesion. Also, the pause/resume button was tested in the same way and the volume regulator played a big role to see if the speaker behaved correctly at both low and high volume. | * I tested the UI, by keeping the buttons pressed for a very long time, pressing them in fast succesion. Also, the pause/resume button was tested in the same way and the volume regulator played a big role to see if the speaker behaved correctly at both low and high volume. | ||
| - | ===== Concluzii ===== | + | ===== Optimizations and elements of originality ===== |
| - | **To be determined after Software Milestone.** | + | * This project doesn't rely on dynamic memory allocations, using only stack allocated char arrays instead of String objects for the text processing. This stops fragmentation of the RAM memory and brings stability to the system. |
| + | * The functionality separation two different cores, means that the main players of this architecture won't fight for resources, eliminating glitches in the music stream. | ||
| + | * Using FreeRTOS timers as high-precision synchronization mechanisms. | ||
| + | |||
| + | |||
| + | |||
| + | ===== Conclusions ===== | ||
| + | |||
| + | * This project was a really fun experience, where I experimented with many new concepts, like Real Time Operating Systems and audio processing API's for embedding systems. | ||
| + | * Also learning how to solder is a really valuable skill that I will definitely use in the future. | ||
| ===== Download ===== | ===== Download ===== | ||
| Line 173: | Line 182: | ||
| * 16.05.2026: Add simple demo. | * 16.05.2026: Add simple demo. | ||
| * 23.05.2026: 90% of software implementation ready. | * 23.05.2026: 90% of software implementation ready. | ||
| - | + | * 24.05.2026: Fine tuned the implementation. | |
| Line 181: | Line 189: | ||
| {{ pm:prj2026:vlad.radulescu2901:circuit.jpg?500 | Physical circuit }} | {{ pm:prj2026:vlad.radulescu2901:circuit.jpg?500 | Physical circuit }} | ||
| - | {{https://drive.google.com/file/d/1OYpMS8L2arQ9ElOX3gjKkMVgnoy5mhVk/view?usp=sharing | Demo video}} | + | <html> <a href="https://drive.google.com/file/d/1OYpMS8L2arQ9ElOX3gjKkMVgnoy5mhVk/view?usp=sharing"> Demo video </a> </html> |
| I did a small demo, where I just played the audio to see if the ESP32 can read the microSD card and if the speaker works. Also, in the video, you can see that the I2C module is connected and gets the text from the ESP32 that says "SD card mounted successfully". | I did a small demo, where I just played the audio to see if the ESP32 can read the microSD card and if the speaker works. Also, in the video, you can see that the I2C module is connected and gets the text from the ESP32 that says "SD card mounted successfully". | ||
| + | |||
| + | Below, you can see the final version of the project demo: | ||
| + | |||
| + | <html> <a href="https://drive.google.com/file/d/1ybvt2zewgrId33BIKKeVnXzge2cTux3o/view?usp=sharing"> Final demo </a> </html> | ||
| ===== Resources ===== | ===== Resources ===== | ||
| Line 197: | Line 209: | ||
| | MB102 Power supply module| <html> <a href="https://www.handsontec.com/dataspecs/mb102-ps.pdf"> Datasheet MB102 </a></html> | | | MB102 Power supply module| <html> <a href="https://www.handsontec.com/dataspecs/mb102-ps.pdf"> Datasheet MB102 </a></html> | | ||
| | MicroSDHC reader module| <html> <a href="https://components101.com/sites/default/files/component_datasheet/Micro-SD-Card-Module-Datasheet.pdf"> Datasheet MicroSDHC </a></html>| | | MicroSDHC reader module| <html> <a href="https://components101.com/sites/default/files/component_datasheet/Micro-SD-Card-Module-Datasheet.pdf"> Datasheet MicroSDHC </a></html>| | ||
| + | |||
| + | FreeRTOS documentation <html><a href="https://www.freertos.org/Documentation/00-Overview"> (link here) </a></html>. | ||
| + | |||
| + | AudioI2S documentation <html><a href="https://registry.platformio.org/libraries/esphome/ESP32-audioI2S"> (link here) </a></html>. | ||
| + | |||
| <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||