Running Axoloti on a PreenFM2


#1

Some time ago I got inspired by @ricard's post Running Axoloti on an Audiothingies P6 and "ported" Axoloti firmware onto a PreenFM2 which has the same STM32F405 MCU as the P6.

I did get Axoloti running on the stock hardware but as the PreenFM2 uses two MCP4922 as DACs for its audio output (that is the R5 PCB; the newer R6 PCB actually has SMD parts and a proper stereo audio DAC), the Axoloti object I wrote to support audio output using these via SPI was just too clumsy and ate too many cycles and I couldn't be bothered to optimize it using threads and thread syncing and whatnot (read as: I don't know how to write these properly).

So I got carried away and added a CS4354 DAC (same as P6) and an SD card connector (PreenFM2 uses a USB drive for patch storage), and while I was in there I experimented with adding the simple CV in circuit used in the PreenFM2 Eurorack conversion kit (the plastic taped bit sticking out of the case). The mods involved soldering wires to the PreenF405 module and even lifting a pin off the STM32F405 and soldering a connector to it. Like I said, I got carried away... :stuck_out_tongue:

So basically this is not even a PreenFM2 anymore. I am not proud of the hot glued mess so if you're sensitive, have some sort of OCD or are simply the best engineer in the world who can't refrain from sharing his/her knowledge and telling people how to engineer right, best STOP SCROLLING AND CLOSE THIS TAB NOW.

:bomb:

:bomb:

:bomb:

:bomb:

:bomb:

:bomb:

:bomb:

:bomb:

:bomb:

:bomb:

:boom:

Don't say I didn't warn you.

Ricard's objects to access the encoders, buttons and the LCD worked for the PreenFM2 with almost no modifications. Amazing work!

I do have the fork on my github but since this was some time ago I can't remember if it's up to date, and since there are these breakneck hardware hacks involved in getting it to run I wouldn't recommend anyone doing this to their Preen. In fact building a veroboard Axoloti using a STM32F4 Discovery board is more reasonable than this mess.


#2

this is.... great :smiley:
I ignored the warning, because I was too curious, but I'm not doing this to my Eurorack Preen.
Although the hardware platform is just a great base for something like axoloti. So nice hack.. it would be super to see something like axopatches just show up as "banks" in the preen, transforming the whole box to something that would just run axopatches next to preen synths :slight_smile:

nice work!


#3

Wow look at those wires! Haha well done


#4

Hahahaha, this is absolutely terrible :smiley:

I hope the PreenFM2 guys aren't seeing this .. their poor baby :#


#5

Am I the only one who feels that the PreenFM doesn't sound very ... good? I much prefer the sound of e.g. MicroDexed


#6

Just recently got a PFM2, and the people who said that it sounds very "clean" are quite right. It fits really well with my setup. My only wish is that the sound was a little hotter since the mixes get a little quiet once all the voices are in use. Can I rig an op amp in there somewhere? I'm still such a n00b :joy:


#7

There actually is a dual op amp in there (at least in my older PCB version) but it is only wired as an active low pass filter with unity gain. In theory you could add two resistors per channel (total 4 resistors) to make the opamp amplify the signal there.

Ignore C17 and C18. If you look closely at the two circuits they each match the "First Order Low Pass Filter" configuration below:

By adding two resistors, you create a feedback gain (i.e. "Active Low Pass Filter with Amplification") which will amplify your signal:

Source: https://www.electronics-tutorials.ws/filter/filter_5.html

Hint: Choose R2 bigger than R1. For example you would choose R2=47k and R1=10k to amplify your signal times 4.7. Check the source link for an explanation.


#8

Well would ya look at that, all it takes is four resistors. I've found the chip, and it's the MCP6002I. Have you tried this modification with yours? Also, is there anything lost in the process of doing this?

The one other mod I want to put in there is a headphone jack. Someone on the forum did to theirs as well and gave some detail. Thanks for the help!


#9

I haven't tried this mod but I don't see why it wouldn't work. Even the whole virtual ground thing op-amps commonly require is not needed here as the opamp receives DC (at least on my PCB version, r5. You might have the newer PCB from last year which has a proper DAC so I don't know about that).

I also don't think trying this mod could damage anything. However I am not an expert so don't quote me on this and I am not responsible for any damage.

Do you happen to have schematics of your newer PreenFM2 version?


#10

It's the 2020 R6 version of it, definitely. The only thing close to a schematic that I could find is the image from the build instructions. I've located the op-amp on the board.

Not sure if this is at all useful, but here's a picture of the area around it there on the top right.

upon closer inspection, it would appear that I forgot to solder something :sweat_smile:


#11

That is indeed the CS4344 DAC of the 2020 version! However there doesn't seem to be an opamp anymore, as none is required with this DAC.


#12

In that case you might have to rig an opamp in there, a MCP6002 would be good, or you could go straight for the MCP6004 so that you can make an output amp and a headphone buffer/amp with just one quad opamp?


#13

Oh, I'm just realizing that the image is super cropped. There's definitely a little MCP6002I if you expand it. But hey, if I do this thing and it works out I'll definitely let you know. :grin:


#14

Since the amplitude reduction is in software and the opamp runs on +5v Single supply (meaning +/-2.5v peak voltages which really isn't much higher than line level) I'm just wondering how much gain you'll get.


#15

does Axoloti recognize PreenFM2's MIDI ports ?


#16

Yes, it's about the same circuitry, standard midi in and out adjusted to 3.3v.