Introduction to AudioSOM32 – ESP32 audio tutorial #1

  • The ESP32 series of WiFi/BT SoC from Espressif is extremely useful for developing high performance audio applications at a low cost. The inspiration behind developing the AudioSOM32 module and related hardware was to enable creators and designers to quickly get started with developing battery powered IoT audio applications without worrying too much about the custom hardware design work that comes along with it.

Our AudioSOM32 is probably the only solution out there which has an extremely low power consumption and integrates everything you need to make an ultra-small size lithium polymer battery operated audio device.

In this tutorial, we will look at the hardware capabilities of the AudioSOM32. This article dives deeper than just the block diagram and outlines design possibilities so you can understand whether this solution fits your project.

If you are not familiar with how audio codec ICs work and interface, please refer to:

AudioSOM32 ESP32 audio module overview

The AudioSOM32 module only measures 20mm x 20mm and packs an ESP32-PICO-D4, SGTL5000 audio codec and LiPo cell charger. It also contains a high efficiency buck voltage regulator for obtaining 3.0V from LiPo cell or 5V.

pcbartists iotbits audiosom32 esp32 audio codec module
AudioSOM32 ESP32 audio codec module

1. ESP32-PICO-D4

The ESP32-PICO-D4 inside the AudioSOM32 is powered by an high efficiency 3.0V buck regulator.
The operating voltage for the ESP32 is not the regular 3.3V in this case and the reasoning behind this is explained in the “integrated power supply” section.

The ESP32-PICO-D4 on board has its flash memory bus exposed so that you have the ability to add external pSRAM memory too!

Most of the ESP32 GPIOs are available for your use. The only lines not available for external use are the ones that lead to the internal audio codec. The RF line is available via an IPEX connector and you can attach any 2.4GHz WiFi or BT antenna of your choice to the module.

2. Audio codec - SGTL5000 by NXP

The SGTL5000 is a highly integrated, low cost and extremely versatile codec from NXP. It features remarkably low sleep current and the power consumption remains incredibly low even when operating to its full capability.
To keep the audio as clean as possible, there is an additional 1.8V LDO built into the AudioSOM32 that drives the SGTL5000 analog section (headphones, line inputs, output, microphone, etc). This not just ensures compatibility with all MEMS analog microphones, but also lets you get exceptionally clear audio recording and playback out of the AudioSOM32 module.
 
The AudioSOM32 lets you use all analog features of the SGTL5000 codec:
  •  Headphone output (no capacitors needed)
  • Line output
  • Line input
  • Microphone input with programmable mic bias voltage
The codec is very versatile, as depicted best with this block diagram:
audiosom32 esp32 audio codec sgtl5000 block diagram
AudioSOM32 audio codec block diagram (Source: SGTL5000 datasheet)

3. Integrated power supply block

The AudioSOM32 integrates a high efficiency 3.0V (not 3.3V!) buck regulator. It can supply a maximum of 1A of constant current, out of which we recommend reserving 400mA for the ESP32. Therefore, your external application circuit can safely draw a maximum of 500mA. This regulator’s enable pin is exposed, in case your application wants to shut down the regulator completely to put system in its lowest power mode.

The internal audio LDO produces 1.8V for the SGTL5000 audio codec. This 1.8V is produced straight from the LiPo or 5V source of the AudioSOM32 module in order to keep the audio as clean as possible.
This voltage output is not available for you to use. However, you can set MICBIAS (microphone bias) pin of the AudioSOM32 to output a programmable voltage and drive any low power microphone or additional analog pre-amp circuit that you have on your application.

The reasoning behind using a 3.0V system voltage was to avoid using a buck-boost regulator to run the system from a LiPo cell. Buck boost regulators are low in efficiency when in boost mode – and the last thing you would want is to drain a discharged LiPo cell even faster when it hits 3.5V!
Using a 3.0V system voltage allows the AudioSOM32 to power from a LiPo cell down to 3.2V with very high efficiency. You can therefore use a LiPo cell to its maximum capacity.

4. LiPo charger and powerpath management

The 4.2V lithium polymer cell charger built into the AudioSOM32 has an adjustable chargeable current (maximum recommended charge current of 1A). This lets you charge a 2200mAh LiPo pack in under 2.5 hours!
Charge current can be adjusted using an simple external resistor.

The power path management circuit routes the power based on whatever is best for operation at any given time.

  • If the AudioSOM32 5V input line is at a level higher than the LiPo cell pack voltage, the battery pack is charged and the AudioSOM32 operates from this 5V power input.
  • If the 5V input is low or unavailable, the AudioSOM32 runs off the LiPo cell.
  • If the 5V input power is not able to sustain the total current requirement for some reason, the AudioSOM32 supplements this power input with LiPo cell power to run without interruptions.
  • All these power path changes happen seamlessly and automaticaly in hardware and power is never dropped.

In part 2 of this tutorial...

In the next part, we look at the features of the AudioSOM32 Carrier board, a development board that is meant to get you started quickly with AudioSOM32 module.

You can find Part 2 of the ESP32 audio tutorial series here:
Introduction to AudioSOM32 carrier – ESP32 audio tutorial #2

Change Log
  • Initial Release: 21 January 2021
References

You may also like

Leave a Comment

eleven + seven =

1 comment

DIYLAB July 9, 2021 - 8:26 pm

This is incredible!
When and where can I buy these boards?

Regards
DIYLAB

Reply