5V output to 12V output


I have to perrform a conversion from a gate signal generated in 0-5V by an Arduino in a 0-12V understandable by an old synthesiser. I think that with only a single transistor it's not makable... Am i wrong?



You need to know the characteristics of the said synthesiser. What is the input impedance? What speed/ frequency is required? Exactly what voltages?

If it is a matter of milliseconds and the input impedance is upwards of 1k, then an op-amp would probably do the job. In fact, an LM380 (audio amplifier) would do it even with a very low impedance (20 Ohms) up to about 20 kHz but I cannot guarantee it to pull down to 0V.

It's not an audio signal, it's a control signal to reset a LFO: A positive pulse of 12V on 1 or 2 msec. I think it's high impedance, like 100k or 1M. No way to do it with a transistor?

Well, a “plain” (NPN) switching transistor will switch with a base resistor and a collector resistor to 12 V but the collector resistor will not necessarily pull it completely to the 12 V rail nor do so very fast. 1 or 2 ms may be OK.

And a BJT does not pull down precisely to 0V, more like 0.2 to 0.4 V - probably good enough for your purpose. If you saturate it to get this voltage down, it tale many microseconds to turn off again. A FET is better in this regard; it pulls down very low and switches off as fast as you can discharge the gate capacitance.

In either case, they “invert” the logic so you feed in a LOW to switch it off and put the output HIGH and vice versa. If you want to not invert the logic or pull up the output very fast, you require more transistors or a logic IC.

The LM380 audio amplifier is really a basic “op amp” with a strong drive capacity where that is required. :sunglasses:

In either case, they "invert" the logic so you feed in a LOW to switch it off and put the output HIGH and vice versa. If you want to not invert the logic or pull up the output very fast, you require more transistors or a logic IC.

That was the meaning of my question, Timings and levels are not critical (except that 5V for high level it not enough). you've convinced me to use an AOP, Thanks a lot,


What's an AOP?

Oooops, sorry! It's a French acronym for amplificateur opérationnel". :slight_smile: I think you say operational amplifier or op-amp

Opamps aren't appropriate for logic signals. They are slow(*) and don't pull to the rails (unless truly
rail-to-rail output). Check that the input is actually high impedance with a meter, then you'll know
if a standard transistor level shifter circuit will do the job. If not a MOSFET gate driver will level
convert 5V to 12V with very low output impedance.

(*) for logic - logic signals should transition fast.

Alternatively, if you have 12 volts available on the synthesizer, you could use an opto-coupler, say 4n35.

However, if you want to do it with transistors and the there is also a common ground between the Arduino and the synthesizer, you could make a high side switch, for example:

You replace M and D2 with your "LFO" device.

The critical point here remains the characteristics of the device to be controlled, a music synthesiser.

I suspect the input is itself, an op-amp of sorts with a relatively high impedance and as the OP explains, not particularly critical control levels, so an op-amp would suffice. And this is a musical control signal, so the speed is not critical either. :sunglasses:

Note that it needs to be a "totem-pole" drive. Probably an actual application for the otherwise obsolete CMOS level converter, the CD4504.

Hello guys, Thaknks for your suggestions, I noted them. Here is the description of the LFO module.


I'm a newbee concerning electronic music but it's a part of a modular synthesizer I own, Doepfer is very popular for that, the principle is to put in a Eurorack elements you choose to build your unique synthesizer. The rack has a big powerplant for +12C, -12V and +5V. Adding a +5V power plant is recent, analog synths and modular synths works historically with only +12 and -12V.

The most important module is the oscillator, called VCO (voltage controlled oscillator). It generates a waveforms proportional to a tension on its cv input. this wave can be a square, a pulse, a triangle, a sawtooth, a sinus or somethins got from a wave table since microcomputers have decent DAC. That's probably why there is now a +5V powerplant embedded in Doepfer racks. VCO is s the "audio" part of a analog/modular synthesizer.

The VCO has a particularity: The cv input works in volt per octave, so 1/12 v per half-tone. I've find a way to generate several cv from arduino's pwm, you can have as much polyphony as the number of pwm of your Arduino and VCO in your rack.

Today, numeric keyboards work with midi but modular synthesizers work still with CV/GATE. The gate signal (12V) is active as long as you press a key. When you release it, it falls to 0V. For special modules (like LFO with delay) , a trigger is needed. It's like a gate but with fixed time of some milliseconds. This post started focusing on a LFO specific signal,, but my problem is more generic, how to convert +5V signals to +12V signals.

I'm thinking to the cheapest way of doing this. I've returned the LFO module back to the factory, I know after several tests that there is a problem.

But I want to drive my modular with an Arduino, it means 4 cv (from pwm) and 4 gates (from standard gpio). Now it plays ROM sequences but later, it will be controlled by midi and it's function will be midi/cvGate converter. I bought a mono one and a 4 voices one, but, as a do it yourselfer, I would like to build my own.

What about the fact that the Arduino analog output isn’t analog, but PWM? You can low pass filter it, but that introduces sluggishness when changing the output value. Since the PWM is in the audio range, it might “leak” into the synth audio chain.

Yes, low pass filter, buffer and adjustable amplifier to set exactly full range form pwm(0) to pwm(255).

If I use 2 steps by half-note, I can produce voltages for 8 octaves (it means 97 notes) using 194 steps of pwm. As 1 volt per octave is the rule, I have to amplify to get exactly +8V for the highest pwm value (193) I use.

Concerning the time to go from one note to another, especially if they are not close, It’s called portamento (or glide). Sometime you really want it, but often you want to avoid it… I can just choose the best average in the filter’s components values.

I think that using real DAC is not a cheap solution and could complicate a lot the sotware. Using I2C or emulating parallel 8 bits port on an Arduino is not my cup of tea. What I miss on Arduino is a ready to use 8 bits port… And a debugger, of course! :slight_smile: