FlexFX XMOS tiny USB/DSP Board

XCore Project reviews, ideas, videos and proposals.
Post Reply
markseel
Member
Posts: 8
Joined: Thu Dec 13, 2012 3:19 am

FlexFX XMOS tiny USB/DSP Board

Post by markseel »

Here's a 1.0" x 1.4" XMOS board with a XUF216 on it.



https://github.com/flexfx/flexfx.github.io

Contains the CPU, oscillator, 1.0V regulator, 3.3V regulator, reset supervisor, and USB connector.

Can be self powered or bus powered. The XTAG/JTAG signals are exposed in case you want to program your own custom firmware for it. Otherwise you can use the free FlexFX dev kit on GitHub to create custom audio effect applications and use the USB for firmware downloading.

Has pins for ground, V5, Vbus, five 1-bit ports on tile 0, two 4-bit ports on tile 0. Tile 1 is dedicated to DSP.


ozel
Active Member
Posts: 45
Joined: Wed Sep 08, 2010 10:16 am

Post by ozel »

Hi mark,
what an amazing work! I've seen this already being discussed on another forum and was waiting for the final release. Backed it instantly.
The USB-MIDI upload is awesome. Do you plan to publish your XMOS firmware, too?

I think these kind of small and universal modules is exactly what the community needs.
Maybe XMOS could jump in and give some publicity to your project?
Almost 6 years ago a nice modular XMOS concept called XDev was on kickstarter but sadly didn't get enough attention.

And don't forget to target the eurorack modular synth folks. They'll love this module.
markseel
Member
Posts: 8
Joined: Thu Dec 13, 2012 3:19 am

Post by markseel »

Thanks ozel! :-)

The low level source code has not been released and is only supplied via library (called 'xio.a'). This library handles USB enumeration, USB audio flow, USB MIDI flow, ASRC, UART, SPI, I2C, I2S/PCM/TDM, and audio sample routing to/from the DSP threads. This is custom code and took a lot of work but it also hides a lot of complexity not related to audio effects DSP development - and I wanted to make DSP easier to folks. Pretty much the only significant XMOS source code I use is a version of their USB library (libUSB) and FLASH library (libFlash). But all of the DSP algorithms and audio effects algorithms are in GitHub. The module has the XTAG/JTAG connector on it therefore any XMOS code that runs on a XUF216 or smaller and that has I/O demands that doesn't exceed the board's I/O capabilities can be ported to this board.
markseel
Member
Posts: 8
Joined: Thu Dec 13, 2012 3:19 am

Post by markseel »

BTW the XUF216 pins wired to the module headers are: X0D00, X0D11, X0D35, X0D36, X0D37, X0D38, X0D39, X0D26/27/32/33, and X0D28/29/30/31. FlexFX uses the Tile0:4E and 4F ports for I2S/TDM/PCM supporting up to 8 TDM channels on all for port pins (32x32 total channels). The 1-bit ports 1A,1D,1L,1M,1N,1O,1P are used for I2S clocks (MCLK, BCLK, WCLK), I2C, UART, GPIO's, etc. The I2S bus can be master or slave.
Post Reply