Author Topic: Brightness and readability of 7-Segment display - TM1637 or similar  (Read 1889 times)

0 Members and 1 Guest are viewing this topic.

Offline eTobeyTopic starter

  • Super Contributor
  • ***
  • Posts: 1578
  • Country: de
  • Virtual Features for the SDS800XHD -> My website
    • Virtual feature script
Hi,

I am working on a display that shows values. I want to have it very dimm when its dark. I found, that the module I bought can do brightness, but its still to bright for me. Ideally I want to have the brightness to go down to zero. Are there modules that can do this, or can I achive it with the TM1637?

Edit:
I added my improvment of the readability here too. (see below)
« Last Edit: January 25, 2026, 01:38:20 pm by eTobey »
"Sometimes, after talking with a person, you want to pet a dog, wave at a monkey, and take off your hat to an elephant."(Maxim Gorki)

Siglent SDS800X HD bugs/issues/workarounds (Partially updated 3. Mar 2026)
 

Offline PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 3364
  • Country: au
Re: Brightness of digits display TM1637 or similar
« Reply #1 on: January 22, 2026, 07:14:09 pm »
Hi,

I am working on a display that shows values. I want to have it very dimm when its dark. I found, that the module I bought can do brightness, but its still to bright for me. Ideally I want to have the brightness to go down to zero. Are there modules that can do this, or can I achive it with the TM1637?

The simple/cheap display drivers all seem to be fixed 8 steps.
Holtek have some 'better ones' that have 16 current steps and 256 digital steps, see HT16D3.. series
 

Offline eTobeyTopic starter

  • Super Contributor
  • ***
  • Posts: 1578
  • Country: de
  • Virtual Features for the SDS800XHD -> My website
    • Virtual feature script
Re: Brightness of digits display TM1637 or similar
« Reply #2 on: January 22, 2026, 08:51:24 pm »
I cant find any displays, but one on Amazon Japan, but I dont speak Japanese. I guess there would be also no library for it.
"Sometimes, after talking with a person, you want to pet a dog, wave at a monkey, and take off your hat to an elephant."(Maxim Gorki)

Siglent SDS800X HD bugs/issues/workarounds (Partially updated 3. Mar 2026)
 

Offline pqass

  • Super Contributor
  • ***
  • Posts: 1168
  • Country: ca
Re: Brightness of digits display TM1637 or similar
« Reply #3 on: January 22, 2026, 08:52:20 pm »
Drive the module at 4V or 3.3V with a resistor divider each for the DIO and CLK inputs (if neccessary to keep inputs below Vcc).
This assumes the driver IC will work at those voltages. 
Alas, the datasheet doesn't mention Vcc range.  However, "tech specs" here says 3.3V < Vcc < 5V.
 

Online edavid

  • Super Contributor
  • ***
  • Posts: 3786
  • Country: us
Re: Brightness of digits display TM1637 or similar
« Reply #4 on: January 22, 2026, 09:28:29 pm »
If you use a MAX7219 based display, you can switch the current into the ISET pin to reduce the brightness.
 

Offline eTobeyTopic starter

  • Super Contributor
  • ***
  • Posts: 1578
  • Country: de
  • Virtual Features for the SDS800XHD -> My website
    • Virtual feature script
Re: Brightness of digits display TM1637 or similar
« Reply #5 on: January 23, 2026, 11:46:15 am »
Drive the module at 4V or 3.3V ....

Cant do that, I need full brightness at daylight.  8)

Also I have a light sensor on the data line, giving a analog signal back to the microcontroller. Works, awesome, but limits things I could further do.


The MAX7219 is a nead idea. Gives also the option to set custom characters, which I dont have with the current. Current... speaking of which i wonder how much the MAX consumed with 4 digits.
"Sometimes, after talking with a person, you want to pet a dog, wave at a monkey, and take off your hat to an elephant."(Maxim Gorki)

Siglent SDS800X HD bugs/issues/workarounds (Partially updated 3. Mar 2026)
 

Offline mariush

  • Super Contributor
  • ***
  • Posts: 5344
  • Country: ro
  • .
Re: Brightness of digits display TM1637 or similar
« Reply #6 on: January 23, 2026, 01:54:07 pm »
You have several "levels" of brightness configurable, basically the chip just reduces the amount of time each led segment is kept on ... usually it's something like 0.1ms of on time for each digit.

You can get less brightness by programatically turning on and off digits but you'd get more flicker, as in turn on one digit every other update, so that half the time the digit will be off. But this will waste cpu cycles.


One trick you could do is to use very basic shift register led driver chips with 16 or more channels and use a digital potentiometer to change the maximum current, or maybe use a DAC to inject current instead of using a resistor.  Of course, you could still just use a fixed resistor and turn on and off the whole display to reduce the amount of time the segments are on, or you could update the 16 segments 1000 times a second and reduce the perceived brigthness by turning some segments on every other update or every 3-4 updates and so on...

