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) ..
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.
@@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
@@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.
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.
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.
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.
@@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?
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
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.
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
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.
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.
@@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.
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.
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.
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 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?
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.
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.
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 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.
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.
LOVE the product and (weirdly for an old guy) LOVE the music... it really shows off the responsiveness and frequency selection.
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 :)
Thanks :)
My goal was to push the little microcontroller and math to it's limits.
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) ..
Without a doubt the best micro controller graphic eq i've seen so far on here!!! Salute!!
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.
@@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
@@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.
Wow, that's really fast and responsive
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.
really love your project.can you kindly tell me where can i find the "FFT.h"?
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.
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.
@@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?
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
@@acidangel162 I was not able to reply to this comment for long time…
That's awesome
Ohhh sheiiiiiite... this is good 😎 70fps?? 😱 schweeeeeeeeet 😁
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.
Is this a log / log scale or linear? It seems that the frequency is in the log scale, and amplitude is linear.
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
Geile Mucke! 😀
Thanks! Old classic.
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
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.
Are you using any particular library/platform for the LED animation? WS2812FX? NeoPixelBus?
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.
@@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.
wow with this detailed video I will make one also? 🧐 thanks.
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.
@@acidangel162 thank you , I will check it out.
Impressive. Would You please give us the Sourcecode ?
that wold be very nice
Is this available
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.
would you post a tutorial how to make this?
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.
@@acidangel162 already seen them all...
Nice peice of art excellent job
is this possible on MAX7219 ??
Sure! Why not? It's just a different type of screen.
@@acidangel162 i saw this but your code does not apply on this setup
ua-cam.com/video/GF_i0EnUEro/v-deo.html
@@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?
@@acidangel162 32*8
Can you give your sketch?
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.
@@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!
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.
@@acidangel162 cool! waiting for it, now i am thinking about my project graphic analyzer on VFD display.
@@acidangel162 Thank you , love you man. very good work
woust
100% flash 0% education
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?
@@acidangel162 to start with some schematics/wiring would be good, the rest is left up to the builders preferences...
@@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.
@@acidangel162 well then repost the schematics you used to build it... or add a link...
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.