|
|
GP1287 VFD display 256x50 |
x 1 | |
|
|
Arduino Nano R3 |
x 1 | |
|
|
2x10k Potentiometer |
x 1 | |
|
|
1N4007 – High Voltage, High Current Rated Diode |
x 2 | |
|
|
Capacitor 10 µF |
x 2 | |
|
|
Resistor 4.7k ohm |
x 2 | |
|
|
Resistor 47k ohm |
x 2 |
|
arduino IDEArduino
|
|
|
Soldering Iron Kit |
Arduino Bar graph Stereo VU meter on VFD display GP1287
A VU meter, also known as a Volume Unit meter, is a device used to display the audio signal level in decibels (dB) in real-time. It is commonly found on audio equipment to help users monitor and control audio levels. Some time ago, in one of my previous videos , I presented to you Analog style retro look VU meter on VFD display.

This time, I will also describe a way to make a VU meter on the VFD Display, but this time in the form of a Bar Graph. A bar graph VU (Volume Unit) meter is a type of audio level meter that represents the intensity of an audio signal using a series of bars. These bars visually indicate the amplitude or volume of the audio signal across a range.
In this meter, each bar corresponds to a particular volume level or decibel level. In this case, unlike the previous project, the response of the Vu meter in relation to the input signal is instantaneous (instantejnius). The display is again of the GP1287 type with a resolution of 256 by 50 points, and it can be obtained at a relatively cheap price.

The device is extremely simple to build and contains only a few components
- Arduino Nano Microcontroller
- GP1287 VFD Display
- 10K stereo potentiometer,
- Four resistors,
- and two capacitors and diodes

On the occasion of the upcoming Christmas and New Year holiydays visit the Wpsload Christmas Big Sales where you will found discounts of up to 50%, as well as many other prizes and benefits. PCBway is one of the most experienced PCB manufacturing company in China in field of PCB prototype and fabrication. They provide completed PCB assembly service with worldwide free shipping , and ISO9001 quality control system. Also, on their site there is an online gerber viewer where you can upload your gerber and drill files to render your board.
The signal from both audio channels (left and right) is brought to the analog inputs of the Arduino microcontroller. After that comes a circuit called "Enveope Follower" with a filter.

As for the code, I took the idea from a similar OLED VU meter project, but it used the Adafruit_GFX library, which is not compatible with VFD displays, so I created a new code with the U8G2 library, which has support for this type of display. The sensitivity of the VU meter can be controlled with the potentiometer mounted on the back of the device.

Due to the relatively high consumption of the display, it is preferable to power it through the power connector of the display itself, which is shown in the picture.

The device is installed in a suitable box made of PVC material with a thickness of 5 mm and covered with colored self-adhesive wallpaper.

