No announcement yet.

Arduino/miniDSP "Product"

  • Filter
  • Time
  • Show
Clear All
new posts

  • Arduino/miniDSP "Product"

    I had previously described an Arduino-based mini-DSP-like board with "local" control via an LCD display. I've got a lot more of it working, and it's actually become a lot more interesting, but now I'm starting to think about how this could be made into a useful product. It's got a nice 9-band EQ that is very cool. and it can do any crossover you like, up to 14-pole Linkwitz-Riley. The most recent change put the filter calculations inside the micro, rather than using pre-calculated tables. It's noticeably slower that way, as it takes a few milliseconds to chug away at the numbers in the little Arduino, but it is much more flexible, and it opened up the possibility of having a large EQ bank and a greater number of crossover types and BSC.

    ​I'd like to see PE sell this as a kit, or for someone to take the design and refine it, but I'm struggling with how to make something like this useful. The Arduino boards are nicely stackable, but they don't fit in a chassis very well. They are more designed to be used on a workbench, plugging things directly into the boards, or interacting with board-mounted switches, and doing prototypes. But for this to be a useful audio product, it needs a nice looking chassis with connectors on the back panel, a good looking display on the front, a rotary encoder and remote control, etc. And that's where the attractively-priced Arduino boards fail miserably. You can run cables from on-board connectors to a back panel, but then you have the problem of custom-design cables. The LCD shields don't have any easy means of mounting the display to a front panel, and as far as I can tell, there aren't any nice easy-to-use low-cost chassis options that will accommodate the Arduino boards when mounted vertically. So you end up spending a lot of time and expense on a custom chassis solution.

    ​The only solution that makes sense to me right now is to use two custom boards that provide the Arduino and miniDSP functionality (ADAU1701 circuit). The first board is an Arduino Redboard-compatible board that fits in the popular PGA2311 chassis (do a search on Google for PGA2311 to see what I mean). I've got that board done, and I described it in detail at this link. The second board would be a replacement for the preamp board for that PGA2311 kit. It would have the 3 RCA inputs, the ADAU1701 DSP, a power supply and a subwoofer output, and it would mount directly to that chassis. It's a variant of the ADAU1701 shield that I'm currently using for prototyping. The obvious downside to this approach is that it uses 2 custom boards. The upside is the nice low-cost chassis and minimal cabling issues. But those boards might be an issue, because they require SMD parts, and right now I don't have a plan for getting the boards assembled.

    So I'm looking for some input on what to do next with this project. I'm thinking about a 4.1 or stereo 3-way active crossover/preamp with EQ, a wide selection of crossover types and BSC using the chassis for one of those PGA2311 kits. That's the design that requires two custom boards. But this software/hardware approach could also make a crossover for an active 3-way amp, or a subwoofer crossover, or a 2.1 amp...there are lots of different ways to go. Maybe somebody can figure out what it would take to package the Arduino preamp with some amps in a rack-type chassis like PE sells. Or maybe there is a better ready-made chassis that someone knows about. I need to have a better idea of what people want in a low-cost DSP and I need a good plan for making these prototypes into useful audio products. I'm not really interested in selling anything myself--if somebody wants to do that, that's fine, or if we can get PE to sell it, that's fine, too. I just want to know what people would like to see and figure out a way for them to enjoy this very cool technology.

    The DSP architecture is shown in the attachment. It's got 12 shared biquads that can be used for EQ and BSC (the top row of biquads), plus 6 channels, each with 8 biquads, delay and volume trims. The program only takes up about 2/3 of the ADAU1701 program memory, so there are still more resources to add additional EQ bands, limiters, separation algorithms, or other signal processing. And this is now a fairly old chip--Analog Devices has a newer version that has about 6 times the program memory!

    Click image for larger version

