Category: Parts

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

Prusa i3 MK2 Clone – Electronics – 24V Heated Bed Upgrade

I have changed my mind a few times about how I plan to finish off my Prusa i3 MK2 clone 3D printer… but now I have settled on a plan! None of it was particularly complicated, but I just want to arrange things in such a way that they are safe, tidy and give me the best result.

As I plan to add a physical brace to the Z Axis frame, I want to combine that with a suitable housing for all the electronics. With the actual brace made I can start finishing off the electronics!!!

There are few items I want to do:-

  • Fix the issues with LCD corruption – presumably cause by electrical noise
  • Remove the Polyfuses and provide alternative
  • Integrate the Raspberry Pi in with the other electronics so it is a permanent feature on the printer, including power
  • Add in additional temp sensors to the electronics and power supplies that will kill the power if anything looks dodgy
  • Power the Heated Bed with 24V instead of 12V – but keep this 24V separate from the RAMPS board

The last of these is the item I am doing first – and it the subject of this video.

The links I discuss in the video are:

Below is my rough schematic showing how I will wire the RAMPS, Arduino and also a small external board that will perform the heated bed power switching. Beneath that the calculations I made to conclude that the AUIRFB8409 Mosfet would work fine:

Rough Schematic of an external board to switch power to the 24V heated bed, showing relevant parts of the RAMPS and Arduino


Main considerations in choosing the AUIRFB8049 Mosfet, with calculations

RepRap Prusa i3 MK2 – One Week In, More Prints & Settings

In this video I go through some of the prints I have made in the first week after building the DIY Prusa i3 MK2, and some of the interim conclusions I have drawn from them together with the settings this had led me to change.

Long story short; it is quite hard to diagnose a lot of issues as they could be caused by a number of different things  manifesting with the same symptoms. It maybe even a combination. I had to single out settings and go wild with them to see what effect they had and then apply that to my baseline. However, apart from filament getting stuck on the spool (my fault) I haven’t had any failures and all the prints have been perfectly fit for the job I needed them for. So really we are only looking at aesthetics.

I also gave Simplify3D a try out…. at this time I don’t really need any of the capabilities it has over Slic3r and found it to exhibit some unwanted artifacts on the prints I tried it out on. It is a little disappointing that they offer no free trial as it isn’t particularly cheap and is very much a piece of software you will either get on with or you wont. You have to first spend your money to find out… You can apparently get a refund though if it doesn’t turn out well. For the time being I am sticking with Slic3r as I get better quality prints and really the only feature I would use right now from S3D is the manual supports.

I have decided to make Octoprint my next upgrade as for the time being the electronics are holding together just fine. So on with that!!!

© 2017 Jules Gilson


Additional Artwork Designed by Freepik Additional Artwork Designed by Freepik