I traced the PCB of ZK-MG Motor governer and found that it drive red 7-segment LED display without any current limiting resistor. I know it possible but (Q1)which technique does it use? and (Q2) Does it has any disavantage? By the way, I think it good idea to reduce complexity and quantity of part.

Here's the PCB. enter image description here enter image description here

Here's the result schematic (Only relevent part)

enter image description here

It has ARM microcontroller, HK32F030MF4P6

I probed Segment pin (compared to ground) and got 3.3V square pulse wave from as shown.

enter image description here

But for digit pin, it just about 1.0V to 1.5V.

enter image description here

  • \$\begingroup\$ Does the display module have in-built current-limiting resistors? \$\endgroup\$ Feb 26, 2023 at 17:53
  • \$\begingroup\$ @AndrewMorton I thought about that before if it true, digit pin should be 3.3V square-wave too. \$\endgroup\$
    – M lab
    Feb 26, 2023 at 17:59

1 Answer 1


It depends on the chip characteristics to limit the current. At 3.3V with that particular chip and the particular type of LED display it seems to work well enough.

The display used is a common cathode type (probably ~660nm GaAlAs) so the digit drivers must supply up to 7 or 8x the current that each segment driver sinks. As you can see the driver voltage is quite different for some digits than others. The result will be that a lone '-' for example will be significantly brighter than an '8' or '8.'

This is helped a bit by the fact that CMOS outputs tend to be better at sourcing current than sinking it. Some MCUs also have different drive currents for different pins, with either a few dedicated high current pins or selectable drive current. The digit drivers shown appear to be open-drain.

All CMOS outputs have a V-I curve associated so for any given output voltage they will sink or source a certain amount of current, so it's almost like having a really poor tolerance voltage-dependent resistance in series with each pin.

Although it's pretty dodgy, this will work so long as you don't have high standards as to appearance of the display and are comfortable that the characteristics of the chip and display won't much change in subsequent buys. This kind of corner-cutting was first practiced (to my knowledge) by the iconic inventor Clive Sinclair in his calculator- by leaving out the drivers the cost and size was drastically reduced. The visual appearance would be better if you didn't have the adjacent digits to compare, given the log human eye response. Using the GaAlAs displays also means there is less current required on average and a larger margin between unacceptably dim and damaging to the LEDs.

The alternative would involve something like 8 resistors and 3 transistors (with internal resistors or another 3 resistors) to get a high-quality appearance that is consistent. Or an inexpensive driver chip with guaranteed output characteristics. n.b. It's possible that some MCUs have such segment driver characteristics guaranteed and dedicated high current sink capability digit drivers. Particularly possible with Asian ones aimed at high volume lower end products.

Personally, I think the few added pennies are worth it to get a high quality product unless you're making a cheap toy or such like.


Your Answer

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

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