I recently tried to add a LCD to my Sanginololu.

I recently tried to add a LCD to my Sanginololu. The documentation from botronicz (https://github.com/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?

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 https://github.com/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() {

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

for (int thisChar = 0; thisChar < 10; thisChar++) {


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: http://blog.think3dprint3d.com/2012/06/sanguinololu-lcd-and-rotary-encoder.html

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.