The M-VAVE FM-1

Regular readers will know I’ve had a long fascination for the –after all, besides getting a quite some time ago, I also built a and accumulated more software instruments than I have time to use, as well as an embarrassing amount of other physical gear that brands me as a victim of Gear Acquisition Syndrome.

M-VAVE FM-1 in black-and-green DX7-style livery
The FM-1 in DX7 livery, running Sloop firmware.

I can only manage to dabble in music occasionally, but I’ve been interested in FM synthesis since the heady days of the 80s, so the M-VAVE FM-1 was like catnip to me because it was billed as a pocketable : six operators, a little keyboard and a speaker packed into a battery-powered box, with both USB and .

Disclaimer: M-VAVE provided me with an FM-1 review unit free of charge, and as usual this article follows .

But you just know a synth is becoming a cultural phenomenon when it floods all your feeds–including your GitHub watch list. Like the , the FM-1 has become a hackers’ paradise–but unlike it, it has blossomed into a music platform with literally dozens of open source firmware alternatives (some of which have online emulators).

And that is a completely different thing indeed, possibly with profound implications for conventional synth manufacturers. And if you’re in the synth scene, well… Just this week, it starred on a Bad Gear episode.

Why?

From what I’ve been seeing (and I’ve compiled so far), the popularity of the FM-1 is due to a pretty straightforward combination of factors:

  • It is quite cheap (less than $70 depending on where you live)
  • It has a unique combination of size, hardware features (a nice screen, battery, USB audio, Bluetooth and TRS MIDI) and various knob controls
  • It is very hackable

Say what you want about the keyboard (which is a little inconsistent and likely not very long-lasting), we are talking about $70 for a device that can do both audio and Bluetooth and have a usable compact screen, features that stupefyingly expensive high-end gear has effectively never shipped together (well, statistically).

Hardware

The FM-1 connections
The FM-1 connections.

The specs are reasonably straightforward, so we’ll go through them right away:

  • 161.5 × 96.5 × 28.6mm, approximately 250g.
  • 27 silicone keys, colour TFT
  • USB-C MIDI, BLE MIDI, 3.5mm MIDI IN
  • 3.5mm audio jack and a tiny built-in speaker on the underside
  • 2000mAh battery (~12 hours play time)

It also comes in a range of colours–I picked the black-and-green version because it reminded me of the original , and I don’t regret my lack of imagination one bit despite it not really being a rational choice–but it was an easy one.

Stock firmware

When I decided to get the many years ago, I wanted something I could mess about with without a DAW or computer. I liked its speakers and keyboard, but wished it had better connectivity and the ’s six operators rather than four, and effects were practically non-existent.

Well, the FM-1 has six sine-wave operators, 32 algorithms and 12-voice polyphony, accepts DX7 SysEx banks directly, and adds six effects (filtering, chorus, phaser, distortion, delay and reverb), an arpeggiator with half a dozen different modes and a sequencer, which are described succinctly (but adequately) in the little handbook it ships with.

By pocket synth standards this already is a veritable cornucopia, but more to the point, the default firmware packs in sane operator editing (well, much saner than the , which was effectively a brick wall, and nicer than my ).

Here, patch editing is much easier: the display shows the algorithm, and you get a series of keyboard shortcuts for selecting operators and other parameters that can be directly tuned via the knobs.

And patch compatibility is surprisingly decent. Most people I’ve seen reviewing it seem to stick to the factory stock sounds (which are similar to some originals, but often with the FM-1 effects turned up to 11), but I loaded up the US factory ROM, which has most of the trademark sounds people associate with the (largely because most musicians couldn’t really figure out how to edit patches).

I compared it to my and Dexed, and although there were a few differences in timbre, most sounds were very, very close.

And that’s where you start understanding how easy this thing is to tweak–all you need to have is a browser that supports WebMidi (which, of course, Apple still refuses to support in Safari), pop over to something like fm1-editor.com, and it will merrily send SysEx commands to your FM-1:

A very nice web-based FM-1 browser patch editor for the stock firmware
A very nice web-based FM-1 browser patch editor for the stock firmware.

This is flabbergasting, because it is a far cry from, say, building a – that might be a bit more powerful, sure, but only in the sense that I can theoretically run eight parallel engines in it. And yes, this editor almost works with it (mine needs a software upgrade). And of course we’ve been able to do the same on various iPad apps, but it doesn’t feel the same.

Audio quality was… OK, I guess. I used mine mostly through my aggressively non-audiophile Logitech desktop speakers and random headphones, and of course the USB audio is purely digital.

Even if you don’t want to edit anything, the little colour TFT and clever control mapping make it really easy to navigate presets (you get 128 of them, by the way), and about as easy to edit presets as, well, any FM synth would be–again, much better than the , although most people will just get Dexed and edit them that way.

If you stick to the stock firmware, that is.

Hackability

I initially thought this to be based on a more modern microcontroller, but as it turns out the FM-1 is based on the JieLi AC791N/WL82, which I had never heard of before but seems to be a SoC that includes a fairly popular pi32v2 microcontroller associated with the Blackfin family.

