Bluetooth speaker and spectrum analyzer on an esp32 and Arduino IDE (PPK - ResuRection)

Поділитися
Вставка
  • Опубліковано 19 жов 2024

КОМЕНТАРІ • 61

  • @MotorvateDIY
    @MotorvateDIY 2 роки тому +8

    LOVE the product and (weirdly for an old guy) LOVE the music... it really shows off the responsiveness and frequency selection.

    • @penttiparnanen6028
      @penttiparnanen6028 2 роки тому +2

      This is weird old guy's music, it's a absolute classic while a bit too mainstream for me back then. And the product itself is great :)

    • @acidangel162
      @acidangel162  2 роки тому +2

      Thanks :)
      My goal was to push the little microcontroller and math to it's limits.

  • @samm928
    @samm928 Рік тому +1

    Cool stuff .. On mine I designed a scalable LED display panel 20 leds per segment x 21 segments .. that makes it kinda modular, also a backplane ( top and bottom rails) ..

  • @timmyfingaz100
    @timmyfingaz100 Рік тому +2

    Without a doubt the best micro controller graphic eq i've seen so far on here!!! Salute!!

    • @acidangel162
      @acidangel162  Рік тому +1

      Thank you ever so much 😊
      I have a 112 x 32 pixel version coming up. It will have roughly four times the pixels and 115 fps. I've done some modifications to the led library and would love to show it off. I'm just a tad slow on making physical objects. I really love programming and optimizing my math and algorithms. Building something physical on the other hand is very tedious.

    • @timmyfingaz100
      @timmyfingaz100 Рік тому +1

      @@acidangel162 I like hacking up code, you think I could get this working on a 128x160 rgb tft or would the code be to hard to change? I had a quick look but I am kinda noob again, haven't done any audrino stuff since audrino micro controllers where popular lol

    • @acidangel162
      @acidangel162  Рік тому

      @@timmyfingaz100
      Probably. I don't have a tft screen. Could you give me an aliexpress link to what you have in mind.
      I'm constraint by ram. Perhaps I could do it with esp32-wroom that has 4 MB of slower psram on top of the 512 KB of fast ram.

  • @lezbriddon
    @lezbriddon 2 роки тому +1

    Wow, that's really fast and responsive

    • @acidangel162
      @acidangel162  2 роки тому +6

      Thanks :)
      I put a lot of effort into the algorithm. All the other products on the market are slow and not precise. I want to know what frequencies are playing right now and not a seconds ago. I could make the frequencies fall down slowly but why would I. If someone wants me to include that setting, I can do that.

  • @davezhong8613
    @davezhong8613 2 роки тому +2

    really love your project.can you kindly tell me where can i find the "FFT.h"?

  • @merwynvincent
    @merwynvincent 2 роки тому +1

    Thanks man so nice of you to make us open source.
    Been waiting for a similar design for long time.
    Just share a rough schematic of connection diagram too.

    • @acidangel162
      @acidangel162  2 роки тому

      The connections are trivial. Just connect the dac to your esp32 on the any pins you define. The led strips are connected to pins next to one another. You can see all the cables in the video. There is are no complicated circuitry. It's all done in software. I just slapped four led panels on a piece of cardboard I got from the store for free.

    • @merwynvincent
      @merwynvincent 2 роки тому

      @@acidangel162 I figured everything now. I wanted to design a pcb for the 2020 neo pixel led. Wanted to make sure how the data flow(physical connection)runs from one band to the next.
      From googling I found the 16 leds in one band goes from bottom to top and the jumps to the bottom led of the next band.
      Is that right?

    • @acidangel162
      @acidangel162  2 роки тому

      This is the strip I used. The signal snakes from one led to the closest one. I fix this in software. I've actually made some changes to Yves Bazin's library so that I can treat the pixels in just a 2D array. The translation is done in software while writing the leds.
      What is a 2020 neopixel? These are 5050. I didn't know they had such miniature pixels. Are they cheap? Can you give me a link to them?
      a.aliexpress.com/_mrUzrLe

    • @merwynvincent
      @merwynvincent 2 роки тому +1

      @@acidangel162 I was not able to reply to this comment for long time…

  • @ronopotomusjones2516
    @ronopotomusjones2516 2 роки тому

    That's awesome

  • @johnvillanueva1980
    @johnvillanueva1980 2 роки тому

    Ohhh sheiiiiiite... this is good 😎 70fps?? 😱 schweeeeeeeeet 😁

    • @acidangel162
      @acidangel162  2 роки тому

      I optimized the code a little bit more. I got it to 115 fps.
      I'm making a 112 cm x 32 cm version next week. One pixel is 1 cm x 1 cm so it will be 112 x 32 pixels. I'm hoping to get two channels analyzed at around 100 fps.
      I'm going to work on sprites and pixel art after that for the background.

  • @odissey2
    @odissey2 Рік тому +1

    Is this a log / log scale or linear? It seems that the frequency is in the log scale, and amplitude is linear.

    • @acidangel162
      @acidangel162  Рік тому +1

      Both frequency and amplitude are in logarithmic scale. Frequencies go from 20 Hz to 18. 5 kHz. The dynamic range of the audio power is 50 dB. That's the same dynamic range the vinyl records have so it's plenty.
      You can actually make a smaller version of this for 10 € with this tutorial I made. You can check out the scale for yourself.
      github.com/yliniemi/AcidAnalyzerOLED

  • @romeorakow2977
    @romeorakow2977 Рік тому

    Geile Mucke! 😀

  • @LulaksHD
    @LulaksHD Рік тому

    I gotta try implementing this on my 32wx16h array of LEDs with an inmp441, any tipps i could need before starting my project? Thanks in advance

    • @acidangel162
      @acidangel162  Рік тому

      I just checked the sound quality of INMP441 on this youtube video and it seems acceptable
      ua-cam.com/video/3g7l5bm7fZ8/v-deo.html
      And horrible in this one.
      ua-cam.com/video/qq2FRv0lCPw/v-deo.html
      I do have these little microphones and could make a version with them. The reason I didn't use them was because the audio quality isn't anywhere near as good as the digital goodness that we can get with Bluetooth.

  • @PehemiäPaketti
    @PehemiäPaketti 2 роки тому

  • @generic-beat-detectorgbd558
    @generic-beat-detectorgbd558 2 роки тому

    Are you using any particular library/platform for the LED animation? WS2812FX? NeoPixelBus?

    • @acidangel162
      @acidangel162  2 роки тому

      I use one library to get the Bluetooth audio signal and another library to blink the lights. I wrote like a 1000 lines of custom code to analyze the audio and draw the leds according to that.
      The libraries I used are listed in my GitHub repository.

    • @generic-beat-detectorgbd558
      @generic-beat-detectorgbd558 2 роки тому

      @@acidangel162 Interesting. I was having issues getting a working set up for ESP32 processor affinity and different FreeRTOS scheduling priorities for the separate tasks (the ESP32-A2DP thread, WS2812FX/NEOPIXELS thread, an ArduinoJSON messaging function and the custom beat detection task). I thought it was something to do with low-level I2S/DMA conflicts by some of the modules or something. It turned out to be an issue with the watchdog and using the delay() function depending on priority levels of the task and particular core it was running on.

  • @qzorn4440
    @qzorn4440 Рік тому

    wow with this detailed video I will make one also? 🧐 thanks.

    • @acidangel162
      @acidangel162  Рік тому +1

      Don't make this one. Make my current one. It's 112 cm x 32 cm and 128 fps. So four times the pixels and twice the fps. I've filmed the video but I haven't edited it yet.

    • @qzorn4440
      @qzorn4440 Рік тому

      @@acidangel162 thank you , I will check it out.

  • @juergenschimmer960
    @juergenschimmer960 2 роки тому +1

    Impressive. Would You please give us the Sourcecode ?

  • @carlosfernandes3593
    @carlosfernandes3593 11 місяців тому +1

    Is this available

    • @acidangel162
      @acidangel162  11 місяців тому

      Do you mean is it available commercially? It is not. It's my own algorithm crafted with love with these delecate programmer's hands.
      The current version has 7 times more pixels. There isn't a tutorial... yet. But two other people have made this screen with my assistance. There will be a tutorial some day after I have iterated on it's construction just a little bit more.

  • @mohammadmujahed2724
    @mohammadmujahed2724 Рік тому

    would you post a tutorial how to make this?

    • @acidangel162
      @acidangel162  Рік тому

      Maybe in a few months. I have a new version in the works that has four times the pixel count and twice the speed. Just check out my more recent videos.

    • @mohammadmujahed2724
      @mohammadmujahed2724 Рік тому +1

      @@acidangel162 already seen them all...
      Nice peice of art excellent job

  • @mohammadmujahed2724
    @mohammadmujahed2724 Рік тому

    is this possible on MAX7219 ??

    • @acidangel162
      @acidangel162  Рік тому +1

      Sure! Why not? It's just a different type of screen.

    • @mohammadmujahed2724
      @mohammadmujahed2724 Рік тому

      @@acidangel162 i saw this but your code does not apply on this setup

    • @mohammadmujahed2724
      @mohammadmujahed2724 Рік тому

      ua-cam.com/video/GF_i0EnUEro/v-deo.html

    • @acidangel162
      @acidangel162  Рік тому

      @@mohammadmujahed2724 Of cource not. If you change the screen you have to change the funtion that takes the frequency bands and draws them on the screen.
      How tall and how wide is your screen?

    • @mohammadmujahed2724
      @mohammadmujahed2724 Рік тому

      @@acidangel162 32*8

  • @AMatroskin
    @AMatroskin 2 роки тому

    Can you give your sketch?

    • @acidangel162
      @acidangel162  2 роки тому +1

      Yes I can. I have open sourced everything except this one because this project is four times faster and five times mora accurate than any other spectrum analyzer based on a microcontroller. It had commercial potential. But why not make the world a better place instead of making a few bucks.

    • @AMatroskin
      @AMatroskin 2 роки тому +1

      @@acidangel162 yes, i see it really fast then other devices. so, if you could make some money from this, it is will be cool. good luck!

    • @acidangel162
      @acidangel162  2 роки тому +5

      I just reread my reply. The most important part was missing. I decided yesterday to make all my projects open source including this one. I have to include installation instructions and make sure my code compiles just fine and then I can release this on GitHub.

    • @АлександрКозлов-ы5я3щ
      @АлександрКозлов-ы5я3щ 2 роки тому

      @@acidangel162 cool! waiting for it, now i am thinking about my project graphic analyzer on VFD display.

    • @juliodemedeiros
      @juliodemedeiros 2 роки тому

      @@acidangel162 Thank you , love you man. very good work

  • @bunbunkip
    @bunbunkip 2 роки тому

    woust

  • @bunnykiller
    @bunnykiller Рік тому +1

    100% flash 0% education

    • @acidangel162
      @acidangel162  Рік тому

      Thanks 🤗
      100% flash. That's a lot. I would have been happy with 60% flash.
      What should I do to educate? Release the source code with agpl 3.0 lisence? Include an svg file for laser cutting the frame? What else? Create a pcb to be cut by a cnc router? More? A tutorial video of how to glue the panels to the plywood?

    • @bunnykiller
      @bunnykiller Рік тому +1

      @@acidangel162 to start with some schematics/wiring would be good, the rest is left up to the builders preferences...

    • @acidangel162
      @acidangel162  Рік тому

      @@bunnykiller
      Thanks. I'll do that.
      What program should I use to draw the schematics? Preferably something open source since I'm poor.
      To be honest. I've never drawn any schematics. I've always just built the circuit.

    • @bunnykiller
      @bunnykiller Рік тому +1

      @@acidangel162 well then repost the schematics you used to build it... or add a link...

    • @acidangel162
      @acidangel162  Рік тому +1

      I can't repost something that I've never had? The schematics don't exist and have never existed. I just made the circuit based on an image in my head.
      Would a picture of the circuit be sufficient? Perhaps you can help me draw a circuit diagram based on that.