See for example SM16306SJ, a 16 channel shift register led driver that costs 6 cents a piece : https://www.lcsc.com/product-detail/C2830324.html
Each chip could control up to 2 digits with 8 segments.
The led segment current can be set between 3mA and 32mA using a single resistor, formula is IOUT =18600/Rext mA ... so you'd be looking at a value between 600 ohm and ~ 8600 ohm - a 10k digital potentiometer should work fine.


The next option is to move to  led matrix driver chips, they can be used just like led digit drivers, but you may have to choose specific digits for your display.

For example, have a look at IS31FL3236A : 

QFN-44 : https://www.lcsc.com/product-detail/C246443.html

TQFP-48 : https://www.lcsc.com/product-detail/C5714539.html?s_z=n_IS31FL3236

It's a 36 channel led driver, you set the maximum current using one resistor, and then each channel can be set to a particular brightness. 

If you use individual led digits with one anode and 7-8 cathodes, then each segment can be connected to one of the channels of the drivers and you can control each segment separately.

IS31FL3729  can do 16×8/15×9 matrix ... so you can have up to 9 digits and 15 segments or 8 digits and 16 segments and control each led individually with 256 brightness levels

https://www.lcsc.com/product-detail/C2940549.html?s_z=n_is31fl3

IS31FL3733 can do 12x16 matrix, so you can have 16 anodes (digits), and 12 cathodes (you don't have to use all 12 cathodes, you could use the IC to control 16 digits with 8 segments each)

https://www.lcsc.com/product-detail/C506251.html?s_z=n_is31fl3

Digikey has this one in both TQFP and QFN packages : https://www.digikey.com/en/products/filter/power-management-pmic/led-drivers/745?s=N4IgTCBcDaIJIGUDMBGAYgGSQdiUkAugL5A
« Last Edit: January 23, 2026, 01:58:30 pm by mariush »
 

Offline PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 3364
  • Country: au
Re: Brightness of digits display TM1637 or similar
« Reply #7 on: January 23, 2026, 08:10:10 pm »
Cant do that, I need full brightness at daylight.  8)
Also I have a light sensor on the data line, giving a analog signal back to the microcontroller. Works, awesome, but limits things I could further do.

A bit of a kludge, but you could try varying the voltage, since you have some light sensor.
The parts have current regulation, so they will not change much until dropout, so you need to adjust into the zone where the light falls sharply, but the IC is still above any UVLO.
You may be able to PWM that between two voltage points, to get smoother control, but watch the scan rate (~500us per digit) and beating effects.

 

Offline eTobeyTopic starter

  • Super Contributor
  • ***
  • Posts: 1578
  • Country: de
  • Virtual Features for the SDS800XHD -> My website
    • Virtual feature script
Re: Brightness of digits display TM1637 or similar
« Reply #8 on: January 25, 2026, 12:15:40 pm »
You can get less brightness by programatically turning on and off digits but you'd get more flicker, as in turn on one digit every other update, so that half the time the digit will be off. But this will waste cpu cycles.
This will not only waste, but essentially hog down the CPU. But you gave me the idea, to PWM the Vcc for the display. It draws about 17mA at "8888".


The next option is to move to  led matrix driver chips, they can be used just like led digit drivers, but you may have to choose specific digits for your display.
These are some nice ones, but I want to try finish projects, not create new ones.  ;D


A bit of a kludge, but you could try varying the voltage, since you have some light sensor.
When changing the Vcc, then levels have to be changed too, or to be less from the start. Nothing I believe I could put onto my PCB additionally.
Also I gotta finish somewhen. I spent quite a few hours for readability of the display. I might post the outcome here too later.
"Sometimes, after talking with a person, you want to pet a dog, wave at a monkey, and take off your hat to an elephant."(Maxim Gorki)

Siglent SDS800X HD bugs/issues/workarounds (Partially updated 3. Mar 2026)
 

Offline kripton2035

  • Super Contributor
  • ***
  • Posts: 2900
  • Country: fr
    • kripton2035 schematics repository
Re: Brightness of digits display TM1637 or similar
« Reply #9 on: January 25, 2026, 12:42:40 pm »
I've spent some time to learn to program and use ch32v chips with arduino.
it was really worth it. they are only a few cents each
I made a display driver with only one tssop ch32v chip and the display itself (5 digits)
I added a brightness level with 256 levels, only needed a few lines of code.
Now I'm building a 3 displays module to display the x,y and z of my mini mill using igaging cheap rulers.
I will be using a tqfp ch32v chip to drive all 3 displays in the same chip.
 

Offline eTobeyTopic starter

  • Super Contributor
  • ***
  • Posts: 1578
  • Country: de
  • Virtual Features for the SDS800XHD -> My website
    • Virtual feature script
