I have an Arduino project where I am using an ESP8266 (Wemos D1 mini) powered via USB. I want/need to output an analog voltage from 0 to 10V.

A solution that is pre-made (eg a shield or sparkfun type module) or easy to build circuit that does not require a new power supply (besides the ones I have which is 3.3V and 5V, thanks to Wemos USB power).

Many devices allow you to control them using a 1-10V signal. I have two LED drivers at home that I would like to interface with: specs1, specs2.

What would be the easiest solution to generate a 1-10 Volt signal? Is there a module I can use?

I read about Op-amps but I don't yet have the knowledge to build one myself. Another method is a DAC, but that seems to require a separate 10 Volt power supply.

  • 2
    Seriously! My question might have issues, but downvoting without leaving an explanation is to say the least not constructive. This gives me a sour taste as a new user. My only option now is to leave as I am clearly not welcome here for reasons unknown to me, – David Sep 7 '18 at 12:16
  • 1
    Welcome to Arduino:SE. I'm not one of those who downvoted, but the question does look to be off-topic here. There is a good guide on How to ask a good question for Arduino Stack Exchange on our meta site. – sempaiscuba Sep 7 '18 at 12:23
  • 1
    I didn't downvote, but I did vote to close, unfortunately. This would be better asked on SE.Electronics as it isn't really Arduino specific (unless I am missing something) – Greenonline Sep 7 '18 at 18:09
  • 1
    @Greenonline, the question is here, so we can answer, how to do it with Arduino. my answer is on-topic, I think – Juraj Sep 8 '18 at 15:13
  • 2
    But @Juraj, whilst your answer seems to be a good answer, it doesn't really mention Arduino (apart from your link), and it seems to be an electronics interfacing question & answer, rather than Arduino specific. I'll cast a reopen vote though – Greenonline Sep 8 '18 at 15:26

You do not need a DAC. In this 'regulation cases' PWM on digitalPin is used. See analogWrite Arduino function.

I use Grove MOSFET module to have PWM of desired voltage. The MCU generates a 3.3 V PWM. MOSFET module gets in my case 5 V as input voltage. You would use 10 V as Vin. MOSFET switches the 10 V line on and off at 'PWM speed' resulting in 10 V PWM.

As 10 V source you could use a 'boost' converter, to convert 5 V to 10 V.

This is the schema of the Grove MOSFET module:

enter image description here

| improve this answer | |
  • 2
    i would add a cap to the output to filter the PWM into a steady voltage. – dandavis Sep 7 '18 at 16:21

The ADM660, link below,

is a charge-pump voltage converter that can be used to either invert the input supply voltage giving VOUT = -VIN or double it (ADM660 only) giving VOUT = 2 x VIN.

It accepts an input range between 1.5V-7V so if you use the 5V from the Wemos USB power you'll be able to reach the desired 10V for your application, and it's cheap :)


| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.