Is it feasible to construct a variable voltage SMPS using one of each of the following:

  • ATtiny84 microcontroller
  • IRF4905 power PMOS
  • 2N7000 signal NMOS
  • 4.7mF cap
  • 220uF cap
  • AD5280BRUZ100 100kOhm digital potentiometer
  • 680mH inductor
  • 1N5819 Schottky diode
  • AMS1117-3.3 LDO regulator

An external host device should be available to talk with this SMPS and adjust its output voltage between 0 and 12V.

--- EDIT ---

The design I have in mind:


simulate this circuit – Schematic created using CircuitLab

The pot on the right is part of AD5280BRUZ100 chip. The ATtiny84 is programmed to take commands from the I2C interface and use PWM to control the amount of energy each packet contains.

Input is 30V from an mains isolation/step down transformer and a bridge rectifier.

  • 3
    \$\begingroup\$ This is a very specific bill of materials. That implies that you have a particular design in mind. So, please post a schematic of your proposed design. \$\endgroup\$ Dec 22, 2014 at 1:31

1 Answer 1


Most of the AVR Tiny & Mega devices that are specifically designed for SMPS have "Fast PWM". This implies a counter that is clocked from a signal that is a multiplied version of the MCU clock. This feature gives a faster PWM signal, thus allowing smaller components. The Tiny84 does not appear to be one of those.

On the other hand, there is absolutely no reason why you could not built a SMPS from that device. Whether or not you can do it with exactly that parts list is anybody's guess. If you have such a specific list, you must have a design in mind and it would really help if you gave responders more information. You have also NOT said what your input voltage is. If the input is NOT greater than 12V, you will have problems because most SMPS only do boost or only do buck, but not both.

Personally, I would have the MCU manage the PWM AND drive the digital pot. And, I would have serial (RS232, USB, etc) from the outside world set the pot that sets the feedback that sets the voltage. All that said, you MAY have some challenges with conflict between the serial input, the digital pot control, and the link between feedback input and the PWM.

  • \$\begingroup\$ The USI is used as I2C slave taking PMBus to the host, and a software I2C is created from two PIO's to talk to the pot. \$\endgroup\$ Dec 22, 2014 at 9:32
  • \$\begingroup\$ Experimented a bit and successfully boosted 5V rail of Arduino Leonardo to 24V without my Mac complaining about overcurrent. \$\endgroup\$ Dec 26, 2014 at 6:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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