TN1637 shutdown

I have a project using a LINX receiver and I want to use a display to show numbers. I am using a 7segment with the TM1637 chip and the display is emitting enough RF to kill the reception of the receiver. I am using TM1637Display.h library and would like to shutdown the display when the receiver is receiving data; the TM1637 library has a "stop" function but it is in the protected part of the .h file.
Is there a way to shut down the display??

Bill

I’m not sure about turning it off , you could dim it , might help .
It would be useful to see your wiring diagram and sketch - it sounds to me like a power supply issue - I would not be powering the display and radio from the Arduino if that helps .

Please link to the library. There are multiple libraries for this IC, all with identical or similar names.

What do you mean, "the protected part of the .h file"? Do you mean the class declaration?

What efforts have you made at RFI mitigation?

Don't think its power supply, It is 3.3v solid at the receiver. I have tried two approaches

  1. i2c bus, lipo(3.7v)powered ARDUINO, Arduino 3.3 powers radio and i2c bus
  2. SPI bus 0r no bus, Lipo powers 5v regulator, 5v regulator poweres ARDUINO and 5v display, arduino powers radio. The result is always the same; 10 ft range with display plugged in, 200-300ft range with display unplugged.

The attached image shows approach #1.

The TM1637 library I using is :
TM1637Display.h (7.2 KB)

Would you mind giving more details about the display? It is, after all, your suspect part. I've not seen a 15 segment display based on the TM1637 before. Isn't that an expensive way to display 7 segment data? Also please provide a link to the library, not just the header file for it.

I have solved some interference problems with similar devices by soldering a 100uF electrolytic cap across the power supply and ground inputs.

Here is the link to the library I am referencing.

https://github.com/avishorp/TM1637

I have tried several displays.

For the test #1 I used a SPARKFUN alphanumeric QWIIC Part#com-16916 on i2c qwiic bus and using the Sparkfun_alphanumeric_display.h library

For test #2 I used a generic 7 segment display from AMAZON https://www.amazon.com/gp/product/B07MCGDST2/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&th=1

And using the TM1637 library(above link)

I also tried a ADAFRUIT OLED PART #2675

https://www.adafruit.com/product/2675

on this display I had to solder a 220uf capacitor(gnd to VCC) to get some range from the radio but still not enough.

I checked the supply voltage with a scope and it is rock steady at the radio. So I do not think the RF is coming thru the power supply.

I tried wrapping the display with tin foil and grounded the tin foil but there was no improvement.

So far the only thing that works is to disconnect the display while the radio is receiving data.

Thanks for your help.

Bill

The Sparkfun board uses the HT16K33/VK16K33 display controller, not the TM1637. You didn't post the results of your tests #1 and #2. Or the un-numbered one using an OLED. You didn't comment on my suggestion of putting a bypass cap on the display.

In an RFI situation, one can not depend on generalities. If the image you posted is an outdated one, of hardware you are no longer using, we need an update.

Desensitization of an RF receiver by digital circuitry is a classic problem with no universal solution. So if you want help with it, you have to proceed step by step with posts that introduce a particular setup in detail, along with the detailed results of carefully crafted tests.

We need feedback from questions that are asked, for example Hammy's one about dimming the display. Even if it doesn't fix it completely, it could yield some clues.

Aarg:

Thank you for your input and I am sorry you have lost sight of the original question which was

“ is there a way to shut down the TM1637”

I am still waiting for a professional response to that question.

I know what the problem is; I guess sharing what data I have so far leads you believe that I need a lecture on troubleshooting and for that I appreciate your interest but please stick to the question asked in the first place.

If you have any professional questions then please post them in a friendly manner and I will educate you.

Thanks

Bill

Thanks but I already have an education. I do not believe I have been unfriendly. I have only been asking for information, and pointing out missing information.

Indeed, I did attempt to address the software question directly in reply #3, but never got enough details from you to continue with that line of reasoning. I asked about the class definition. I made a concerted attempt to identify the library so I could see for myself.

If you know that the library has a shutdown function, you could simply post the library code and ask about it. But instead you ultimately chose to bicker and impugn my professionalism. Good luck.

With that library, you can turn the display on/off with the on/off parameter 'bool on' to the brightness setting function:

void TM1637Display::setBrightness(uint8_t brightness, bool on)

Hammy
Thanks for your input.
I used the display.clear() function and this helped a lot; I guess the interference comes from the LEDS themselves. I am using the RSSI pin on t he LINX receiver to measure interference and the RSSI levels went to a normal level when display.clear() was called.
So I now I turn off the display(display.clear()) when I want to receive data and then call display.numberDec(XXXX) when I want to read the number of transmissions; I have a EEProm storing the data received so I just call up the data from the EEPROM.
Thanks again for your help.
I will do range testing today and let you know if it really fixed the problem.