@lolerus - There is no AGC, the circuit is designed to work from a standard 1-1V Peak-to-peak signal such as a standard line-out or mp3 player headphone output.
I saw you website 1 month ago and find a project I liked. It is the RGB VU. I download the source and I am studing it to try to made a version of the TLC5940 library in PCW CCS, because I do not know very much about C18. Maybe I can do this....
About this video, hum...
I can not beleave that a simple PIC can do a FFT with quality like this one.
You coment early that the original ideia was do the FFT in C#. Do you have any materials that can help us in this way?
@zinkws - The C code for this project should be very portable and easy to move to a compiler other than Hitech picc 18. The code was originally developed in C# to make it easy to debug. You simply use the maths library to create a sine wave which can be fed to the FFT routine to test the output. Once it's working you can then move the FFT routine to any compiler you like; although you should be able to port directly between the two PIC compilers without too much trouble.
Nice. Ideas for improvement: Maybe try to do moving average of 3-4 frame or a software lowpass filter for softer bar movements, or using something like Hamming window for the input samples.
@frankbuss - My original prototype had a USB interface allowing the PIC to upload the sampling information to a PC so I could develop the FFT code on the PC (much easier to debug on Visual Studio C#). Using the same technique it should be possible to develop more complex maths, although (unless you wanted to recode in assembler) the update rate would suffer. The demo board has a 'logarithmic' display mode too which results in a less 'lively' display.
@simoninns Using a hardware interface and developing on PC is a good idea. I do this, too, but usually I write a hardware layer and simulate all the hardware on PC, too, so I don't need any hardware. Then just implementing the hardware layer for the target microcontroller and usually it works :-)
BTW: see my latest video for a nice and easy to use OLED.
@ubuntututorials - it is a standard PIC18F4550 with a 20Mhz resonator, no tricks or overclocking. It relies on optimisations which take advantage of the PIC18F's silicon 8x8 multiplication hardware built into the ALU of the processor. It doesn't even have any hand-built assembler, it's all done in C.
Yay FantomenK!
vapgames 1 week ago
Just built a couple of these, fantastic project!! Thanks for taking the time to document it and making it so easy to follow.
energy27uk 3 weeks ago
Nice work! thanks!
wilmar88 5 months ago
Hey,
looks nice do you use a kind of an AGC circuit or anything like that, to be "independent" from the inputsignal value???
greetings
lolerus 11 months ago
@lolerus - There is no AGC, the circuit is designed to work from a standard 1-1V Peak-to-peak signal such as a standard line-out or mp3 player headphone output.
simoninns 11 months ago
Wooww
Nice job simoninns!
I saw you website 1 month ago and find a project I liked. It is the RGB VU. I download the source and I am studing it to try to made a version of the TLC5940 library in PCW CCS, because I do not know very much about C18. Maybe I can do this....
About this video, hum...
I can not beleave that a simple PIC can do a FFT with quality like this one.
You coment early that the original ideia was do the FFT in C#. Do you have any materials that can help us in this way?
Bye
zinkws 1 year ago
@zinkws - The C code for this project should be very portable and easy to move to a compiler other than Hitech picc 18. The code was originally developed in C# to make it easy to debug. You simply use the maths library to create a sine wave which can be fed to the FFT routine to test the output. Once it's working you can then move the FFT routine to any compiler you like; although you should be able to port directly between the two PIC compilers without too much trouble.
simoninns 1 year ago
You did awesome job Simon thanks
can i ask about the name of MP3 music that you used in your demonstration?
abidibrahim 1 year ago
@abidibrahim - It's by FantomenK, you can find the link at the end of the video.
simoninns 1 year ago
Nice. Ideas for improvement: Maybe try to do moving average of 3-4 frame or a software lowpass filter for softer bar movements, or using something like Hamming window for the input samples.
frankbuss 1 year ago
@frankbuss - My original prototype had a USB interface allowing the PIC to upload the sampling information to a PC so I could develop the FFT code on the PC (much easier to debug on Visual Studio C#). Using the same technique it should be possible to develop more complex maths, although (unless you wanted to recode in assembler) the update rate would suffer. The demo board has a 'logarithmic' display mode too which results in a less 'lively' display.
simoninns 1 year ago
@simoninns Using a hardware interface and developing on PC is a good idea. I do this, too, but usually I write a hardware layer and simulate all the hardware on PC, too, so I don't need any hardware. Then just implementing the hardware layer for the target microcontroller and usually it works :-)
BTW: see my latest video for a nice and easy to use OLED.
frankbuss 1 year ago
Great work! The attention to detail in the project and write-up really show.
beeztronics 1 year ago
Very nice.
jeriellsworth 1 year ago
@jeriellsworth - from you... quite an accolade :)
simoninns 1 year ago
I'm going to be boring and ignore the actual project and ask about those screw-looking posts in brass on the PCB. What are those, test points?
treborrrrr 1 year ago
@treborrrrr - Yes they are test points. If you read the project description on my website you will see what they are for :)
simoninns 1 year ago
cool! you do make some very interesting things, Simon!
thewii552 1 year ago
Now that is cool! How can you do an FFT on an 18F PIC? Is it overclocked in any way?
ubuntututorials 1 year ago
@ubuntututorials - it is a standard PIC18F4550 with a 20Mhz resonator, no tricks or overclocking. It relies on optimisations which take advantage of the PIC18F's silicon 8x8 multiplication hardware built into the ALU of the processor. It doesn't even have any hand-built assembler, it's all done in C.
Details will be on my website shortly :)
simoninns 1 year ago