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 123198 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.
Parents
  • r2dev
    r2dev over 2 years ago

    Great project!  A note for anyone using ESP-IDF stable(v4.4.2) - the adc_gpio_init() function is deprecated.  For this build, consider replacing:
    err = adc_gpio_init(ADC_UNIT_1, ADC_CHANNEL_0); //step 1
    with
    err = adc1_config_channel_atten(ADC1_CHANNEL_0, ADC_ATTEN_DB_0);   // step 1, ADC1, channel 0 -> pin36 (note: change attenuation value as needed)

    • 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
Comment
  • 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
Children
No Data
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