I recently tried to add a LCD to my Sanginololu.

I recently tried to add a LCD to my Sanginololu. The documentation from botronicz (GitHub - Botronicz/Marlin) says it should work right away. But it did not. :frowning:

The guy from botronicz said he will look at this problem. Unfortunatly this was two weeks ago. Has somebody a similar setting with a working LCD?
http://www.ebay.com/itm/300979178112?ru=http://www.ebay.com/sch/i.html?_sacat%3D0%26_from%3DR40%26_nkw%3D300979178112%26_rdc%3D1

Marlin needs to know what you got hooked up to the main board. For the 4x20 I think you need to un-comment in Configuration.h at line 214, it should look like this: #define ULTIMAKERCONTROLLER
Did you configure that?

Yes, I did. But with the firmware - provided by botronicz - there are missing some files. I also tried to add these files from the original marlin source. Once again: no luck!

Do you use their Arduino version from GitHub - Botronicz/Arduino-IDE ?
You can try this code for testing the display only (pin numbers are changed for the display connections):

#include <LiquidCrystal.h>

LiquidCrystal lcd(16, 17, 23, 25, 27, 29);
void setup() {
lcd.begin(20,4);
}

void loop() {
lcd.setCursor(0, 0);
for (int thisChar = 0; thisChar < 10; thisChar++) {
lcd.print(thisChar);
delay(500);
}

lcd.setCursor(16,1);
lcd.autoscroll();
for (int thisChar = 0; thisChar < 10; thisChar++) {
lcd.print(thisChar);
delay(500);
}
lcd.noAutoscroll();

lcd.clear();
}

Yes, I use this IDE. Can I add these couple of lines to the configuration.h? Ups, just realised that the “LiquidCrystal.h” is not existing in the folder. This drives me crazy. :frowning: And when I add the missing files from the original marlin source, I get tons of errors.

No, not add: these lines are just to test the display on its own without Marlin involved.

Just to clarify: I set up a new folder with “LiquidCristal.h” in it and a file with your lines of code, right?
Sorry but with Arduino I am a bloody beginner. :wink:

It’s based on the LiquidCristal Scroll example, you find it under the examples in arduino. Open it and replace that code with the one I paste. It will verify if there is communication between the lcd and the core of the sanguinololu by display some text on the display.

OK thanks, I’ll test it

OK, I hooked the display up again and did what you said (hopefully). I got the first and the third row with all pixels on. The second and the fourth don’ t show anything. Is this correct?
missing/deleted image from Google+

This is what could be expected it doesn’t init as it should, good thing: the contrast is at a good level
Looks like you have to find the 6 right pin numbers connected to controle the display: LiquidCrystal lcd(16, 17, 23, 25, 27, 29).
Here you find the idea about 4bit lcd HD44780 communication: http://arduino.cc/en/Tutorial/LiquidCrystal
I suggest to figure out the right pins (at your sanginololu plug + track them down to the arduino numbers) and test it with this ready to go code I posted (= exclude other configuration hiccups).
The first number (my example 16) = RS line / 2nd number = Enable line / 3rd->6th numbers = D4->D7.
Can you measure the corresponding numbers needed for your setup?

I won’t be able to take a look at the lcd the next couple of days. :frowning: There is also an issue with the extruder which has to be solved first.
Thanks anyway for your support. :slight_smile:

@Gert_Galjoen Yippee! Now the display works. :slight_smile: I search thru the web and found this: Think3dPrint3d: Sanguinololu, LCD and rotary encoder with switch

Good to hear. It is all hidden in the (correct) details!

@Gert_Galjoen That’s right but I finally managed it. Also with your help, thanks a lot!
Now the graber does its first printjob via SDCard.