Re: Brightness of digits display TM1637 or similar
« Reply #10 on: January 25, 2026, 01:32:44 pm »
I've spent some time to learn to program and use ch32v chips with arduino.
it was really worth it. they are only a few cents each
Yes, it would be awesome to have a display controller that is adjustable.

Where did you get the chips from? And how much cents exactly?
"Sometimes, after talking with a person, you want to pet a dog, wave at a monkey, and take off your hat to an elephant."(Maxim Gorki)

Siglent SDS800X HD bugs/issues/workarounds (Partially updated 3. Mar 2026)
 

Offline eTobeyTopic starter

  • Super Contributor
  • ***
  • Posts: 1578
  • Country: de
  • Virtual Features for the SDS800XHD -> My website
    • Virtual feature script
Re: Brightness of digits display TM1637 or similar
« Reply #11 on: January 25, 2026, 01:37:07 pm »
I have improved the readability of the 7-Segment display:

I used a red marker, and some trickery. I spend many hours testing and fiddeling around:
I held a flashlight in the worst possible position, to see what the measures would do. I also used the cameras flash a t one time.
The bottom display is off, but just compare to the segments above that are also off.

To create the hotmelt version: The display has to be preheated, so the hotmelt will continue to flow. Also the counterpart. Using something else than baking paper could still improve the readability, as it would remove the last tiny reflections.
« Last Edit: January 25, 2026, 01:40:47 pm by eTobey »
"Sometimes, after talking with a person, you want to pet a dog, wave at a monkey, and take off your hat to an elephant."(Maxim Gorki)

Siglent SDS800X HD bugs/issues/workarounds (Partially updated 3. Mar 2026)
 

Offline kripton2035

  • Super Contributor
  • ***
  • Posts: 2900
  • Country: fr
    • kripton2035 schematics repository
Re: Brightness and readability of 7-Segment display - TM1637 or similar
« Reply #12 on: January 25, 2026, 01:45:54 pm »


Quote
Where did you get the chips from? And how much cents exactly?


1.75 euros for 10 pieces, shipped .
https://www.aliexpress.com/item/1005009089792395.html
« Last Edit: January 25, 2026, 01:55:44 pm by kripton2035 »
 

Offline David Hess

  • Super Contributor
  • ***
  • Posts: 19220
  • Country: us
  • DavidH
Re: Brightness of digits display TM1637 or similar
« Reply #13 on: January 25, 2026, 09:04:44 pm »
If you use a MAX7219 based display, you can switch the current into the ISET pin to reduce the brightness.

That is what I was thinking.  I thought LED display drivers relied on an external set current, so this could be varied with a photosensor.
 

Offline PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 3364
  • Country: au
Re: Brightness of digits display TM1637 or similar
« Reply #14 on: January 25, 2026, 10:09:08 pm »
I made a display driver with only one tssop ch32v chip and the display itself (5 digits)
Are the pins of the ch32v really up to led drive ?
The proper LED driver parts spec >> 100mA for the digit mux, and they have current drivers.

I guess a MCU could self correct for the poor pin drive, with adjust based on how many segments are lit.

Some MCU do spec LED drive, but they are not common.
eg the STC8HxxTL series have LED mux drive spec'd up to 200mA, and 8 steps of linear current sink that can be further dimmed. TSSOP20 thru TQFP48

Addit: here is the LED drive block for the STC TL series - it can support common anode and common cathode with two ram blocks, so can drive 16 digits from 16 pins.
STC8H4K32TL-40I-LQFP32  ~ 31c/500
STC8H4K32TL-40I-LQFP48  ~ 29c/500
STC8H4K64TL-40I-TSSOP20 ~ 34c/500

The PUYA PY32F030K18T6 is slightly cheaper LQFP32 ~26c, but it has only 4 high drive pins, and no current source feature.

Addit 2:  I've noticed SinOne have LED driving small MCUs recently released, showing up on lcsc. These have 16 linear steps, and a MCU 'for free'...

SC92F5319_5312_5311_5310 v0.2cn_SinOne_1T8051_8kF_512R_256EE_32MHz_2v4-5v5_MDU16_LinearLED_16Steps_LED130mA_8-24pins
SC92R349 v0.1cn_SinOne_1T8051_8kF_512R_256EE_32MHz_2v4-5v5_MDU16_LED130mA_8-24pins
SC92R436_v0.4cn_SinOne_1T8051_16kF_1kX_16MHz_2v4-5v5_MDU16_16xLED150mA_26io_8-28pins

The SO16 SC92F5311M16U shows as in stock, ~14c/500
Not yet in stock is SC92F5319S24U SSOP24  ~12.4c/500

« Last Edit: February 03, 2026, 03:01:19 am by PCB.Wiz »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf

 

-->