I am working on a DALI system and I came across this schematic for the DALI power supply in a Microchip app note AN1465:

It says the power line can be 12-20 Volts but the current has to be limited to 250 mA or so. Some power supplies limit to 70 mA or 100 mA as well.

dali power supply

I need some help understanding this circuit.


simulate this circuit – Schematic created using CircuitLab

I made the schematic and ran a DC sweep for various values of R3 (1 ohm, 100 ohm, 1000 ohm) and understood that if I put a heavy load (R3), the voltage at Node1 will go low (mV range). However I need some help understanding what exactly is happening.

Is this schematic better or more efficient than a series resistor to limit the current to whatever I want. For example, I could simply put a 120 ohms resistor to limit the current to 100 mA on a 12 V power supply line.


Simply use a readily available linear voltage regulator IC. They cost cents and are easy to use, and actually do work reliably across their full range. Current limiting can be achieved either by a linear supply with current limiting built-in, or using something like a low-side shunt resistor (much smaller than 12 Ω) (diode-)attached to the feedback port of an adjustable linear regulator.

Maybe you're already using a supply that has current limiting! Many switch-mode supply ICs have dedicated current sensing and limiting functionality.


However I need some help understanding what exactly is happening.

When you draw a lot of current, the voltage across R1 becomes large enough to put the two diodes in forward operation, i.e. they start to conduct. Current going through the diodes can't go through the base of your transistor, which in turn "turns off".

  • \$\begingroup\$ Sorry sorry sorry, I forgot to mention the source and I missed an important point. DALI works on 12 V but the current has to be limited to 100-250 mA. Given circuit limits the current not the voltage. \$\endgroup\$ – Whiskeyjack May 13 '19 at 10:47
  • \$\begingroup\$ ah ok, modified a bit \$\endgroup\$ – Marcus Müller May 13 '19 at 10:50

A series resistor will not achieve what is required - the voltage has to stay above 12V for all currents until you get to the current limit point, and then it must collapse below 4.5V. The supply must be able to supply the input current for all the devices on the line (eg 2mA max for each control gear) without the voltage dipping below 12V, but when low pulses are to be sent by pulling down on the line, the supply must go into current limit within 10us with the voltage falling below 4.5V.

You don't want a linear slope down to 0V as the current increases, for example, your 120 ohm resistor would drop 6V when the current is 50mA, so you only get 6V output, which isn't acceptable for DALI.


Careful with this circuit - it limits the current to about 70mA, which is not enough to drive a full bus of 64 units. I'd suggest maybe 150mA for that (max draw for each unit is 2mA, plus you have the same circuitry on the master unit - 65 x 2mA = 130mA minimum). Reducing the resistor to 5R1 should do it.

Otherwise the AN1465 note is fairly good, I've built a lot of units based on that circuit.

EDIT: I'm actually working up some of these now, just tried swapping in a 5R1 - the solder melted and the PZT222A fell right off the board. Which did limit the current, but it seems a bit drastic.

The circuit I normally use is the one referenced in this post: Current source vs current limiter - an LM317 with a series resistor. I use a 5R1, limits power to about 240mA in theory.

  • \$\begingroup\$ Hey Mike, thanks a lot for your response. I am about to make one of these circuits. To keep things simple, I am taking a 16 VDC PSU and put a current limit circuit in front of it to make it a DALI bus supply. Do you have any working circuit that I can start with. I will fine tune it if required. \$\endgroup\$ – Whiskeyjack Jan 31 at 17:59
  • \$\begingroup\$ It's literally as I said in the edit, with the link to the related stackexchange article. I've been using an LM317 and a 5R1 resistor - SOT223 and 2512 SMT - and putting 16VDC into it, same as you. Only two components so it feels a bit like cheating, but it's worked for the last four years, and that's with (from memory) 60 units on the largest bus. If I were to change anything, I'd swap the LM317 to a TO263 footprint, as it gets pretty hot. \$\endgroup\$ – Mike B Jan 31 at 19:40
  • \$\begingroup\$ If it helps: oshpark.com/shared_projects/xffwUYmq and oshpark.com/shared_projects/K7mhXKt6. \$\endgroup\$ – Mike B Jan 31 at 20:06
  • \$\begingroup\$ Thanks a lot, Mike. I will just use your tested circuit. saves a lot of time and headache for me. Previously I was thinking of making transistor-based schematic but yours is fairly simple. Please let me know how can I buy you a beer. Appreciate your help a lot. \$\endgroup\$ – Whiskeyjack Feb 1 at 8:11
  • \$\begingroup\$ A pleasure. I've asked enough questions here myself, you just happened to find the one area I've actually got some experience in. Good luck. Last PS, if you're ever going to add power to the bus from another source, the LM317 doesn't like VOut > VIn. I also put a diode in the circuit after the output to block back current. \$\endgroup\$ – Mike B Feb 1 at 9:44

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.