Here’s an open source hardware development board for Espressif audio development framework, the ESP32-ADF, from Olimex:
With ESP32-WROOM-B module with 8MB RAM and 4MB of Flash, two microphones, two 3W speakers, codec, amplifier, Lipo charger, USB with programming, Audio 3.5mm jack, ESP32-ADF board offers everything you need to start playing with Espressif Audio Development Framework.
Shawon Shahryiar over at Embedded Lab shared a how-to on making a SPL dB meter:
Sound needs a medium for propagation or travel. It can’t travel in vacuum. Normally air is that medium but sound can also propagate in liquids and other states of matter. I am not going to lecture on how sound travels and its properties as Wikipedia details everything well here. Everything we see around us has a measurement and a unit. In case of sound pressure, the unit is decibel. Our basic requirement is to be able to measure Sound Pressure Level (SPL) in decibel scale with a typical 8-bit microcontroller, an ordinary microphone and without involving complex algorithms.
Measurement of sound has a number of uses. For instance, monitoring sound pollution, security system, monitoring the quality of an amplifier, detecting sound profile of an environment, etc.
App note from Texas Instruments on isolating DC and high frequency noise in audio using their automotive op amps. Link here (PDF)
Phone calls, emergency alerts, and music are just a few of the reasons that a high quality audio system is vital in automotive infotainment and clusters. Operational amplifiers (op amps) are one of the most common building blocks of automotive audio circuits. Many designers choose to incorporate op amps into their automotive audio circuits in order to increase audio performance. Higher order filters, which can be created through a combination of second order filters, attenuate noise more aggressively than lower order filters. Additionally, active filters remove the chance of unwanted interference with the audio signal.
Vasily Ivanenko @ QRPHB writes, “I sought a low distortion, single supply, AF power amplifier for my transistor radios. I’ll present my experiments, some musings, test equipment and a reference to some wonderful books & their wise author. Sadly, some amateur radio receiver builders diligently craft their RF stages, but skimp on the PA audio stage. Actually — many commercial radio designers also do this.”
If you are an audio enthusiast and if you have multiple audio systems and speakers, you may definitely need to have a speaker selector switch. These switches allow you to route a audio signal through a switching system and distribute it to various speakers. Using this listener can select single amplifier – speaker combination through the switch. We mainly design this switch to share our speaker system with multiple audio amplifiers. We design this switch to handle 6 stereo audio channels.
See the full post on his blog here. Project files are available at Github.
For some time, on different chinese webstores (for example Banggood) there is a module called JQ6500 for sale:
it’s often described as a voice sound module or as an MP3 player sound module.
Actually JQ6500 is the name of the main chip hosted on the module:
The chip is manufactured by a Chinese company named JQ. A datasheetfor the chip is also available, unfortunately only in Chinese (but Google Translate can help to understand what it contains).
On the other side of the PCB, the module houses two additional integrated circuits:
a 16Mbit flash memory (25L1606E)
a 3W audio amplifier (HXJ 8002)
When you connect the module to your computer via USB, it is detected as a CDROM drive. If you browse the content of the CD, you can find the MusicDownload.exe application that allows to upload audio files in the flash memory:
The software is in Chinese but its use is very simple: by moving to the second tab you can select the MP3 files to be uploaded. If you now move back to the initial tab, you can start the upload process clicking on the only available button. In the video at the end of this post you can see how it works…
You can control the JQ6500 chip in different ways. The easiest one is using external buttons connected to pins K1-2-3-4-5:
When you press a button, the chip plays the corresponding audio file. For example if you press the button connected to pin K1, the chip plays the audio file named 001.mp3.
The onboard amplifier (HXJ 8002) is a mono IC and its output is connected to pin SPK+ and SPK-. You can therefore connect to those pins a small speaker. If you want a stereo audio, you can instead use pins ADL_L (left channel) and ADC_R (right channel) and connect them to an external amplifier.
This module is an excellent and inexpensive solution to add audio to your projects. The use of an internal flash memory has the advantage of not requiring SD cards or other media to store your audio files; in contrast its capacity (16Mbit = 2MByte) makes it more suitable to reproduce sound effects / guide voices than to make a music player.
In the next articles I will show you how to interface the module with Arduino … meanwhile here is a video showing my first tests:
Following up on Part 2, it’s time to talk about the output stage.
This output stage is the brainchild of my friend Kostas, all I did was lay out the PCB.
It is a fully discreet single-ended class-A output stage, outputting ~2.4V RMS.
I have been working on some games for the ESP32 and needed some decent quality audio with a minimum number of additional components. I was bouncing between using the DAC and using the I2S bus. The DAC requires less external parts, so I went that way. I ended up creating a very simple library for use in he Arduino IDE. (Note: This only works with ESP32)
This article is the first of a series detailing the design and build process of an Arduino controlled Dual Mono AK4490 DAC by DimDim:
The design goal was to do a dual mono design so as to maximize SNR and channel separation. A 4-layer PCB design was chosen so as to have a very solid, low impedance ground plane as well as proper power and signal planes. The I2S, audio signals and power after the local LDO regulators are routed on the top layer, the 2 middle layers are ground and power planes, and the bottom layer serves to route I2C signals and some power lines.