Welcome! Log In Create A New Profile


Troubleshooting the bigtree-tech.com Full Graphic Smart LCD Controller

Posted by milkstar 
Troubleshooting the bigtree-tech.com Full Graphic Smart LCD Controller
May 22, 2016 03:57PM
So I ordered a Chinese (Shenzen) ReprapDiscount Full Graphic Smart Controller by bigtree-tech.com (says so on the board) with a clone RAMPS 1.4 kit. The RAMPS + Arduino Mega 2560 combination worked fine based on the serial monitor log, but I just couldn't get the LCD on the controller working with Marlin.

I spent about three days trying to figure out what was wrong, and couldn't find any conclusive solutions online. People apparently found solutions but never quite elaborated on them, which is quite typical on online support forums. To help you others out, I've now compiled all the information I could find about issues with the bigtree-tech.com smart controller LCD and the solution I finally ended up finding. The LCD in question is a red PCB with the LCD itself mounted on a green PCB.

First, make sure you've set up the thing correctly so as to make sure it's not a user error:

1. Make sure you've selected the right board and display models in the Marlin configuration.h.
The correct define option for this LCD (ST7920) is the REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER. You'll also want SDSUPPORT and your MOTHERBOARD is chosen correctly.

2. Make sure you've added #include <U8glib.h> to the "Marlin" Arduino sketch (main source page).
It's strange that the source does compile without it. Note: Marlin 1.1.0-RC6 had problems with the U8GLIB that the new Arduino software offers to download for you (coulnd't find files and so wouldn't compile either). v1.14 and v.1.18.1 from the U8GLIB website worked fine once unzipped into the Arduino installation's "libraries" folder. Remember to actually upload the software to the Arduino.

3. Make sure you've connected the EXP1 and EXP2 cables correctly.
On my RAMPS pinout board for the smart controller, EXP1 was the one on the extruder side of the RAMPS 1.4 and EXP2 closer to the AUX2 and AUX3.

If you still couldn't get it working, you're probably looking at a hardware problem related to sloppy manufacturing. In order of seriousness:

4. If the screen doesn't turn on at all, you've probably run into a bad set of cables. This issue is quite well covered online; many of the bigtree-tech.com smart controllers actually had the cables inserted the wrong way into the connectors. To rectify this, carefully cut or file off the directing tabs on the connectors (on one end, not both ends) so you can insert them the "wrong way". If this doesn't help, swap the cables with each other and see if one of them is broken. If you have access to them, try to change the cables entirely or at least test the cables with a voltmeter of LED circuit. You know when you've hit the right connection when the LCD lights up and the Arduino serial monitor tells you it's recognized an SD card (that you've inserted).

5. If the screen does turn on but still displays no graphics, try turning the trimpot to the lower left of the LCD (using fingers or a flat screwdriver). The relevant increments are about 20-30 degrees (it only turns about 200). You might be able to hit a "sweet spot" where the graphics appear.

If none of the above worked, you're going down the rabbit hole. In order of complexity:

6. Try soldering a resistor between pin holes 2-3 on the back of the red graphic controller PCB. Orienting the board so that the EXP connectors are "down", the relevant pin holes are the second and third leftmost ones from the left edge of the board. An image of the pin location has been provided previously (jpg). Resistors that have worked for people range from 270 to 3000 ohms, with about 500-1000 being the average success resistance. After installing the resistor, try adjusting the trimpot in front again to see if you can find a sweetspot.

7. Adjust the hidden trimpot. The red and green PCBs aren't actually meant to go together like they are, but connected with a ribbon cable. This creates a problem with adjusting the LCD circuit that apparently often comes with entirely absurd factory settings. The *actual* adjustment trimpot is on the back of the green PCB, and is quite unuseable when sandwiched between the red and the green ones. You want to get to this trimpot (which takes a small screwdriver), and you basically have three options in doing so:
  1. Unsolder and detach the pins holding the PCBs together and replace the connection with an IDE cable or similar. Warning: Labour-intensive
  2. Drill a 2-3 mm diameter hole at a very specific spot on the red PCB, avoiding the circuit traces on both sides of the PCB, and use a screwdriver to turn the trimpot through that hole. Warning: you can really screw this up.
  3. Get some kind of tool like micro-pliers with bent "fingers" to awkwardly turn the trimpot screw quite tediously between the two PCBs. Warning: awkward and frustrating
After you've reached the trimpot screw, you basically want to try different options. (You probably want to remove the resistor in step 6 by the way). Think of the trimpot behind the LCD as the "master" trimpot and the one in front of the green PCB as the "fine tuner". The master timpot screw appears to reset after about two revolutions in one direction. Try all the imaginable combinations (I did it power on) to see if you can get the screen to display something. You should end up with either the Marlin info view or a blinking white / blank square (that may or may not change positions on the screen). This latter mode is apparently the LCD's "powered but not receiving a meaningful signal" mode. The encoder/selector button buzzing is not an indication of the LCD working properly, just the SD reader and encoder working.

8. If you did get the blank square thing going on (LCD displays something), but Marlin doesn't show up, you've got a problem with the pins and/or traces somewhere between the Arduino pins 16,17, or 23 and the LCD circuit. Basically, what I did was carefully melt the existing solder on every soldered point between these endpoints to reflow them. This included the RAMPS board's connections, the LCD pinout board for the EXP cables and the components on the way. The solder work is apparently often horrendous on these boards. Some of the components are very small and may even lack enough solder, while larger parts can have excessive amounts. It seems they didn't test these things. This step is going to take some time, but it finally got my LCD working perfectly.

9. Your LCD controller is beyond hope or the problem is elsewhere. Give up or redo step 8 and check if the PCB components work as they should.

Greetings from Helsinki, Finland.
Re: Troubleshooting the bigtree-tech.com Full Graphic Smart LCD Controller
May 22, 2016 05:42PM
I'm sure that will be helpful to others. But it's so much easier with good quality modern electronics and firmware:

1. Connect LCD screen to electronics.

2. Turn it on.

3. Select the screen orientation and language from the menu.

Selling displays that make the contrast pot (if any) inaccessible and requiring you to add resistors is ridiculous. So is having to recompile the firmware to enable or disable features IMO. Btw I don't know who thought up the name "smart controller", those 12864 based displays are as dumb as they come.

[Full disclosure: I designed, manufacture and sell a touch screen display, currently supported in RepRapFirmware and partially in Repetier.]

Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Troubleshooting the bigtree-tech.com Full Graphic Smart LCD Controller
July 14, 2016 12:24PM
Nice explanation to set up RAMPS1.4 with the graphic controller.

I have the same setup and are trying out. I am getting as far as the startup screen and screen no 1 (showing x,y and z, temps and fan). Status says printer is ready (has connected a resistor corresponding to approx 120 deg c on the extruder.)

However, I have not been able to get the selector to work. Have checked continuity back to the AtMega, all ok.

Currently no steppers or anything else connected.

The reset button on the controller works, same inserting/removing a sd card.

There is 5V on the reset button, but no voltage on the selector despite the connections back to the AtMega verified.

Given your experience - do you have any suggestions on how to pinpoint the problem.

Olaf Devik
Sorry, only registered users may post in this forum.

Click here to login