[Solved with reply #5] Displays not working with Geekcreit Arduino

Hi.

I've recently tried to make any type of display work with my Geekcreit Arduino R3, but I've yet to find something that works. I've tried a:

  • (2:) 4 digit (8?) segment display with 12 pins
  • (1:) TM1637 4 digit 7 segment display with 4 pins
  • (3:) 16x2 LCD display with an i2c backpack (4 pins)

Various videos were used to figure out how to get each display to work. I've copied code and libraries as well as triplechecking wiring to make sure I wired it exactly like the person in the video, but nothing has worked yet.

1: The YouTube tutorial that I followed is here. The display lit up and switched its digits, but sort of randomly. It almost counted up but just simply didn't work. This display is way to finniky to deal with.

2: YouTube link. Hooked it up according to his instructions and copied his code, but the display doesn't show anything at all. It always stays off.

3: Link to tutorial. I downloaded the scanner to find the display's adress, which was 0x3F. I wrote that down in the code but the screen itself just lit up without showing any characters. The contrast was adjusted slowly on the I2C module from min to max without anything on the display changing.

After all this troubleshooting, after seeing YouTube comments after comments with the exact problems i have being solved in various ways without them having an effect on my displays, I'm starting to suspect that it has to do with my Arduino. It's not an Arduino UNO, it's one that I bought from BangGood but it has still done everything I want it to up to now. What do you think is the solution? Is there an extremely simple way of showing 4 or more characters (it's supposed to be a timer), or should I just buy a "real" Arduino?

I'm determined to solve this problem. This forum has helped me many times, and I'm thankful for all answers.

//Eophex

EDIT: Grammar
EDIT2: Wrong links...

Well, there are a few problems here. There is absolutely no reason to believe that the Geekcreit Arduino R3 is in any way lacking in functionality even thought it is absolutely not a UNO, but a variant of the earlier Arduino Duemilanove design. It is still perfectly fine for the vast majority of applications including yours.

The TM1637 board you have has quite likely been manufactured with a fault. There are two chip capacitors that must be removed for it to work. Was that in the tutorial - I don't have the time to check it?

Your third link was the same as the second. Oops! :astonished: In any case, for the 16x2 LCD display with an I2C backpack, you need to use the IDE library manager to install the HD44780 library by Bill Perry. Do not install libraries any other way. It contains examples to determine which module you have and the correct settings to use.

If you install the hd44780 library (and you should, it is the best I2C LCD library available) use the hd44780_I2Cexp class.

Paul__B:
The TM1637 board you have has quite likely been manufactured with a fault. There are two chip capacitors that must be removed for it to work. Was that in the tutorial - I don't have the time to check it?

He just plugged it into the Arduino. I didn't see any chip capacitors being removed. I bought the display from this site. Where are the two chip capacitors that need to be removed? Sorry for the big pictures, I don't know how to reduce their size.

groundFungus:
If you install the hd44780 library (and you should, it is the best I2C LCD library available) use the hd44780_I2Cexp class.

I have actually already downloaded this library. I read about it in another topic and used one of the programs to make sure the 16x2 display could communicate with the Arduino. The program semi-worked, it found the display, turned the backlight on and off and returned the same adress (0x3F) that the other scanner found. On the other hand, it didn't display anything at all. It was supposed to print some text and diagnostics but the screen kept on just glowing with its backlight on.

Eophex:
He just plugged it into the Arduino. I didn't see any chip capacitors being removed. I bought the display from this site. Where are the two chip capacitors that need to be removed? Sorry for the big pictures, I don't know how to reduce their size.

The pictures are just perfect. The offending capacitors are C3 and C4 on the CLK and DIO lines, they are installed with 100 nF instead of the 100pF specified in the datasheet. C1 and C2 are of course correctly 100 nF and a few microfarads, it seems the assembler thought it was just as easy to use all the same value.

The 100 pF were always optional according to the datasheet in case of noise pickup on longer lines so it will work if you just de-solder them. Melt the solder thoroughly on one end then you should be able to quickly touch the iron to the solder on the other end and flick the capacitor off. I have verified once I found them again that the capacitors fitted are indeed 100 nF, one thousand times the proper value; not surprising it will not work.

You should understand that it is always proper practice if not essential to keep all four wires bundled together - ribbon cable is the obvious approach - and not just "flying" wires.

Eophex:
The program semi-worked, it found the display, turned the backlight on and off and returned the same address (0x3F) that the other scanner found. On the other hand, it didn't display anything at all. It was supposed to print some text and diagnostics but the screen kept on just glowing with its backlight on.

I suspect you need to read the instructions more carefully to see how you need to interact with the test program.

@Paul__B:

Thank you so much! I did just as you told me. The two little yellow thingies are gone, and the display started working!

EDIT:

I also received another 16x2 display today, which worked. So, in summary:

  • The 4 digit TM1637 didn't work since two tiny yellow thingies were soldered on the back. They were de-soldered like Paul instructed which made it work.
  • The reason that the 16x2 LCD display didn't work was probably my inability to solder reliably on all 16 spots. The I2C module was therefore probably not connected as it should be. A replacement display was ordered and used with the same code and was working once I adjusted the contrast on the back of the I2C module.