apf.audio
Audio & Music
FPGA Boards
Back this project to help bring it into existence.
Funding ends on Jun 19, 2025 at 04:59 PM PDT.
Tiliqua aims to make FPGA-based audio and video synthesis accessible. With fully reconfigurable hardware and a rich suite of example projects built in Python (Amaranth HDL), Tiliqua allows you to experiment with synthesis techniques out of reach of embedded microcontroller-based platforms. Think extreme oversampling for alias-free audio-rate modulation, low-latency effects, video synthesis, high-speed USB audio, or emulating retro hardware.
Switch between eight customizable projects (bitstreams) on the fly. Tiliqua will soft-mute the outputs while the hardware is reconfigured. From polyphonic synthesizer to multi-channel oscilloscope, from USB audio interface to complex modulation source — transform the hardware instantly with a twist of the encoder, no computer required.
Optionally, connect a computer to customize what designs are in each Tiliqua slot using a web browser. Each design rewires how Tiliqua’s internal sea of logic gates is connected, for limitless audiovisual possibilities.
Touch-sensitive jacks and flexible I/O can turn Tiliqua into an instrument unlike any other in your rack. Connect any display to unlock visual synthesis capabilities that sync perfectly with your audio creations. With 8 high-fidelity DC-coupled audio channels (4 in, 4 out), high-speed USB (host or device), display and MIDI connectivity, as well as 2 PMOD-compatible expansion ports, Tiliqua provides enough connectivity for the craziest of ideas.
More than another module; Tiliqua is a development platform. The Python-based DSP library aims to make audio hardware development accessible even for those less experienced in FPGA design. Every piece of hardware, software and gateware in the Tiliqua project can be opened, modified, re-synthesized or re-manufactured using open-source tools. Easily flash and share projects using the built-in RP2040-based debugger exposed on the front panel.
Tiliqua comes with a rich suite of demo projects for getting started:
polysyn
: 8-voice polyphonic synth with video visualization and MIDI and USB hostxbeam
: 4-channel oscilloscope and signal visualizerusb-audio
: 4-in, 4-out, USB2 high-speed soundcardmacro-osc
: complex multi-harmonic oscillatorsid
: chiptune simulationselftest
: health-check and automatic DC offset calibrationAs the project develops and with community contributions, we hope to add many more.
openFPGALoader
for flashing. Host mode is not supported on this port.Tiliqua’s example projects make heavy use of the abstractions provided by Amaranth HDL, allowing each component to be connected together with streams. To give you a taste, the following Python code implements a DSP pipeline which operates on 16-bit fixed-point samples, adding a sawtooth oscillator, followed by a waveshaper and delay effect, and then connecting them together:
class ExampleDspComponent(wiring.Component):
i: In(stream.Signature(fixed.SQ(f_width=15)))
o: Out(stream.Signature(fixed.SQ(f_width=15)))
def elaborate(self, platform):
m = Module()
# Create some DSP blocks ...
nco = dsp.SawNCO()
shaper = dsp.WaveShaper(
lut_function=sine_osc, lut_size=128, continuous=True),
delay = dsp.DiffusionDelay()
# Connect them together ...
wiring.connect(m, flipped(self.i), nco.i)
wiring.connect(m, nco.o, shaper.i)
wiring.connect(m, shaper.o, delay.i)
wiring.connect(m, delay.o, flipped(self.o))
m.submodules += [nco, ws, rs]
return m
This would construct some hardware connections like this:
In Tiliqua’s examples and DSP library, you will find simpler examples (oscillators, delay, reverb, pitch-shifting), as well as more complex examples where a RISC-V CPU is instantiated to run a menu system and tweak parameters of the hardware DSP pipeline in real time. All of this already implemented, what remains is adding more DSP components to the existing library, more examples, and more documentation to make Tiliqua even more capable. Supporting this campaign is the best way to make this happen.
The Tiliqua hardware is composed of 3 core PCBAs, pictured below:
Tiliqua itself is modular—the FPGA core (an integrated System-on-Module in M.2 form factor) can be removed and embedded in your projects. The audio interface section is PMOD-compatible, and can be removed and connected to other FPGA development platforms.
Below is a simplified view of how all the different parts of Tiliqua are connected:
Now we shall take a more detailed look at each part of Tiliqua.
SoldierCrab is the heart of Tiliqua. It contains an FPGA, RAM, SPI Flash, High-Speed USB PHY and support components. It can be removed and replaced with a single screw, and has a mechanical form factor and pinout very similar to Sparkfun’s MicroMod ecosystem (the JTAG pins are different as the ECP5 does not support SWD, so we cannot claim compatibility, even if a USB bootloader would get us most of the way there!). You can find detailed documentation on this module in the SoldierCrab repository. The most important parts:
Tiliqua’s motherboard contains most of the connectivity options and acts as a bridge between the FPGA SoM and the audio interfaces. It contains Tiliquas main power supplies, RP2040-based debugger, LED and USB CC controllers and MIDI optoisolator. The Tiliqua motherboard also has an external PLL which can be used for dynamic display resolution switching, as well as circuitry for soft mute across reconfigurations.
Tiliqua’s audio board can be used both inside the Tiliqua (as shipped) or independently as an expansion board for more channels.
At the heart of the audio board is an AK4619VN audio CODEC (I2C and I2S interface), op-amp scaling network, voltage reference and supporting components. This board also includes the CY8CMBR capacitive touch sense IC, PCA9557 for jack insertion detection and PCA9635 for PWM LED control.
Using the 2 expansion headers, Tiliqua can be augmented with:
As there are no open source FPGA based modules on the market, we look in two directions:
Tiliqua | Daisy Patch | MetaModule | EuroPi | ULX3S | ECPIX-5 | DECA | |
---|---|---|---|---|---|---|---|
Manufacturer | apf.audio | Electrosmith | 4ms | Allen Synthesis | Radiona | LambdaConcept | Terasic |
Open Source | Hardware, gateware, firmware | Firmware, SDK only | Firmware, SDK only | Hardware, software | Hardware, gateware, software | Gateware only (schematics available) | Gateware only |
Form Factor | Eurorack module | Eurorack module | Eurorack module | Eurorack module | Bare board | Bare board | Bare board |
Processing Core | Lattice LFE5U-25F (FPGA) + RP2040 (MCU) | ARM Cortex-M7 (MCU) | Cortex A7 (dual-core, 800 MHz) | RP2040 (MCU) | Lattice LFE5U (-12F or -85F) | Lattice LFE5U (-45F or -85F) | Altera MAX10 (FPGA) |
External RAM | 32 MiB PSRAM (200 MHz DDR) | 64 MiB SDRAM (100 MHz SDR) | 512 MiB DDR3 | None | 32 MiB SDRAM (166 MHz SDR) | 256 MiB DDR3 | 512 MiB DDR3 |
USB2 Audio Support | Yes, 480 Mbit/sec, with examples | No | No | No | No | Possible, no examples | Unofficial project |
Audio Channels | 4 in, 4 out (24-bit, 192 kHz) | 4 in, 4 out (24-bit, 192 kHz) | 6 in, 8 out (24-bit, 48 kHz) | None (CV only: 6 out, 2 in) | 2 out (no codec, R2R DAC) | Digital audio only | 2 in, 2 out (24-bit, 96 kHz) |
Audio Levels | Eurorack ±10 V, DC-coupled | Line level, AC-coupled | Eurorack ±10 V, DC-coupled | Eurorack 0-10 V | Line level, DC-coupled | N/A | Line level, AC-coupled |
Control Surfaces | 1 encoder, 8 touch-sensitive jacks | 1 encoder, 4 potentiometers | 12 potentiometers | 2 potentiometers, 2 buttons | 6 pushbuttons | 3 pushbuttons | None |
Display | Video output up to 1280×720p60 | Grayscale OLED | Color LCD, 240×320 px | Monochrome OLED | Video output up to 1280×720p60 | Video output up to 1920×1080p60 | Video output up to 1920×1080p60 |
Video Synthesis | Yes, with example gateware | No | No | No | Possible | Possible | Possible, no examples |
Built-in JTAG Interface | Yes | No | No | No | Yes | Yes | Yes |
Expansion Connectors | 2× PMOD-compatible ports | None | None | None | 4× PMOD-compatible ports | 8× PMOD-compatible ports | Dual 46-pin BBB headers |
Removable SoM | Yes (SoldierCrab) | Yes (Daisy Seed) | No | Yes (Pi Pico) | No | No | No |
Price | $299 | $334 | $649 | $130–150 (Parts only, DIY kit) | $145–235 | $160–220 | EOL |
In addition to the Tiliqua and screen, we are also making the re-useable components of Tiliqua available separately, for expansion or use in your own projects. Below you will also see what is compatible with what.
Over the last years shipping our eurorack-pmod (amongst other) projects, we are comfortable manufacturing, testing and shipping hardware.
Updates on Tiliqua manufacturing will be provided throughout the campaign. We’ll share photos, any interesting developments, and timeline updates as we move through all the steps.
After our production run is complete, we will box everything up and send it to Crowd Supply’s fulfillment partner, Mouser Electronics, who will handle distribution to backers worldwide. You can learn more about Crowd Supply’s fulfillment service under Ordering, Paying, and Shipping in their guide.
Tiliqua has been under development for the past 3 years, with hardware revisions R2 and R3 having been put through their paces already by beta testers. R4 is a minor bugfix release and has already been through CE/FCC testing, I expect no major issues.
We have secured enough parts to manufacture the first batch immediately. Once the campaign ends, we’ll submit a bulk order for all parts needed to manufacture any additional batches. If the lead time for particular component proves problematic for later batches, we may execute minor redesigns to speed up the manufacturing timeline as much as possible.
In the event something unexpected happens or a component becomes unobtainium, we will communicate this immediately to backers and estimate how this may affect the timeline.
This project would be nothing without the hard work of many (awesome) open-source projects. An exhaustive list would take pages, here I mention only a crucial subset:
We would like to acknowledge partial funding of the Tiliqua project from the NGI Commons Fund, a fund established by NLnet with financial support from the European Commission’s Next Generation Internet program.
"With eight audio channels as standard, expandable to 24, MIDI, and USB connectivity, the Tiliqua targets flexibility."
"Tiliqua is an open-source FPGA-based synthesizer. "
Produced by apf.audio in Heidelberg, DE.
Sold and shipped by Crowd Supply.
A Tiliqua R4 Eurorack module. Comes with a Eurorack power cable. Screen is not included.
A 4" 720x720 IPS round screen Eurorack module, perfect for Tiliqua. Comes with a display cable to connect the Tiliqua and screen, and one extra Eurorack power cable for the screen.
An extra audio board, for expansion or use in your own projects. Comes with a 3HP panel + nuts, PMOD-compatible ribbon cable, male-to-male header pins, and an extra Eurorack power cable. You need a Tiliqua or a supported FPGA development board in order to use this.
An extra "SoldierCrab R3" FPGA SoM, for use in your own projects. This is a bare PCBA, you need a Tiliqua or to spin your own board in order to use this.