The Jieli AC791N toolchain seems to be very well documented, but of course there’s already an entire reverse-engineering repository for the stock firmware, which includes the OTA protocol and a bunch of additional info.

And yes, a lot of the analysis and firmwares rely on , but having a relatively open toolchain available and decently clean references (plus plenty of code being shared between different firmwares) has definitely lowered the barrier to entry, both in terms of reducing the work of building new variants and integrating things from other existing instruments–there are emerging ports of other “classic” open-source synths in the works, and of course someone already has it running Doom…

But that’s not relevant to regular people. What is relevant is that WebMidi SysEx patch transfer was just the tip of the iceberg: the entire firmware image can be transferred that way, which makes it trivial for anyone to distribute (and use) different firmware versions–so to join the fun, all you need is an FM-1, a USB-C cable and a browser.

The ecosystem

I think the best way to understand how popular and diverse this thing is is to dive into Reddit, where you’ll find there are already enough firmware variants for people to be ranking them in multi-page Google Sheets:

The community FM-1 firmware comparison sheet
The community FM-1 firmware comparison sheet.

If that’s not your thing, there are also quite a few marquee sites popping up all over the place, like this one, which provide you with the ability to instantly download and install a bunch of popular firmware variants:

The FM-1 Firmware Hub
The FM-1 Firmware Hub.

Sloop

I decided to go with Sloop, because it has a certain feel about it–in short, it reminds me a lot of how I expected the to be like, and it feels like it was influenced by it to some degree (there are quite a few whimsical visualizations in there), besides having an absolutely kickass sequencer and web editor; this is becoming a staple feature in most custom firmwares, but I liked this one and am sticking with it:

The Sloop browser editor
The Sloop browser editor.

But the genius part of Sloop (and a few of the other firmwares I’ve tried) is how they make use of the hardware: You typically push and hold to switch into a different mode, and knobs, buttons and keys change functionality: the same controls can edit operators, trigger drums or operate a sequencer.

The rest of the industry

As someone who owns a Roland Aira S-1 (that I don’t think I ever wrote about), the core workflow and mode switching is familiar–but the screen makes one heck of a difference, since the S-1 has a puny LED segment display and no way to visualise anything:

M-VAVE FM-1 beside a Roland Aira S-1
The FM-1 and the S-1 side by side.

In short, the experience of the FM-1, even with stock firmware, is better than the Roland. But with custom firmware, the gap is tremendous. One FM-1 can, at least theoretically, do everything the entire Roland Aira range does, in one box.

The effects are decent enough that you also don’t need pedals (or a Norns like I built a few years ago), or string together a bunch of boxes. Plug in a MIDI controller (or a companion synth like the , which is a great match), and you’re set.

The way I see it (and even though M-VAVE certainly wasn’t planning this), the FM-1 might well become a cult device, because in complete contrast to just about everything else in the same form factor–Volcas, Behringer’s zillion clones, etc., it has effectively become a platform.

I can’t wait to see what people like David Hilowitz might make of it (if he ever decides to do his own take on firmware, of course).

With the iPad

This was a bit of a mixed bag, but mostly because of my expectations towards Bluetooth MIDI. BLE has always been very high on my list of “must have” features because it’s a pain to deal with wires when you’re trying to juggle an iPad and other gear on a couch, and I am happy to report that the stock firmware works with BLE and my iPad.

However, very few of the custom firmwares do, partly because they’re GPL 3 and partly because Bluetooth support relies on a rather bulky proprietary firmware blob that takes up a fair amount of resources on the FM-1, so all Felucca-based variants (like Sloop) omit it, which is sad to say the least.

But all firmwares support USB audio and MIDI, and those just work with AUM, so at least I only need the one cable (even if the iPad is, as usual, confused as to how to use an extra audio interface, a situation which has only slightly improved with iOS 27).

I haven’t tried plugging both the FM-1 and the to my iPad yet (solely because of lack of time), but I can’t see why it wouldn’t work, and will update this post when I do.

Verdict

I love this thing, and will be looking out for the SMK-37 Elite because the Pro variant seems to run on a similar platform and it might be just a matter of time until people figure out how to port FM-1 firmware to it. There’s no guarantee at this point, and the price point is quite likely to be much higher, but one can hope…

Regardless, I think that M-VAVE should lean into the homebrew firmware momentum and make some of this firmware bonanza official–the traditional synth industry very much enjoys churning out not just endless variations on the same theme, but also tiny portable devices that do much less and are much harder to use, and this is clearly an opportunity.

After all, even if I wanted an unapologetic clone of a classic synth like the Behringer JT Mini, why would I spend the same for something that will never be as customisable or configurable?

Again, as someone who owns a Roland Aira S-1 and is constantly disappointed by the utterly stupid menus and clunky interface that is being sold for roughly three times the cost of an FM-1, I hope people take notice not just of how much value you can deliver at the price point (the hardware combo is very nice, even if you just use stock firmware), but also how much better the custom firmware experience is when compared to “normal” instruments.

For quite a few years now, there has never been a good reason why digital synths needed to be single-purpose devices, and this is a very decent proof point.

If you have a significant other in your life that likes synths and sequencers, get them one for Xmas. Period.

This page is referenced in: