user-img

Mirko Pavleski

  • 88 Projects
  • 24 Followers
  • Mar 19,2026
+ Follow

Retro Analog VU Meter on Round dispalys (ESP32 and GC9A01)

Using the LVGL library and SquareLine Studio, I created a visualization that is not only functional, but also aesthetically enriches any audio system.

Retro Analog VU Meter on Round dispalys (ESP32 and GC9A01)
 
  • thumbnail-img
 

Hardware Components

  • ESP32 Dev Module

    X 1
  • GC9A01 Round Display

    X 1
  • LED (generic)

    X 1
  • Passive Components (Resistors, Capacitors...)

    X 1

Tools, APP Software Used etc.

  • Arduino IDE (programming)

  • soldering kit

Story

  Recently, in one of my previous videos I presented you a Retro VU Meter project on round displays with ESP32 Microcontrollers and the Adafruit GFX library. In that case, the VU meters are drawn using the library functions, but the code is still relatively complex and you could see the result in that video.

  In this project I will also show you a way to make a Retro VU Meter, but now using LVGL wich is a free and open-source library that enables you to create graphical user interfaces for any MCUs from any vendor on any platform, and also Squarelinestudio UI editor to design and develop beautiful UIs for your embedded devices quickly and easily. The result of using these two tools is immediately visible, the VU meters are extremely realistic, and at the same time the code is much simpler and more flexible.

Detailed video description at: https://youtu.be/K_c22POfwTg

 

  The hardware part is identical to that of the previously mentioned project and consists of only a few cheap components:

- Two ESP32 microcontroller boards, one for each channel separately. Here I should mention that I could have made the project with one MCU, but considering the price, I decided to use two, which makes the production simpler and has more advantages.

- then two round displays 1.28 inches 240x240, with GC9A01 driver chip

- several resistors

- two diodes and capacitors for processing the input signal

- And two LEDs for the Peak Meter function

The diodes together with the capacitors at the input make up a so-called Envelope Follower circuit that brings a signal suitable for further processing to the input of the MCU. The Peak Meter LEDs are connected via appropriate current limiting resistors and the displays are connected via the SPI Interface.

 As for the code, it generally consists of two parts: UI files generated with SquareLine Studio and the basic .ino code that uses the LVGL library to "manage" these files. 

To briefly mention that I am using Arduino IDE version 1.8.16, ESP32 Core ver. 2.0.14 and LVGL library ver. 8.3.11.  The name of the folder containing the code files should be the same as the name of the .ino file inside the code. Now we simply run the .ino file and compile and upload the code. We make the basic settings directly in this file.

Code have the part where you can change value at which the Peak LEDs are turned on, then the duration of the activated LED, the way the arrow reacts, and finally the sensitivity of the inputs. The code is identical for both channels. By the way, I should mention that we can also adjust the input sensitivity in a simple way with a stereo potentiometer.

  Now let's see how the device reacts in real conditions. Immediately after switching on the VU meter is active, and the arrows move, following the intensity of the incoming audio signal. If this signal crosses the previously defined limit, the Peak LEDs light up. As I mentioned earlier, the speed and the way the arrows move can be changed in the code.

  And finally a short conclusion. This project is a modern twist on the classic analog VU meter, using a powerful ESP32 microcontroller and a circular TFT display to achieve an authentic retro look with modern precision. Using the LVGL library and SquareLine Studio, I created a visualization that is not only functional, but also aesthetically enriches any audio system.

 

Code
Schematic and Layout

Retro Analog VU Meter on Round dispalys (ESP32 and GC9A01)

Using the LVGL library and SquareLine Studio, I created a visualization that is not only functional, but also aesthetically enriches any audio system.

8
 
5
0
0

Share your project on social media to expand its influence! Get more people to support it.

  • Comments( 0 )
  • Like( 5 )
/1000
Upload a photo:
You can only upload 1 files in total. Each file cannot exceed 2MB. Supports JPG, JPEG, GIF, PNG, BMP

You May Also Like

View All
Add to cart
Board Type : GerberFile :
Layer : Dimensions :
PCB Qty :
Different PCB Design
PCB Thickness : PCB Color :
Surface Finish : Castellated Hole :
Copper Weight : 1 oz Production Time :
Total: US $
As a sharing platform, our community will not bear responsibility for any issues with this design and parameters.

PCB Assembly

PCBA Qty: BomFile:
NO. OF UNIQUE PARTS: NO. of Components:
Country: Shipping Way:
Assembly Cost: US $
As a sharing platform, our community will not bear responsibility for any issues with this design and parameters.
Add to cart
3dPrintingFile : Size :
Unit : Volumn :
3D Printing Qty : Material :
Total: US $12.99
As a sharing platform, our community will not bear responsibility for any issues with this design and parameters.
Add to cart
Acrylic Type : AcrylicFile :
Dimensions: Engrave:
Acrylic Qty :
Acrylic Thickness:
Acrylic Color:
Total: US $12.99
As a sharing platform, our community will not bear responsibility for any issues with this design and parameters.
Add to cart
CNC Milling File : Size:
Unit: Volumn:
CNC Milling Qty : Material:
Type of Aluminum: Surface Finish:
Tolerance:
Surface Roughness:
Total: US $12.99
As a sharing platform, our community will not bear responsibility for any issues with this design and parameters.
Add to cart
Item Price Qty Subtotal Delete
Total: US $0.00
Certified Product | Guaranteed Purchase: Full techsupport