element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Project Videos
  • Challenges & Projects
  • element14 presents
  • Project Videos
  • More
  • Cancel
Project Videos
Documents Making a WiFi Connected Audio Spectrum Analyzer with ESP32 -- Episode 570
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Project Videos to participate - click to join for free!
Related
Recommended
Engagement
  • Author Author: tariq.ahmad
  • Date Created: 8 Sep 2022 8:27 PM Date Created
  • Last Updated Last Updated: 30 Sep 2022 7:24 AM
  • Views 123185 views
  • Likes 10 likes
  • Comments 31 comments

Making a WiFi Connected Audio Spectrum Analyzer with ESP32 -- Episode 570

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

This IoT/Web based Spectrum Analyzer uses a single ESP32 to create up to 64 channels to visualize the different audio bands.It uses only 6 external components to function .It has no LEDS or TFT screens but it uses a HTML webpage to display all the frequency bars. The ESP32 used is running on both processor cores. Core 1 is used to run the main loop of the program while core 0 is used to constantly update the webdata. Although the program itself makes it possible to run on a single core, using both cores will lead to better performance. This is so easy to build and program; you just have to try it! You won’t even have to install the ARDUINO software. Just use the web programmer to upload the precompiled binary file.

 

Supplemental Content:

  • Episode 570 Resources
  • Web Browser Programming:  https://donnersm.github.io/WebSpecElement/flash.html
  • ESP32 Repository: :  https://dl.espressif.com/dl/package_esp32_index.json
Layout Schematic
image image

Bill of Material:

Product Name Manufacturer Quantity Buy Kit
Resistor Te Connectivity 4 Buy Now
Capacitor TDK 1 Buy Now
Switch Tactil Te Connectivity 1 Buy Now
 

Additional Parts:

ESP32 DOIT DEVKIT V1.0. You can use other ESP32 but you will have to adjust the wiring accordingly
A breadboard or experimantal PCB to build the circuit on.

element14 presents

element14 presents  |  About Mark Donners |  Project Videos

  • esp32
  • webserver
  • devkit
  • spectrum analyzer
  • DOIT
  • e14p_MD
  • Audio Visualizer
  • iot
  • arduino
  • friday_release
  • Share
  • History
  • More
  • Cancel
Actions
  • Share
  • More
  • Cancel
  • Sign in to reply

Top Comments

  • donnersm
    donnersm over 2 years ago in reply to kmikemoo +1
    And the best part, using the webprogrammer makes it so easy.
  • BayBHuey
    BayBHuey 9 months ago

    Thanks for sharing this cool project...however i cant get around 'kMatrixHeight' was not declared in this scope when I compile...am I to add this or is there something i need to edit? Any help is much appreciated

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • dougw
    dougw over 1 year ago in reply to shenqyd

    Left audio input pin

    Right audio input pin

    Audio ground connection

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • shenqyd
    shenqyd over 1 year ago in reply to dougw

    hi doughw would u help, what does L R Gnd in schematic mean

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • shenqyd
    shenqyd over 1 year ago

    Hi what does L R gnd mean?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • beacon_dave
    beacon_dave over 1 year ago in reply to skydiver

    donnersm  Looks like there may be a typo in the manifest file ?

    image

    image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • skydiver
    skydiver over 1 year ago

    Hi all ,
    Has anyone got this working on an esp32 dev board using Arduino IDE ?
    Tried the web programmer but its failing with 

    Error: Downlading firmware WebSpecElement.bin failed: 404

    Many thanks 
    Jase

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • HolleDD64
    HolleDD64 over 1 year ago in reply to DavidB

    Hallo, ich habe das gleich Problem wie David, erst kommt die Fehlermeldung: Failed to initialize. Try resetting your device or holding the BOOT button while selecting your serial port. Dann nach Boost die Meldung: Error: Downlading firmware WebSpecElement.bin failed: 404 was kann ich tun? ESP-WROOM-32 38 Pin - USB-C PORT Silicon Labs CP210x USB to UART Brige (COM4) bitte um Hilfe
    -----------------------------------------------
    Hello, I have the same problem as David, first I get the error message: Failed to initialize. Try resetting your device or holding the BOOT button while selecting your serial port. Then after Boost the message: Error: Downlading firmware WebSpecElement.bin failed: 404 what can I do? ESP-WROOM-32 38 Pin - USB-C PORT Silicon Labs CP210x USB to UART Brige (COM4) please help

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • DavidB
    DavidB over 2 years ago in reply to r2dev

    Hi R2dev

    Thanks for this important hint....

    In my case the compiler continued with lots more verbose messages then eventually stalled with the verify icon locked in a "yellow" state. (I am using Arduino IDE V2.1.0.) I had to scroll back to find the offending error message and exit the Arduino IDE to continue working.

    The key part of the misleading error message is: 

        C:\Users\....\Arduino\Webspector-main\Webspector\I2SPLUGIN.h:52:9: error: 'adc_gpio_init' was not declared in this scope

    Now that the code compiles and uploads I can add the miscellaneous hardware - I am confident that it is working as probing around SVP pin with my fingers picked up enough noise to analyse. It would be interesting to display the raw time domain signal either simultaneously or as a selectable option. This would make a really cheap teaching tool.

    Does anyone know of a project using Arduino ESP32 scope with a web based display?

    Thanks DavidB

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • DavidB
    DavidB over 2 years ago

    Hi Mark, interesting project.

    I am having problems with the webprogrammer. I have used a windows 10 and windows 11  PC and tried both Edge and Chrome. I have successfully loaded the blink sketch into the ESP32 on both PCs. The first message I get is "Failed to initialize. Try resetting your device or holding the BOOT while selecting your serial port." After trying the boot button the new message that I get is "Error: Downlading firmware WebSpecElement.binfailed: 404" Yes that was how downloading was spelt in the error message.

    From the Chrome inspection console I see this message "GET donnersm.github.io/.../WebSpecElement.bin 404" four times. Browsing to the indicated webpage returns a file not found error. 

    Does the webpage still exist? Has the browser evolved to the point where this functionality is no longer supported?

    Thanks David

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Jcdl
    Jcdl over 2 years ago in reply to Jcdl

    Todo o resto funciona mas o analisador não.. Já não sei mais o que fazer... Se puder ajudar agradeço muito. 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube