SMF for!

Main Menu

Audio Effects DSP Board

Started by markseel, June 13, 2016, 11:53:46 AM

Previous topic - Next topic


Yep the video sucks!   :o

The ToneCore thing sort of baffled me.  DSP is hard without having to learn a new programming environment, user libraries, software architecture, and assembly language.  That's why my goes with this was to try to distill the learning curve to just DSP - assuming you already know some 'C'.  But the ToneCore, Owl, MiniDSP, and Blackaddr/Teensy do have hardware for you to get up and running quickly.

The FlexFX boards are intended to scale in production and are minimal in design so that little is assumed about the end application.  Scaled to 1000 the board costs about $22 to make (at 100 cost is $38) - including BOM cost, assembly in China, and shipping back to the states.  So the cost does scale nicely.  Much of that cost is the XUF216 as its price bottoms out quickly - but that's when getting them from other distributors.  I used to work for XMOS and it's possible to work directly with XMOS sales to negotiate a direct cost.  If there's volume to make XMOS interested then that'd perhaps get the module down to $18 to $20 at 1000.  I'd have to sell them for a modest markup so that I can pay bills.  So maybe $30?

Seems that a boutique pedal would absorb this module cost OK.  A pedal BOM would still have to add the audio converters, analog circuitry, knobs, jacks, a 'mother-board' for the FlexFX to plug into, a case, etc.  But with the guitar interface board that I just played out (fits on top or below the FlexFX board) you'd only need to add the hardware (knobs, jacks, case).  That board is much cheaper to make than the FlexFX board.  So the BOM for the brains of a pedal is still well below $50.  You could actually just solder those two boards together, stuff it in a case, and manually point-to-point wire in the jacks and knobs.

I'll look at Tindie.  I emailed my PCB house on pricing for lower volume in case I can get this going with those who are already interested.  And if not I'll carve out some time to assemble them myself (takes me about 2 hours per board). 


Have you thought of a doing a single-board solution?  Xmos and codec on same board, and a bunch of inputs exposed for hooking up pots and switches.  Might be more cost effective than making two separate boards.  And could be more compact.

I agree what you have is totally tolerable for boutique pedals.


Yeah I did consider that and I sort of go back and forth.

As soon as I design a board for the pedal application I have to choose the converters and analog circuitry and these decisions are influenced by cost/performance/feature tradeoffs.  If I add jacks and pots then the pedal dimensions get thrown into the mix.  I also then don't scale the XMOS USB/DSP module production as well.  So it's a tough call!  I think I'd rather stick with the module approach. 

The USB audio/midi DJ collaboration product (the Collaborative Audio Interface by Bitstream Audio) uses four of these modules per product.  The module was a good way to get that product (prototypes have been built) off the ground and works for low volume.  But when that product scales up in production no doubt Bitstream will want to eliminate the modules and put all of the stuff on one PCB to lower production cost.  But having the modules being minimal and flexible allowed that initial work to move quickly.

For my C99 pedals I designed an all-in-one board to eliminate the modules.  Then after reviewing the layout for noise and running out of room here and there I went back to using the modules!

So I still want to stick with this being a minimal USB/DSP module with I/O's and no hard assumptions on analog interfaces.


I'm going to try this within a few weeks ... The USB/DSP board with the guitar/analog interface board (same one as offered on KickStarter), and power converter / pot interface board.  All three boards stacked.  This would have a 1.0"x1.5" footprint and a thickness of just more than a USB jack.

The analog board has the guitar input, line output, and connections for 3 high-speed high resolution analog inputs (pots, wah pedal, etc).  The power board has a 9V input and auto-switches between the external 9V supply and the USB 5V supply.  It also has 4 low-speed analog inputs for pots.

This would allow you to just hook up pots, jacks and power and place the stack in your case to make your own programmable digital effects pedal.  You wouldn't necessarily need the USB jack if you used JTAG to update the firmware.  But you could leave the jack on and update firmware by opening the case and plugging in a USB cable.


