element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • 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 & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • 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
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • 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
Raspberry Pi
  • Products
  • More
Raspberry Pi
Blog Wave Miner: A Pi-controlled Digital Signal Processor
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Featured Articles
Announcing Pi
Technical Specifications
Raspberry Pi FAQs
Win a Pi
GPIO Pinout
Raspberry Pi Wishlist
Comparison Chart
Quiz
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: shabaz
  • Date Created: 26 Apr 2022 11:34 PM Date Created
  • Views 11966 views
  • Likes 12 likes
  • Comments 10 comments
Related
Recommended
  • wave miner
  • audio
  • waveminer
  • sigmastudio
  • rpibeginner
  • ad
  • adau1701
  • adau1401
  • digital signal processing
  • digital signal processor
  • analog devices
  • raspberrypi
  • sound
  • dsp
  • sigmadsp

Wave Miner: A Pi-controlled Digital Signal Processor

shabaz
shabaz
26 Apr 2022
Wave Miner: A Pi-controlled Digital Signal Processor

Table of Contents

  • Introduction
  • What Does it Do?
  • Circuit Diagram
  • A Look at the DSP Module
  • Building the Wave Miner
  • Summary

Introduction


I have not seen many Pi Digital Signal Processor (DSP) boards, but when you need it you need it, and I recently needed such a thing, so I decided to put one together.

image


This project turned out to be low-cost (about $40-$50) and quick to construct (a few hours) because it only uses a few components. It is almost entirely through-hole PCB construction, there are a few optional surface-mount parts, but they can be omitted if desired.


The main part is the DSP module, which is available from AliExpress for about $20 (the search term is ' ADAU1401 Board ' but if you see ADAU1701 Board, it is identical (they are both the same part functionally, but the 1401 chip works across an automotive temperature range).


Essentially all this project does is connect the I2C pins of the DSP module to the Pi, and bring out some signal input/outputs onto stereo jack and BNC connectors. It's super-easy from a hardware construction perspective.

To actually use the board, see the part 2 blog post here: Wave Miner: 10 Experiments with a Pi Digital Signal Processor (DSP)

There is also an experimental project to convert the Pi and Wave Miner into an Inductance, Capacitance and Resistance (LCR) meter.

What Does it Do?

The DSP board can be used for all sorts of things, like sound effects, audio filtering, and test purposes such as measuring AC signals or audio or generating test signals.

image


The DSP board works with the Pi (the Pi is required to program and configure the board), but it retains its code afterward so the board can be disconnected from the Pi and used standalone too, for instance as an electronic crossover for speakers.
There are many educational uses, especially for experimenting with speech or music or learning about digital signal processing techniques.


I've put together lots of experiments in a separate blog post covering a range of functionality, and they are easy to execute, using basic equipment such as headphones. This blog post is purely concerned with building the DSP board, which is called the Wave Miner : )

All the files discussed in this blog post are available on the Wave Miner GitHub page.


Circuit Diagram


All DSP connections are brought out to pin headers. There are plenty of jumper connections so that the project is easy to extend. It is possible to plug another board, such as prototyping perfboard, on top, or use jumper wires to connect to a breadboard.


The project can be powered from the Pi, or from an external 7-12V supply, depending on a jumper setting.

image



A Look at the DSP Module


Here is a block diagram of the ADAU1401 chip; although there are pairs of ADC and DAC devices, it isn't necessary to use them as a stereo pair. It is perfectly acceptable to (say) use just one ADC and generate four separate processed stream outputs from it.

image

There is not a lot of information about the DSP core, because the manufacturer (Analog Devices) expects users to make use of the AD development environment and algorithms, rather than code the entire device at a very low level; in fact, there is no user-accessible assembler or compiler. In the past, DSP chips required coding in a way similar to microcontrollers, using assembler language, or C code.


The DSP module from AliExpress contains the DSP chip, plus a crystal, EEPROM (for storing code that the DSP can run at power-up, a voltage regulator, and input/output RC filters for the ADCs and DACs.

The photo below shows the AliExpress DSP module. The DSP chip (ADAU1401) and EEPROM chip are both powered by an on-module 3.3V regulator. There is a 12.288 MHz crystal on the module, which is suitable for 48 ksample/sec rates.

image

There are lots of pins labeled MP; these are multi-purpose connections, a bit like GPIO on a microcontroller. The Wave Miner PCB brings those connections out to pin headers so that future projects can be wired up, or plugged on top.

Building the Wave Miner


The PCB can be ordered by submitting the Gerber files to any PCB manufacturer such as JLC PCB or Elecrow. Refer to the bill of materials to see what needs to be ordered; the main parts are the DSP module and whatever connectors you plan to use. The earlier photos show the fully-populated board with all the connectors. The component L1 is a hand-wound choke, but it can be replaced by any ready-made one that fits the holes, or just use a wire link.

image

image

Once the board has been assembled, five jumper connections need to be made as shown here:

image


The blue jumpers are used to connect the BNC sockets to the input and output wires from the DSP module. For future experiments, you could disconnect the blue jumpers and patch jumper wires from the Wave Miner to a breadboard if desired.

The red jumper connection is used to select the power supply source. When set as shown in the diagram above, the DSP module is powered by the Pi.


The ribbon cable uses IDC connectors, these are not hard to do but need some practice with one or two spare connectors if you've never done it before. A vice is required for applying the force. Probably the better option is to buy a pre-assembled cable, it is cheaper too.


The PCB is designed to fit 1593W series Hammond plastic enclosures, part codes 1593WGY, 1593WBK or 1539WTBU (they are all the same, just different colors). The front and rear panels could also be manufactured as PCBs. For now, I just manually drilled holes in the plastic panels that come with the Hammond case. The details are in the diagram below (the cutout diagram is downloadable as a PDF from the GitHub page).

image


Summary


With a near-trivial amount of effort, it is possible to build the Wave Miner and be ready to experiment with DSP. The PCB files, schematic and bill of materials are at the GitHub site. I'll write up Part 2, which contains such experiments, within a day or two.


Thanks for reading!

  • Sign in to reply
  • DAB
    DAB over 4 years ago

    Very cool.

    Too bad it is limited to 48K sps, I could find a lot of uses for one that is faster.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • shabaz
    shabaz over 4 years ago in reply to robogary

    Hi Gary,

    Thanks! The BNC connectors were needed for connecting it for non-audio uses, e.g. if you need source signals, then the DSP board can work like a high quality signal generator. It operates theoretically to DC, however there are output filters on the DSP module so it's only suitable from a few tens of Hz upward. The output filters on the module are not great, I do want to try modifying them at some point, but they are more than usable as-is (and some normalisation can be done).

    For some of the experiments, I want to be able to loop signals around and back into the DSP, the BNC cables are handy for that too. For general audio-only use, some cost could be saved by not soldering in the BNC connections (there are pin headers with the outputs too, so it's not essential), or audio users may prefer mono or stereo 1/4" jacks, which could be soldered off-board.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • robogary
    robogary over 4 years ago

    Wow. For a near trivial amount of effort, the build looks like a million bucks. Since you've built it with BNC connectors, I'm taking for granted it can do alot more than audio frequencies. I'm really looking forward to your part 2 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • shabaz
    shabaz over 4 years ago in reply to fmilburn

    Hi Frank,

    Thanks! Looking forward to writing that up, I've mostly drafted 80% of it, but it was getting too large so I figured it was best to split the hardware assembly into this separate post.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • fmilburn
    fmilburn over 4 years ago

    Hi Shabaz,

    This is nicely done!  I am looking forward to your post on experiments and uses.

    • 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 © 2026 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.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube