|
arduino IDEArduino
|
Twin display pixelled Audio Analyzer
Introduction
This Spectrum Analyzer project is nothing other than amazing. It includes a Teensy microcontroller board that drives 2 displays simultaneously at a very high speed.
With it's onboard audio chip, it is capable of doing a frequency analysis of the Audio in realtime to create a Stereo spectrum analyzer of 69 Channels.
Yep you understood me correctly! 69 channels in stereo…so that’s actually 138 frequency bins. On top of that, we will be displaying a stereo VU meter on the second display. So more or less we are really dealing with 140 channels.
But there is more: It can drive up to 3 pixel led matrixes at the same time.. so that adds another 768 LEDS
Best of all: It's open source!
What do you need?
PCB with all components
But it at my tindy store, all you need to add is displays, a fuse and a teensy controller 4.1 : BUY PCB HERE
Of course, you can just download the gerbers from this project and order it directly from PCBWAY!
Two Displays type: ILI9341 this is the 2.8" version. You can also use the 3.2" version
Teensy 4.1 microcontroller Board
External Ram for the Teensy ( you need to solder that on to the teensy board)
Fuse 2AT TR5 if you are using the onboard PSU ( you can use USB on teensy instead )
Some headers or connectors to connect the wires, or solder directly onto to board.
Headers
Sockets
One electret microphone if you'r using mic input
Three push buttons to operate ( Two if you're not using the pixelled matrix )
Three Potmeters, I use 10K versions ( only needed when you add the pixelled matrix)
Special Teensy 4.1
You need to use a Teensy 4.1 with added ram. This means you have to buy a ram chip and add it on to the Teensy Board.
Without this external Ram , it will not work.
Connecting a few wires
Since most components are directly connected to the pcb, the number of needed wires are kept to a minimum
You can look at the schematic for details, however in short, it comes down to this:
Potmeters ( brightness, peak delay, input gain) only if you are using a led matrix wil go to connectors CN5,CN6 and CN9. Connect the center of each potmeter to the center pin of the connector. connect the other 2 pins of the potmeter to the remaining pins of each connector. If your potmeter is reacting CCW instead of CW, or vise versa, simply swop the outer two pins of that potmeter.
Switches:
switch 1: CN2
Switch 2: CN4
Switch 3: CN9 pins labeled (- and s )
Microphone goes to connector CN11
Line in goes to connector CN3; the two outher pins are ground and the two inner pins are channel L and R
Power in goed to U1, pay attention to the markings on the board: + and - use 8-12VDC
Ledmatrix ( I used 3 matrixes in series. each matrix has 16 x 16 leds ) Connector CN10, look at the markings on the pcb to see the +,- and L ( L = data line )
Just a few more components to finish this amazing build
There are only a few components you need to add.
There is the Teensy Module with the added extra RAM
Two Displays. Take note that the displays are mounted on the bottom side of the PCB
A fuse of 2A if you are planning to use the onboard powersupply. If you are using the Teensy USB connector, you don't have to add that fuse.
You have to add some headers and sockets to install the displays and the Teensy. I wouldn'r recommend to leave those out. At some point, you might want to change some of those components and soldering those directly to the board will make that hard.
Adding the matrix
I used a matrix of pixelleds that you can buy pre-assembled.
The one i used is this: 16 x 16 matrix I put three of those in series.
You could use other matrixes as well, even ledstrips could work but you wil have to adjust the firmware of this project.
Also, if you are using different kind of matrix, leds or ledstrip, you might have to change those settings in the firmware as well:
Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(kMatrixWidth, kMatrixHeight, LED_PIN,
NEO_MATRIX_BOTTOM + NEO_MATRIX_RIGHT +
NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG,
NEO_GRB + NEO_KHZ800);
Adding the Teensy Board plugin to Arduino
I used Arduino IDE with Teesyduino:
Arduino IDE 1.8.15
Teensyduino, Version 1.54
You can download ARduino here: https://www.arduino.cc/en/software
Click here for a tutorial about installing Arduino
Make sure you use the Arduino IDE and not the windows app ( incompatible with the Teensyduino )
You can download Teensyduino here: Download TeensyDuino
Click here for a tutorial about installing TeensyDuino
Adding the libraries
I did a succesful compilation using the following library versions:
Using library Wire at version 1.0
Using library Audio at version 1.3
Using library SPI at version 1.0
Using library SD at version 2.0.0
Using library SdFat at version 2.1.0
Using library SerialFlash at version 0.5
Using library ILI9341_T4-main at version 0.1
Using library tgx-main at version 0.5
Using library EEPROM at version 2.0
Using library OneButton at version 2.0.4
Using library IRremote at version 3.6.1
Using library TeensyID-main at version 1.3.3
Using library ILI9488_t3 at version 1.0
Using library Adafruit_NeoMatrix at version 1.2.0
Using library Adafruit_NeoPixel at version 1.7.0
Some of the mentioned library are part of the Arduino and/or Teensy framework but others need installing:
TGX - a tiny/teensy graphics library: <https://github.com/vindar/tgx>
Arduino OneButton Library: <https://github.com/mathertel/OneButton> (install via the Arduino library manager)
IRremote Arduino Library: <https://github.com/Arduino-IRremote/Arduino-IRremote>
TeensyID: https://github.com/sstaub/TeensyID
Optimized ILI9341 screen driver library for Teensy 4/4.1, <https://github.com/vindar/ILI9341_T4>
Programming
You need to download the sketch from this project, you can find the link below.
Best way to proceed is to copy all the files to a new folder.
It is important that all files stay together so if your Arduino want to rename the folder after opening, fine,,but make sure you copy all the other files to that folder. If you don't, compiling will give you error's like "not found"..
Compile and upload the sketch.
In case the upload to the Teensy will not start, you can press the button on the Teensy to help you.
Show and Tell
Well, I have many photo's to show but I will start with a video that says it all:
Twin display pixelled Audio Analyzer
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(4)
- Likes(3)
- Engineer Sep 29,2024
- propgm Feb 29,2024
- Mitko Petrovik Feb 11,2024
- 1 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
-
9design
-
8usability
-
7creativity
-
6content
More by Mark Donners
- Fast Audio Spectrum Analyzer This design is nothing if not amazing! Imagine 3500 Colored LEDS dancing around to the music at a ve...
- Classic Analog Spectrum Analyzer for Your Desktop This is a spectrum analyzer that visualizes 10 audio frequency bands. Although it might look like ju...
- Gerber_Logo_PCB_Logo_2024-05-15 This is a youtube subscriber counter with audio playback and it has a dot matric spectrum analyzer w...
- Twin display pixelled Audio Analyzer IntroductionThis Spectrum Analyzer project is nothing other than amazing. It includes a Teensy micro...
- SPECTRUM ANALYZER WITH STEAMPUNK NIXIE LOOK This is my version of a NIXIE tube lookalike Spectrum AnalyzerI created my own tubes using testtubes...
- Gerber_PCB_BatDetector This is the PCB that goes with a video that will be published on the element 14 presents community
- Outdated do not use Outdated do not useOutdated do not useNew version will be available in 6th pcb contest
- Talking CR Timer The StoryImagine working at the office from nine to five punching numbers in a computer the whole da...
- Stereo Flyback Driver This is my design of a stereo flyback driver. (ZVS) You can drive 2 flyback transformers to create a...
- Russian Slayer Exciter PCB This is my take on the Russian Slayer Exciter. The slayer exciter is an easy to build Tesla coil. A ...
-
-
-
kmMiniSchield MIDI I/O - IN/OUT/THROUGH MIDI extension for kmMidiMini
116 0 0 -
DIY Laser Power Meter with Arduino
165 0 2 -
-
-
Box & Bolt, 3D Printed Cardboard Crafting Tools
156 0 2 -
-
A DIY Soldering Station Perfect for Learning (Floppy Soldering Station 3.0)
569 0 3