for bringing in comments and/or additions you can post an Issue
The XFM2 Synthesizer Module is a 64-voice, 2-part, 6-operator FM Synthesizer with built-in effects processor, built on an FPGA chip. It is the second generation of the XFM DIY Synthesizer Project by René Ceballos.
In short the XFM2 houses 2 independent 32 voice DX7's on steroids with an impressive sound quality.
However next to the possibility to mimic a DX7, the XFM2 is far more sophisticated with more complex modulation and feedback possibilities. If you are in doubt to build one, put a hundred bucks aside and read the manual.
The build is based on two pre-assembled development boards: the Digilent CMOD A7-35T (FPGA, USB, SRAM) and the Adafruit UDA1334A (I2S stereo DAC). This combination allows to get the module running in less than 10 components (about $99 total cost).
A user manual, installation guide, and the binaries that have to be loaded into the FPGA – using the provided instructions – are all made available.
The XFM2 is very well documented, but there is no GUI other then a spreadsheet to change parameters and set presets.
Therefore there are some projects started with several solutions to expand the possibilities of the XFM2
(In the mean time René Ceballos started another synth, the XVA1 which is a virtual analog synth on the same hardware as the XFM2)
Two XFM2/XVA1 PCB designs. One basic and an extended version
A very interesting hardware implementation of a user interface for the XFM2 with a lot of visual feedback
See the video where Marco Brattinga demonstrates his hardware interface and explains his design philosophy
A full desktop GUI for the XFM2 build on CTRLR https://ctrlr.org/ next to a DX7 to XFM2 converter.
A controller for the XFM2 Synthesizer using Qt 5.12, designed for RaspberryPi but also runs on Desktop (windows or Linux)
an Arduino interface, as minimal as possible (but still user-friendly and useful)
XFM2UI is an Arduino menu driven user interface for all XFM2 parameters. It is based on Teensy 4.0
A multi-platform Desktop GUI in Java. (The README is not in sync with the source code, but it runs at least on Linux)
Richard Shipman's utility program to access XFM2 over serial. Build in single java class file.
Another commandline tool, this is written in Kotlin by MacMannes.
He is now building a hardware solution but now for the XVA1, which is a virtual analog synth wich runs on the same hardware as the XFM2.
json patch files for the XFM2
Quick and dirty convertion of DX7 sysex files containing 32 presets into XFM2 json patch files.
small JavaFX application to read/write & text edit XFM2 json patches. Can be used as a platform independent alternative for the Excel spreadsheet delivered with the XFM2 documentation