Name:	SigmaStudio_layout.JPG
Views:	384
Size:	231.0 KB
ID:	1285076
    Attached Files
    Free Passive Speaker Designer Lite (PSD-Lite) --

  • #2
    Sounds so cool!
    I think PE should pay you a retainer and a percentage of the sales, and they could build the hardware, you handle the DSP.

    I think I hear a difference - wow, it's amazing!" Ethan Winer: audio myths
    "As God is my witness I'll never be without a good pair of speakers!" Scarlett O'Hara

    High value, high quality RS150/TB28-537SH bookshelf - TARGAS NLA!
    SB13/Vifa BC25SC06 MTM DCR Galeons-SB13-MTM
    My Voxel min sub Yet-another-Voxel-build

    Tangband W6-sub


    • #3
      I'm not sure what the majority are running here for mains. I have 1 3 way and like 3 or 4 two ways. If there is a nice amp package that would be convenient for a turn key type setup. I have two 5 channel a/b amps so i had my eye on a 2.1 setup. I bought two 2x4 minidsp's but haven't done much with them yet.

      Maybe a vote should be taken. If one were to do a 3way vs 2.1 would the 3 way version of the dsp have less adjustability than a 2 way? For instance if you have 12 bi quads you would have to share those with 3 speakers in a 3 way each speaker use up to "4" biquads more or less but total is 12. Where as a two way could use 6 each or 5 each with 2 for the sub in the 2.1 version. As I said I haven't gotten into the mini dsp guts yet so I am just asking for my own sake.

      I like this idea because if you want to tinker there is an initial investment but after that investment you can endlessly tune any number or driver combinations. The xover's in alot of the kit builds I've done ran me 100-300 dollars so you can literally save that much money per build.

      The issue with dsp is at the diy events it's traditionally been a hassle to show because they needed more amps and to reroute all the wiring to their amps. It just wasn't convenient and your using different amps now too so it throws that commonality of out the window. A unit setup like this would help bring it to shows.
      My Build Thread's
      Carrera's / Finalist TL's / Speedster TMM's / Speedster MTM Center / Overnight Sensation Surrounds


      • #4
        I don't really understand all you're doing with this project, I just don't have the background to do so, nonetheless, I enjoy reading your detailed descriptions. One idea that came to mind is to use your project in one of the Updatemydynaco's preamp kits. The chassis has expansion slots, and from what I read of it, it seems like some of it might be complimentary to what you're doing.

        Here is a link to the information:

        The owner of this company, Daniel Joffe, has been very accommodating and helpful with a few projects I have done with his components in the past. I haven't finished the preamp kit yet, but the quality of the components and instructions are impressive. He might be interested in discussing ideas to incorporate your project in his preamps as an option. As far as I know he designs and sources his kits himself, so he probably would have worthwhile ideas for doing this.


        • #5
          Originally posted by Mike220 View Post
          would the 3 way version of the dsp have less adjustability than a 2 way? For instance if you have 12 bi quads you would have to share those with 3 speakers in a 3 way each speaker use up to "4" biquads more or less but total is 12
          ​The ADAU1701 is limited by the amount of Program RAM and the sampling rate. It's got 1024 words of Program RAM (each word is 40 bits) and all of the Program words are executed for each audio sample. A biquad filter requires 5 words. So at 48KHz sampling, you can actually have almost 200 biquads without running out of resources. So usually you don't need to "share"--you provide as many biquads as you might ever need, and just load the coefficients with a "1" if you don't need it. And as I said, there are some newer versions of the ADAU1701 that have more Program RAM and higher clock rates, so if you really need more resources there is a solution.

          SigmaStudio program lets you route the inputs and outputs and configure the cells however you want. I came up with a generalized architecture that works well for multichannel crossovers, so usually you won't need to change anything in SigmaStudio for new applications. But it's there if you need to. I've got some tools I wrote for converting the SigmaStudio output to header files for the Arduino code, so I can reference the biquads as arrays of filters. That makes it a lot easier for designing crossovers and EQ banks. And volume controls, delays, selectors and other cells are all addressed with the names you assign them in SigmaStudio. Once everything is processed for the Arduino environment, the coding is fairly high-level.

          The issue with dsp is at the diy events it's traditionally been a hassle to show because they needed more amps and to reroute all the wiring to their amps. It just wasn't convenient and your using different amps now too so it throws that commonality of out the window. A unit setup like this would help bring it to shows.
          This DSP is small and cheap, so it can be embedded in self-powered speakers or be used with those commodity amp boards that PE sells. I agree that it could be a "game-changer". But packaging and wiring are still the big stumbling blocks for me. Lots of little amps means lots of wiring and lots of holes in a chassis, and the "stock" Arduino boards just don't do a good job of addressing packaging for a nice "product". That's why I was asking the questions about which direction this project should go in, and soliciting some ideas on how to package this stuff.
          Free Passive Speaker Designer Lite (PSD-Lite) --


          • #6
            Neil - have you seen the ADAU1701 board that Sure Electronics is selling for $20?
            The elephant in the room is the room


            • #7
              Originally posted by ernperkins View Post
              Neil - have you seen the ADAU1701 board that Sure Electronics is selling for $20?
              ​Yes, I looked at it the other day, but I need to find out some more info. It's a good price, but it looks like they use proprietary connectors, and it isn't clear whether there are reconstruction filters on the board. Also, it uses the EEPROM self-boot mode, which limits flexibility.

              ​Using self-boot mode creates a "static" design that can't be changed in real-time using open-source code. That approach requires a programmer to dump the SigmaStudio code into the on-board EEPROM, but there is no "real-time" interaction. The approach I'm taking is to process the output of the SigmaStudio compiler so that Arduino code can be used to directly change the Parameter RAM in the device, which is far more flexible.

              ​I just got a stack of ADAU1701 Arduino shield boards that should be fairly easy to put together. I'll build up one of them and if it works OK I'll build up the rest and sell them to hobbyists at a very reasonable price. That way, people can add a cheap LCD shield and be able to dial-in crossovers, EQ, BSC and volume using a simple LCD display. I'm OK with giving the software to hobbyists, but I'm concerned about commercial people selling it, so I need to come up with a strategy for protecting some parts of the code while keeping most of it "open".
              Free Passive Speaker Designer Lite (PSD-Lite) --


              • #8
                I looked at those boards again, and they look promising. The DSP board has a simple reconstruction filter, and the I/O board has 3 outputs, so you just need a pair of class D amps for a nice compact 2.1 amplifier. One of the connectors has the I2C signals, and it looks like the self-boot mode can be defeated. So you just need an Arduino CPU board and some simple cabling. The software that I've got will allow selecting crossovers, EQ and BSC from an LCD display, and someday I might even release the active speaker design software, which works with SigmaStudio to design multi-way speakers from driver measurements.

                ​The CPU board in the link in the original post would allow using that nice PGA2311 chassis. Since the CPU board mounts to the front panel with the LCD display, it takes up no additional space in the chassis. You don't have to use that board, of course, but it simplifies packaging for that chassis.

                ​So I guess I'll buy one of the Sure boards and see how easy it is to make a product with it.

                ​As I said, I've got a new order of ADAU1701 shield boards ready to build and test, but it is hard to make a product with them. Great for prototyping, but not so good for mounting in a nice chassis.
                Free Passive Speaker Designer Lite (PSD-Lite) --


                • #9
                  Thanks for looking. At that price it would be hard to beat.
                  The elephant in the room is the room