Any chance you can do more inputs?  4 pots, 2 switches (still analog input, in case it's 3+ position), and a footswitch is kind of my minimum pedal board criteria.  Otherwise I need to add an analog mux (which is what I'm doing on the Blackaddr board).

Auto switching between pedal supply and USB is really nice.


That stackup supports 7 knobs (4 on the power board, 3 on the guitar interface board), guitar in, line out, 9V in.  Want more?  That power-board could change a little.  It has a 10-pin header with ground, 9V, and 8 connection for the pot - I was thinking that two connections per pot would make wiring up easier.  But ... that 4-channel I2C ADC comes in an 8-channel version.  So we could them just have one ground, 9V, and eight pot inputs.  That'd be 11 total pot/switch inputs.  But you'd have to wire your pots/jacks to a single ground somehow.  Sound better?  Hmm, or extend the board for another row of headers for two connections (ground and ADC input) per pot.  I guess that would be an 18 or 20-pin dual row header.  Board would then grow to 1.6" - no biggie.


7 analog inputs should be plenty. Nice if they all wire to one board, but not super critical.

How would this all mount in a stompbox enclosure? Standoffs attaches to the floor plate?

Oh, I may have missed it above but what about outputs? Need at least an indicator LED. I've been using 5mm hat form factor Neopixel RGB LED's and it's really nice to be able to put out different colors from the same light. And you can chain them. Instead of on/off you can do bright/faint which is a nice touch. So you need an output line, possibly level shifted up to 5v (mine are working at 3.3v). And on the Teensy there's a DMA library for them so you don't need to lock interrupts while bit banging the output pin. On the Xmos I guess you could have one core deal with that.


Yeah those LED's are cool.  So here's a couple of options for additions to that power board:

1) Add a couple of 3.3V / 5V level shifters to condition two XMOS GPIO's for LEDs/switches, the one wire LED protocol, etc.

2) Add a I2C controlled LED drivers with PWM and input features.  The PCA9670 has 8 ports that are 5V tolerant, can be input or output, can drive LED's via PWM (brightness), and has blinking functions.



Here's the power and I/O board.  9V input for powering from 9V source, auto switching between 5V and 9V sources, 8 analog inputs (for pots), 8 digital I/O's for LED's and/or switches.  The digital outputs also support PWM for LED brightness control.


Personally I like the one wire LED option.


Yeah the 1-wire LED's are simpler :-)

Looks like the FlexFX USB/DSP module KickStarter will fail.

I'll try again but this time it will only require 20 backers.  At 20 the FlexFX board PCB+parts+assembly+shipping jumps to $80 per board.  But if I assemble the companion audio/power/IO board myself I could keep the price down.

I'm started a PCB design that has four pots, a landing spot for the FlexFX module, the analog circuitry and ADC/DAC, and connections for 9V and LED's and switches.  It's dimensioned to fit inside of a Hammond 1590BS case.  The board is secured by the pots being mounted to the case.

Dimensions and pots/jacks placement would look like this:

Those are some nice looking pedals!

So next KickStarter will be a 1590BS sized kit (case not included) that has the 1590BS PCB and FlexFX board, surface mount parts, FlexFX module, and pots soldered in.  The kit would include two 1/4" audio jacks, a 3PDT foot switch, and 2.1mm power jack - these are not part of the PCB and have to be wired/soldered during pedal assembly.

Making a pedal with this kit would require people to supply a 1590BS case, drill holes (for the pots, audio jacks, and power jack), drill more holes for your own LED's and toggle switches, and do the final assembly.

It looks like I could offer this Digital Effects Pedal Kit together for $110 + shipping (shipping in US is maybe $10?) if I do the pedal PCB assembly myself (pretty easy to do) and only outsource the FlexFX module assembly (China).  To cover any mistakes I'll set a KickStarter reward cost $125.

If folks here think that this is viable I'll lay out the PCB board for the Hammond case - won't take more than a couple of days - and do a test run with some prototype boards.

Feedback welcome!


