Easy and Affordable Digital Signal Processing
The aim of this book is to teach the basic principles of Digital Signal Processing (DSP) and to introduce it from a practical point of view using the bare minimum of mathematics. Only the basic level of discrete-time systems theory is given, sufficient to implement DSP applications in real time. The practical implementations are described in real time using the highly popular ESP32 DevKitC microcontroller development board. With the low cost and extremely popular ESP32 microcontroller, you should be able to design elementary DSP projects with sampling frequencies within the audio range. All programming is done using the popular Arduino IDE in conjunction with the C language compiler.
After laying a solid foundation of DSP theory and pertinent discussions on the main DSP software tools on the market, the book presents the following audio-based sound and DSP projects:
Using an I²S-based digital microphone to capture audio sound
Using an I²S-based class-D audio amplifier and speaker
Playing MP3 music stored on an SD card through an I²S-based amplifier and speaker
Playing MP3 music files stored in ESP32 flash memory through an I²S-based amplifier and speaker
Mono and stereo Internet radio with I²S-based amplifiers and speakers
Text-to-speech output with an I²S-based amplifier and speaker
Using the volume control in I²S-based amplifier and speaker systems
A speaking event counter with an I²S-based amplifier and speaker
An adjustable sinewave generator with I²S-based amplifier and speaker
Using the Pmod I²S2 24-bit fast ADC/DAC module
Digital low-pass and band-pass real-time FIR filter design with external and internal A/D and D/A conversion
Digital low-pass and band-pass real-time IIR filter design with external and internal A/D and D/A conversion
Fast Fourier Transforms (FFT)
The Elektor Audio DSP FX Processor combines an ESP32 microcontroller and an ADAU1701 Audio DSP from Analog Devices. Besides a user-programmable DSP core, the ADAU1701 has high-quality analog-to-digital and digital-to-analog converters built-in and features an I²S port. This makes it suitable as a high-quality audio interface for the ESP32.
Programs for the ESP32 can be created with Arduino, Platform IO, CMake or by using the Espressif IDF in another way. Programs for the ADAU7101 audio DSPs are created with the free visual programming tool SigmaStudio by dragging and dropping pre-defined algorithm blocks on a canvas.
Applications
Bluetooth/Wi-Fi audio sink (e.g. loudspeaker) & source
Guitar effect pedal (stomp box)
Music synthesizer
Sound/function generator
Programmable cross-over filter for loudspeakers
Advanced audio effects processor (reverb, chorus, pitch shifting, etc.)
Internet-connected audio device
DSP experimentation platform
Wireless MIDI
MIDI to CV converter
and many more...
Specifications
ADAU1701 28-/56-bit, 50-MIPS digital audio processor supporting sampling rates of up to 192 kHz
ESP32 32-bit dual-core microcontroller with Wi-Fi 802.11b/g/n and Bluetooth 4.2 BR/EDR and BLE
2x 24-bit audio inputs (2 V RMS, 20 kΩ)
4x 24-bit audio outputs (0.9 V RMS, 600 Ω)
4x Control potentiometer
MIDI in- and output
I²C expansion port
Multi-mode operation
Power supply: 5 V DC USB or 7.5-12 V DC (barrel jack, center pin is GND)
Current consumption (average): 200 mA
Included
1x ESP32 Audio DSP FX Processor board (assembled)
1x ESP32-PICO-KIT
2x Jumpers
2x 18-pin headers (female)
4x 10 KB potentiometers
Downloads
Documentation
GitHub
Upgraded version II with Bluetooth function, larger battery capacity, built-in bandpass filter circuit and additional modes (HI-Z, LNA, 50 ohm)
The ATS25 max-Decoder II is a portable, full-band MW/LW/SW/Ham/FM radio receiver based on the Si4732-A10 HF transceiver with DSP technology. The extremely compact and lightweight receiver has several built-in signal decoding modes including CW, RTTY, HELL, FT4, and FT8, making it an indispensable unit for radio amateurs.
Features
Rotary control or touch-screen user interface
Automatic antenna input switching (BNC socket)
Adjustable 500-6000 Hz bandwidth depending on modulation
Real-time signal reception quality measurement and automatic search for radio stations based on received data
10 Hz minimum SSB frequency setting. 1 Hz BFO generator for precise tuning within ham radio bands
RDS information decoding
SSB reception
Rapid frequency entry using two fast switching VFOs
Unlimited station memory with grouping by reception range
CB band channel mode
Extensive setting and customization options
Morse code decoding for Latin and Cyrillic alphabets
DIGI modes decoding (RTTY, FELD-HELL, FT4, FT8)
Decoded data saving, storage, and sending to a PC
WiFi connectivity for updates and advanced decoding modes
Updateable, ESP32-based, control software
Supplied with preregistered licence key
Specifications
Display: 2.4-inch (net) color TFT with touch (320 x 240)
Case material: aluminum alloy
Built-in battery: 4000 mAh Lithium-ion (supports up to 6 hours of operation)
Bluetooth
Internal loudspeaker
Headphones output (3.5 mm jack)
VHF FM: 64-108 MHz with RDS
MW: 520-1710 kHz
LW: 153-500 kHz
SW: 1730-30000 kHz
Firmware version: 4.17 Air
Power: USB-C
Dimensions: 117 x 112 x 45 mm
Weight: 380 g
Included
1x ATS25 max-Decoder II Receiver
1x Wi-Fi antenna
1x Telescopic antenna
1x Stylus pen
1x USB-C charging/data cable
1x Dust cloth
1x Manual
BeagleY-AI is a low-cost, open-source, and powerful 64-bit quad-core single-board computer, equipped with a GPU, DSP, and vision/deep learning accelerators, designed for developers and makers.
Users can take advantage of BeagleBoard.org's provided Debian Linux software images, which include a built-in development environment. This enables the seamless running of AI applications on a dedicated 4 TOPS co-processor, while simultaneously handling real-time I/O tasks with an 800 MHz microcontroller.
BeagleY-AI is designed to meet the needs of both professional developers and educational environments. It is affordable, easy to use, and open-source, removing barriers to innovation. Developers can explore in-depth lessons or push practical applications to their limits without restriction.
Specifications
Processor
TI AM67 with quad-core 64-bit Arm Cortex-A53, GPU, DSP, and vision/deep learning accelerators
RAM
4 GB LPDDR4
Wi-Fi
BeagleBoard BM3301 module based on TI CC3301 (802.11ax Wi-Fi)
Bluetooth
Bluetooth Low Energy 5.4 (BLE)
USB
• 4x USB-A 3.0 supporting simultaneous 5 Gbps operation• 1x USB-C 2.0 supports USB 2.0 device
Ethernet
Gigabit Ethernet, with PoE+ support (requires separate PoE+ HAT)
Camera/Display
1x 4-lane MIPI camera/display transceivers, 1x 4-lane MIPI camera
Display Output
1x HDMI display, 1x OLDI display
Real-time Clock (RTC)
Supports an external button battery for power failure time retention. It is only populated on EVT samples.
Debug UART
1x 3-pin debug UART
Power
5 V/5 A DC power via USB-C, with Power Delivery support
Power Button
On/Off included
PCIe Interface
PCI-Express Gen3 x1 interface for fast peripherals (requires separate M.2 HAT or other adapter)
Expansion Connector
40-pin header
Fan connector
1x 4-pin fan connector, supports PWM speed control and speed measurement
Storage
microSD card slot, with support for high-speed SDR104 mode
Tag Connect
1x JTAG, 1x Tag Connect for PMIC NVM Programming
Downloads
Pinout
Documentation
Quick start
Software
PÚCA DSP is an open-source, Arduino-compatible ESP32 development board for audio and digital signal processing (DSP) applications with expansive audio-processing features. It provides audio inputs, audio outputs, a low-noise microphone array, an integrated test-speaker option, additional memory, battery-charge management, and ESD protection all on a small, breadboard-friendly PCB.
Synthesizers, Installations, Voice UI, and More
PÚCA DSP can be used for a wide range of DSP applications, including but not limited to those in the fields of music, art, creative technology, and adaptive technology. Music-related examples include digital-music synthesis, mobile recording, Bluetooth speakers, wireless line-level directional microphones, and the design of smart musical instruments. Art-related examples include acoustic sensor networks, sound-art installations, and Internet-radio applications. Examples related to creative and adaptive technology include voice user interface (VUI) design and Web audio for the Internet of Sounds.
Compact, Integrated Design
PÚCA DSP was designed for portability. When used with an external 3.7 V rechargeable battery, it can be deployed almost anywhere or integrated into just about any device, instrument, or installation. Its design emerged from months of experimentation with various ESP32 development boards, DAC breakout boards, ADC breakout boards, Microphone breakout boards, and audio-connector breakout boards, and – despite its diminutive size – it manages to provide all of that functionality in a single board. And it dos so without compromising signal quality.
Specifications
Processor & Memory
Espressif ESP32 Pico D4 Processor
32-bit dual core 80 MHz / 160 MHz / 240 MHz
4 MB SPI Flash with 8 MB additional PSRAM (Original Edition)
Wireless 2.4 GHz Wi-Fi 802.11b/g/n
Bluetooth BLE 4.2
3D Antenna
Audio
Wolfson WM8978 Stereo Audio Codec
Audio Line In on 3.5 mm stereo onnector
Audio Headphone / Line Out on 3.5 mm stereo connector
Stereo Aux Line In, Audio Mono Out routed to GPIO Header
2x Knowles SPM0687LR5H-1 MEMS Microphones
ESD protection on all audio inputs and outputs
Support for 8, 11.025, 12, 16, 22.05, 24, 32, 44.1 and 48 kHz sample rates
1 W Speaker Driver, routed to GPIO Header
DAC SNR 98 dB, THD -84 dB (‘A’ weighted @ 48 kHz)
ADC SNR 95 dB, THD -84 dB (‘A’ weighted @ 48 kHz)
Line input impedance: 1 MOhm
Line output impedance: 33 Ohm
Form Factor and Connectivity
Breadboard friendly
70 x 24 mm
11x GPIO pins broken out to 2.54 mm pitch header, with access to both ESP32 ADC channels, JTAG and capacitive touch pins
USB 2.0 over USB Type C connector
Power
3.7/4.2 V Lithium Polymer Rechargeable Battery, USB or external 5 V DC power source
ESP32 and Audio Codec can be placed into low power modes under software control
Battery voltage level detection
ESD protection on USB data bus
Downloads
GitHub
Datasheet
Links
Crowd Supply Campaign (includes FAQs)
Hardware Overview
Programming the Board
The Audio Codec