Tag: Error

Fixing LCD Corruption on Prusa i3 MK2 Clone with RAMPS & Arduino

Really the only part of my Prusa i3 MK2 clone build that didn’t function as it should out of the box was the LCD Module with builtin SD card reader, rotary encoder, buzzer and stop button.

In this video I discuss how I tracked down the issues and fixed them. I also changed the ribbon cables for shielded cables as I needed them for how I was mounting the module – but it also assisted with preventing corruption.

The model I have is pictured below and its full title is a Bigtreetech RepRapDiscount Full Graphic Smart Controller.

Bigtreetech LCD Module, RepRapDiscount Full Graphic Smart Controller

During my trawling of the internet trying to find specific data for this LCD, (which I didn’t..) I used information from the documents below to build my own schematics, which are at the bottom of this post.

For anyone wishing to tear apart an HDMI cable to use as a shielded cable to the LCD Module, here is a pin diagram for a standard HDMI cable. (Although that isn’t much use as we are only using it as a general shielded multi-core cable! A decent HDMI cable has 7 single cores, and 4 twisted pairs inside their own separate shielding. This gives us 15 conductors, ignoring the shielding. The one I chose also had a metal braided wrap around the whole thing – I earthed them all to building earth)

As part of the fix I had to introduce delays into the instruction transmission from Marlin/Arduino to the LCD. Although I couldn’t find any official documentation of it, here is a post from Guthub which includes discussion from the coder who came up with the LCD handling in Marlin.

I discuss in the video how to arrive at these delays (noops), but below is how I finally set them to avoid corruption of the LCD. I have inserted these 3 lines into my Configuration.h file.

#define ST7920_DELAY_1 DELAY_1_NOP
#define ST7920_DELAY_2 DELAY_2_NOP
#define ST7920_DELAY_3 DELAY_1_NOP

Finally the schematics I drew up after confirming all the routing of wires from Arduino, through RAMPS, through connectors and into the various parts on the Bigtreetech LCD module.

Bigtreetech 128×64 LCD for RAMPS Schematic

RAMPS Aux3 Aux4 LCD Adapter Schematic with Arduino Pins

RepRap Prusa i3 First Print Analysis, Adjustments & Second Print

Well after the failure of the first print I was kind of pleased!!! Until it failed it was printing way better than I had expected for a first print.

There were a few issues, as well as the failure of course, to take care of. So I had a close look at what didn’t work, print quality and the cause of the failure.

  • The Heated Bed is heating up very slowly and struggles to maintain temperature
  • When the G Code is loaded from Slic3r and the print button is pressed, nothing happens.
  • There were a few sections of a couple of layers missing – and of course it ended missing layer(s) altogether which led to the failure

I come up with fixes to all these issues and try to print 3D Benchy for a second time….

How to Build a Cheap Prusa I3 MK2 3D Printer – Schoolboy Error #1 Y Corners

In the last video I noted I could’t work out how the Y limit switches fitted. In the course of investigating I noticed a bigger issue – the 3D Printed parts on all four corners of the Y Axis should have cutouts in the top to let the linear bearings partly slide “into” the corners….. mine didn’t.

Turns out that there is extra material in the prints that needs to be removed – revealing these cutouts!!! If you know you know – and I didn’t 🙂

I’d like to think this is an easy mistake to make – so worth mentioning here and in the video.

Sadly it means that the Y corners were also the wrong way around, so will have to take the Y Axis apart and make the corrections. Doh!

The good news is that it should fix the issue with the limit switch. Every cloud and all.

© 2023 Jules Gilson

 

Additional Artwork Designed by Freepik Additional Artwork Designed by Freepik