I think $125 shipped is viable.  I'll kick down for one unit -- may be able to interest another friend or two.  But you'll want to have some photos of what this looks like in the kickstarter this time in order to draw a few more people in.  If you don't have units to photograph before putting the kickstarter up PM me and I'll do a mechanical model of if so you can at least have some plausible renderings.


OK cool.  Yeah I'll video the assembly of a unit to show the steps and internals and such.


Here's the FlexFX mother board for Hammond 125B cases that I'll make.  It has no electronics on it so you can fabricate these PCB boards yourself (PCB Gerbers will be public) if you want to.  Or you can design your own PCB from scratch without much fuss as long as the FlexFX landings (the four 10-pin headers) are wired up correctly (just copy the connection on this board).

The 125B mother board has landing spots for potentiometers, 3-way toggles, and LED's, and has connections for foot-switches. Since this is fitted for a 125B case - that has some depth to it - the 9V power jack and the two audio jacks would fit underneath this board.

It also has landings for the FlexFX boards for one or two! USB/DSP module(s), a power and I/O (8 pot inputs, 8 digital I/Os) module, and an analog (guitar in, line out) module.  The modules stack up and can be placed on either of the two landings in any order.

The pic shows some possible control layouts.  Blue circles show one potentiometer/knob arrangement while the green circles show the other.  Any number of pots can be populated as long as they don't physically collide.  Same for the toggles ... red shows one arrangement and yellow shows another.  The red circles show LED's (up to five).

Labels P0 - P5 are for the (up to) six pots.  Labels T0 - T7 are for the (up to) 8 toggle, although physical collision will limit actual use.  Labels S0 - S1 are for the one or two foot switches, and L0 - L4 are for the (up to) 5 LED's.  There's also a two 4-pin headers to attach one of those USB to 4-pin cables - for downloading firmware and testing.

So basically choose your part locations, drill the case holes, and assemble for a custom digital affects pedal.  The board cost, two-layers with no electronics on it, should cost very little.  A set of FlexFX boards to put on the motherboard (one USB/DSP, one power/IO, and one analog) should then come in at around $100 with discounts for higher volumes.


Looks pretty reasonable Mark.  You make a good point -- it's trivial to spin an interface board as long as we keep the module pinout the same.

Looking forward to the next kickstarter (or whatever).


Hi Mark,

Would you be interested in using a multi-patch control system like the one implemented in the 9 in 1 Drive pedal (see ) to control your digital effects processor?  The control system is somewhat different in that it does not use edit, save, or menu buttons, simplifying setup.  It includes a write protect mode so that changes to any modified presets can be preserved.  It can currently store 9 user-defined presets. 

The system is controlled using a Microchip PIC18 uC with USB and boot-load code for modifications or field upgrades.  The PCB has hooks built in for prototyping with a daughter-board: there are two 8 pin headers which provide +9V analog power, +3.3V logic power, +4.5V Vref, analog audio in, stereo analog audio out, I2C bus, and two generic digital I/O.

Please feel free to email me (rich.harazin at if you'd like more info or have questions.

Best Regards,


Hi SonaMagna.  Thanks - I'm not really sure.  The FlexFX boards are capable of USB and UART MIDI so if folks want to integrate with other products such as your 9in1 then that'd be cool.  My focus is the creation of these modules and supporting DSP effects on them.


Getting ready for the next KickStarter which will be for the 125B fitted effects PCB and the updated FlexFX module.  The module has been reduced in size to 1" x 1" since the 5V to 3.3V regulator and the USB connector were removed.  The USB connector is now external (there's header pins for the USB D+, D-, and Vbus signals).  The board is now powered buy 3.3V.  Same processor (XUF216), I/O and DSP capabilities, and firmware / dev kit as the previous FlexFX module.  Just smaller and cheaper :-)


Wow these modules are tiny.  Looking forward to the next kickstarter.  If you want proof reading or input on the kickstarter before it goes live I'm happy to help.


Hi Mark,

- Is there a MIDI implementation chart available for your DSP board?
- Are you planning to test your DSP board for FCC Part 15 compliance?  It's probably not required, but would be nice for the final manufacturer (see ).

Best Regards,