FM VCO with Arduino (Hagiwo)

it may be interesting (me first :slight_smile: )

Here’s the last module from @HAGIWO
(2 operational FM VCO module with mozzi library)

4 Likes

@HAGIWO is just dang wizard with arduino. This is magic, you cant convince me otherwise.

(つ˵•́ω•̀˵)つ━☆゚.*・。゚҉̛༽̨҉҉ノ

4 Likes

cool!!! deffo gunna put a couple of these together :D.

I have just asked hagiwo if they mind me doing a video covering the build of it and their channel looks like some cool Arduino projects!!, and if they mind me bashing together a kosmo format design for it for my synth (not for the shop) and also share the kicad file etc if other people want to build it kosmo size.
Ill let you know what they come back with, because yeah having that 5cm wide module for fm sounds would be awesome!

no idea if thats cheeky or not so ill let you know

4 Likes

We were just talking about licensing over here. It’d be good to have these projects tagged with licensing information. The fact they’re being published as they are suggests there’d be no problem, but with a definite license you’d know without having to ask.

1 Like

oh ok cool! licensing is definitely a hot subject. ill have a read as its something I need to somewhat clear up on my end too.

The magic’s pretty much in the Mozzi library, the code is pretty simple and is just adapted from a Mozzi example. Not to denigrate @HAGIWO’s work!

@fredrik said elsewhere an MCP6002 ($0.36 at Mouser) should work in place of the NJM2732D ($2.58). It’d be even nicer if something from Tayda would work, but I don’t see any that are rail-to-rail input/output.

2 Likes

I guess I should have looked at the schematics before posting that comment :grinning:, because it turns out the opamp is only used to buffer the filtered dual PWM output, so if you have ±12 V you can power the opamp with that and use pretty much anything.

If you only have +12 V, an LM358 could work as long as you only drive high impedance inputs, but in that case you might want to shift the input signal a bit to keep the output away from the minus rail (the LM358 is minus rail in, near minus rail out).

3 Likes

@HAGIWO wants his stuff to work on +5 V only (or +12 V). So I guess he wants something that’ll go near the plus rail in/out. Those who don’t care about that constraint and have +12 V or ±12 V have other options, it seems.

3 Likes

Has anyone built the 808/909 module that @HAGIWO designed?

Hello.
My source code and schematic rights are completely free.
Therefore, I do not include any rights notes in the documentation.

However, for the Mozzi library, I think you need to respect the Mozzi license “Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International”.

6 Likes

Because they are free, it would be a good idea to include rights notes in the documentation — saying so.

You might consider CC0:

[M]any legal systems effectively prohibit any attempt by these owners to surrender rights automatically conferred by law, particularly moral rights, even when the author wishing to do so is well informed and resolute about doing so and contributing their work to the public domain…

CC0 helps solve this problem by giving creators a way to waive all their copyright and related rights in their works to the fullest extent allowed by law…

3 Likes

No ! I was considering that, but seeing as the samples were removed in the code I felt I didnt have the time to encode them myself. I have tried before but with mixed results … but otherwise quite a tempting module.

2 Likes

Someone can tell me if it’s very important for the opamp to use a “NJM2732”, or can we use a classic TL ?
thx

See above:

1 Like

thx, so if i well understand, i can use a TL071 if i use + &- 12 V rail power ?

Yeah, the filtered PWM output produces a voltage between 0-5V, so you need an opamp that can handle that both on inputs and output. That’s either a rail-to-rail amp (as in the original) or something with enough headroom between signal and rails.

1 Like

@HAGIWO or anyone: I should know better than to ask questions like this this early in the morning, they tend to have obvious answers after breakfast, but here goes: Is there some reason the pulldown resistor on each input is placed after the series resistor and not before? In that position a voltage divider is formed, reducing the level reaching the pin, which is why on the V/oct input the series resistor has to be lowered and the pulldown resistor raised. But why can’t the pulldown resistor be put first, between the jack and the series resistor?

YES! As you say, the resistors should have been placed so that they would not divide the voltage.
Thanks your advice.

2 Likes

Here’s mine

4 Likes

Cool! The Mozzi Library is so powerfull and it actually works better for FM. The low pass filter is very resource consumming. Additive synthesis is lighter on the processor because substractive is like a simmulation and additive is just adding stuff. That’s what I found when I was experimenting with it. It’s also very easy to use so If you got a grasp on the functions you can create your own stuff easily.

4 Likes