XFM2, a tiny FPGA FM synth

Didn’t see this here, but I can imagine there would be a good deal of interest.

“The XFM2 Synthesizer Module is the second generation of the XFM Synthesizer Project. XFM2 is a 64-voice, 2-part, 6-operator FM Synthesizer with built-in effects processor, built on an FPGA chip.”

Would be amazing to be able to port DX7 patches into it, but I don’t think that functionality is available yet.


Cool! I’m so excited for FPGA to become more available to the public. And as usual, I imagine that people will emulate stuff for a while, then start to experiment with what else is possible, and come up with some amazing things.

1 Like

Definitely an intriguing project. I would have loved to be able to see the Verilog and/or HDL code as well. Tempted to build one…


I’ve built one recently, and it’s such a powerful tool that takes so little space (and power!).

I was wondering if it’s possible to send serial over USB from norns to it, in order to modify parameters in the XFM2 patches, and change presets/display active preset name, etc. That would make XFM2 an awesome norns friend! I could totally see myself writing a script for this if it was possible.

1 Like

This looks wonderful and a great engine to interface w/ Norns.

What interface are you using to program it at the moment? I saw that someone had created a CTRLR interface for it.

There are a bunch of user-created interfaces that work great: GitHub - xerhard/XFM2-resources: Overview of XFM2 related projects. XFM2 is a 64-voice, 2-part, 6-operator FM Synthesizer with built-in effects processor

I have been planning to use an arduino sending serial messages to XFM2, in order to not depend on the computer to program it. Norns would be amazing to do this, because of the screen and the ability to repurpose 16n or other midi controllers to control XFM2.

If I could send serial messages from norns through USB somehow that would be amazing, but I’m not sure if this is possible at all.

Otherwise I can always stick to controlling it via midi through some sort of midi interface!


I love the XFM2! The sound rivals commercial synths - very high sample rates with virtually no aliasing. Its like two enhanced DX7’s with multiple FX units. A very underrated synth IMO. I have built the Preen FM2 and it sounds like a kids toy in comparison. I think the reason the XFM2 is not very popular is its DIY only and you have to roll your own UI for it.

The other awesome synth by Rene Cebellos. that runs on the same hardware is the XVA1, a four oscillator 32 voice polyphonic virtual analog synth. I like it even more than the XFM2. Does great classic synth tones, has excellent sound quality and really nice built in FX. Its the best sounding synth you can build for $100 in parts. I’ve built a lot of stuff that cost way more and didn’t sound anywhere near as good.

I wrote CTRLR editors for both these synths. I also wrote a DX7 to XFM2 patch converter and a stand alone Arduino ESP32 editor for the XVA1. All this stuff is on my github: rheslip · GitHub

You could control both these synths with Norns - approximately 350 parameters (!) are editable with sysex messages.


I very much agree!! And will definitely take a look at your solutions, they look great!

I guess I can definitely try to cook something up with midi sysex, seeing how fully featured your code is using only midi is very inspiring!

Just thought maybe I could do without a midi interface if I could go norns USB → XFM2, which would also let me power it like that (and maybe even get it’s digital audio?). But better go with what I know will work!