#include <U8g2lib.h>
#include <SPI.h>
U8G2_GP1287AI_256X50_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8);
int an_izm_r , an_izm_l ;
int ur_l , urr_l , ur_r , urr_r ;
void setup(void) {
u8g2.begin();
u8g2.setContrast(15);
u8g2.enableUTF8Print();
u8g2.setFont(u8g2_font_7x14B_tf);
analogReference(INTERNAL);
pinMode(A0,INPUT);
pinMode(A2,INPUT);
}
void loop ( ) {
an_izm_r = analogRead ( A0 ) ;
an_izm_l = analogRead ( A2 ) ;
urr_l = an_izm_l ;
urr_r = an_izm_r ;
if ( urr_l < ur_l ) { ur_l = ur_l - 15 ; } else { ur_l = an_izm_l ; }
if ( urr_r < ur_r ) { ur_r = ur_r - 15 ; } else { ur_r = an_izm_r ; }
testfillrect ( ) ;
}
void testfillrect ( void ) {
u8g2.firstPage();
do {
u8g2.drawFrame(0,0,256,50);
u8g2.drawRFrame(2,2,252,46,3);
u8g2.drawFrame(5,18,170,14);
u8g2.setCursor(16, 30); u8g2.print(F("-20"));
u8g2.setCursor(77, 30); u8g2.print(F("-10"));
u8g2.setCursor(140, 30); u8g2.print(F("-3"));
u8g2.setCursor(8, 16); u8g2.print(F("R"));
//u8g2.drawFrame(5,4,10,14);
u8g2.setCursor(8, 44); u8g2.print(F("L"));
//u8g2.drawFrame(5,32,10,14);
u8g2.drawBox(18,5,4,11);
u8g2.drawBox(18,34,4,11);
u8g2.setFontMode(1);
u8g2.drawBox(175,18,76,14);
u8g2.setDrawColor(2);
u8g2.drawStr(182, 30, "0");
u8g2.drawStr(210, 30, "+3 db");
u8g2.setColorIndex(1);
for ( int i = 20 ; i <= ur_r ; i += 4 ) {
u8g2.drawBox ( i , 5 , 2 , 11 ) ;
}
for ( int i = 20 ; i <= ur_l ; i += 4 ) {
u8g2.drawBox ( i , 34 , 2 , 11 ) ;
}
}
while ( u8g2.nextPage() );
}
Arduino Bar graph Stereo VU meter on VFD display GP1287
Attribution-ShareAlike (CC BY-SA) License
Read More⇒
Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW- Comments(0)
- Likes(0)
- 0 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
More by Mirko Pavleski
-
Arduino 3D Printed self Balancing Cube
Self-balancing devices are electronic devices that use sensors and motors to keep themselves balanc...
-
DIY Vintage TV VU Meter with peak indicators
Some time ago in one of my projects I presented you a way to turn a black and white old mini TV int...
-
DIY Tesla Coil based Plasma Rife Machine
In several of my previous videos, I presented you with different ways to make a Rife Machine, from ...
-
ESP32 Analog VU Meter – Smooth Needle, Real Audio Response (DIY Build)
In several of my previous videos I have shown you how to make analog VU meters emulated on differen...
-
The Ultimate Smartphone VFO ESP32 & Si5351 Wireless Control
Variable frequency oscillators (VFOs) are commonly used in radio transmitters and receivers, especi...
-
DIY Shortwave Propagation Monitor - Measure Ionosphere Conditions
Shortwave Propagation is the way radio waves in the 3 to 30 MHz range travel from point A to point ...
-
Professional grade Smart Lock with ESP32, BLE and Android App Control
An electronic codelock is a security device that grants access using a numerical sequence—a PIN cod...
-
Building a 3-Input Stereo ECC83 (12AX7) Tube Preamp
Some time ago I presented you a project for a 3W stereo tube amplifier with a GU32 output vacuum t...
-
ESP32 Weather Dashboard with Satellite Maps and 16-day Weather Forecast
As you can see from my previous videos, besides Electronics, my fields of experimentation and proje...
-
Retro Analog VU Meter on Round dispalys (ESP32 and GC9A01)
Recently, in one of my previous videos I presented you a Retro VU Meter project on round displays ...
-
Ultimate 2-Player Reaction Timer with WS2812B LED Strips & Arduino
Arcade reaction game is a genre of play designed to test a player's physical response time and hand...
-
Building a Vintage Tube-Style Internet Radio with Raspberry Pi & Rotary Encoder
Internet radio (also known as web radio or net radio) is a digital audio service transmitted via th...
-
DIY Smart Code Lock with CrowPanel 1.28 ESP32 Rotary Display
A code lock is a keyless security device—either mechanical or electronic—that restricts access to d...
-
SDR Panadapter for Vintage Tube Radios – Step-by-Step Tutorial
A radio panadapter (or panoramic adapter) is a device or software tool used in amateur radio and ot...
-
Oscilloscope Clock Simulation on a Round ESP32 Display
An oscilloscope clock is a circuit that turns an old analog oscilloscope into a stylish, retro-them...
-
DIY Simple GU32 Tube Stereo Amplifier (2x3W on 12VDC)
Vacuum tube amplifiers are often favored for their smooth harmonic distortion, especially in the low...
-
DIY 3-Display OLED Clock with Arduino and I2C Multiplexer
In this video I want to present you another unusual clock to add to my large collection of such DIY...
-
Build a 5-Day forecast Raspberry Pi Weather Dashboard (Step-by-Step)
Recently in one of my previous videos,I introduced you to the 7 inch Elecrow Pi Terminal and how to...
-
-
ARPS-2 – Arduino-Compatible Robot Project Shield for Arduino UNO
2532 0 5 -
-
A Compact Charging Breakout Board For Waveshare ESP32-C3
2986 3 8 -
AI-driven LoRa & LLM-enabled Kiosk & Food Delivery System
3193 2 1 -
-
-
-
ESP32-C3 BLE Keyboard - Battery Powered with USB-C Charging
3261 0 2 -







