TM1637 not working with ESP8266

Hello to everyone,
i bought this seven segment display:

https://www.amazon.it/HiLetgo®-digitale-display-segmenti-analogico/dp/B00HFQEJCW/ref=sr_1_2?__mk_it_IT=ÅMÅŽÕÑ&keywords=tm1637&qid=1563694698&s=gateway&sr=8-2, but it's not working at all.

I'm following this tutorial:

https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=12&cad=rja&uact=8&ved=2ahUKEwjd9ofywMXjAhUQ_qQKHYGuBh0QFjALegQIARAC&url=https%3A%2F%2Fhalckemy.s3.amazonaws.com%2Fuploads%2Fattachments%2F257650%2Fuser_guide_for_tm1637_4_digits_display_Yr8LQNg7dV.pdf&usg=AOvVaw3sMCchdJgqdRHPaIaorwCQ

and i downloaded this libary : Arduino Playground - TM1637.

I followed the connection scheme from the tutorial (with the only difference that i'm using 3.3 V to power the display), but it is just always off.

Thank you for your help.

Note on the back of the display are two capacitors labelled "C3" and "C4".

Remove them (using a soldering iron! It is fairly easy). :astonished:


Just incidentally, the correct version of your first link is https://www.amazon.it/HiLetgo®-digitale-display-segmenti-analogico/dp/B00HFQEJCW/ and the second one is https://halckemy.s3.amazonaws.com/uploads/attachments/257650/user_guide_for_tm1637_4_digits_display_Yr8LQNg7dV.pdf
.

Hello Paul__B, thank you for your fast and clear answer. Why do they put those capacitors, if they are useless?

Good question!

They (makers, Chinese) are simply stupid!

See capacitors C1 and C2. C1 is several microfarads and C2 is 100 nF. These are the bypass capacitors on the power supply.

The TM1637 datasheet specifies the option of capacitors C3 and C4 to suppress transients on the two data lines.

100pF capacitor connected to the DIO, CLK communication port pull-up and pull-down can reduce interference to radio communications port

Note the value specified is 100 picofarads.

Well, the bright sparks who assembled these boards didn't feel like inventorying 100 pF capacitors, so they just used 100 nF - nanofarad to match C2. The value is therefore one thousand times the specified value and prevents the transfer of the data unless you ran the software very, very slowly (presumably, 1000 times slower :grinning: ).

Ok thank you very much

I removed the capacitors, but the display still doesn't work. This is the sketch i'm using :

#include <TM1637Display.h>

const int CLK = 9; //Set the CLK pin connection to the display
const int DIO = 8; //Set the DIO pin connection to the display

int NumStep = 0; //Variable to interate

TM1637Display display(CLK, DIO); //set up the 4-Digit Display.

void setup()
{
display.setBrightness(0x0a); //set the diplay to maximum brightness
}

void loop()
{
for(NumStep = 0; NumStep < 9999; NumStep++) //Interrate NumStep
{
display.showNumberDec(NumStep); //Display the Variable value;
delay(500); //A half second delay between steps.
}
}

I would expect ESP8266 to work fine with TM1637 (with VCC = 3.3V)

However, ESP8266 has no reliable Arduino pin-mapping. When you say CLK=9 do you know which ESP8266 GPIO pin you have actually connected?

I use the Uno-format D1 R1 board. It has Uno headers but you use D9 and not 9 for digital#9 header pin.

David.

Edit. Selected "Wemos R1 D1" as ESP8266 board. Edited the TM1637Test.ino example from the TM1637Display.h library installed from the IDE Library Manager.

// Module connection pins (Digital Pins)
#define CLK D2     //GPIO16
#define DIO D3     //GPIO5

My Wemos R1 D1 board has GPIO8 pin but there is no GPIO9 pin.