Jump to content
Ultimaker Community of 3D Printing Experts
Sign in to follow this  

LCD with Snootlab Deuligne

Recommended Posts

Hi all,

Just a message to tell you that I've begin adding a lcd to Tetalab Ultimaker, using Deuligne shield from Snootlab, a open-hardware vendor we have in Toulouse, France.

- Deuligne shield - 24€ -

http://shop.snootlab.com/lang-en/snootl ... ligne.html

- SD-card shield - 18.50€ -

http://shop.snootlab.com/lang-en/snootl ... moire.html

- EXP1 and EXP2 connectors - 4.10€ -

http://shop.snootlab.com/lang-en/wires/ ... s-i2c.html

Total cost: 46.60€ without shipping.

Wiring is pretty basic, using documentation from:


On EXP1, connect the Deuligne shield:

- connect GND and 5V from EXP1 to GND and 5V on deuligne shield

- connect 20 (SCL) to A5 on deuligne shield

- connect 21 (SDA) to A4 on deuligne shield

- for joystick: connect analog 0 on ultimaker pcb to A0 on deuligne shield

On EXP2, connect the sd-card shield

- connect GND and 5V from EXP1 to GND and 5V on deuligne shield

- connect 50 (MISO) to 12 on memory shield

- connect 51 (MOSI) to 11 on memory shield

- connect 52 (SS) to 10 on memory shield

- connect 53 (SCK) to 13 on memory shield

I've began to rewrite my own lib on Marlin firmware, because I couldn't understand the problems I had with the current UltraLcd lib (which looks really cool with all the menu already done). Deuligne uses its own lib with i2c, and current UltraLcd use a standard LiquidCrystal lib, it might be causing the problem.

I've made a Deuligne branch on Marlin github, so I can continue to merge most changes on master tree:


Basic menus are working, I hope to soon be able to print files from sd-card. I'll probably find a way then to re-attach to UltraLcd lib, it's painful to see so many good stuff so near :)

Have fun,


Share this post

Link to post
Share on other sites

Yoopi :) First standalone print working, just with lcd+sdcard :)



- follow previous wiring instructions

- with arduino software, load Marlin driver from Deuligne branch on your ultimaker pcb

- in the main menu, go left to "Prepare", then execute preparation commands (homing, preheat, ...) by clicking on the joystick

- while the preheat is finishing, you can go up to "Manual" in the main menu. Then press once the joystick to control Z axe, and lower a bit the bed. Click twice on joystick to go back to main menu

- when the head begin to leak material (preheat is finished), you can right go to "Files", select a gcode file on your sd-card with up/down, and click on the joystick to launch the print.

There're still a lot to code, but at least the proof of concept is validated :)


- change the menu workflow to be more consistent with how you might use these menu to prepare and launch a print

- auto-refresh of some screens (temperature control, printing progress)

- add a potentiometer to have a control more precise at certain points. at the moment, some variable are hard-coded (axes control), and some variable will be useful to be changed during printing (feedrate, extrusion rate, temperature)

- create and print a support to fix the electronic parts on the ultimaker :)

Have a nice weekend!

Share this post

Link to post
Share on other sites

It isn't working for me too. When I download the alx/marlin and upload it to the machine on the screen I only see a row of full blocks and nothing else happens. when I try to connect to it via pronterface, instead of "Marlin Vxxxx" or anything meaningful I get only garbled letters. The wiring and everything was done by snootlab and supposedly tested, so I'm guessing its a software issue.

The marlin lio branch I cant even upload because of the same thing as with tomyam in the post above, however I noticed Deuligne.h is missing so I downloaded it and put it in the folder. Then I get double definitions for the lcd and again it wont verify or upload.

Some help would be great alx. :)

EDIT: I forgot to mention the screen doesn't light up! It only shows one row of full blocks if I turn up the contrast to the max.

Share this post

Link to post
Share on other sites

Hi chopmeister

Do i see that correct: If you buy the kit (LCD and SC Card add on) from smootlab, you will be able to print directly from the SD Card?

Or are any additional parts needed? (Beside the firmware update, of course)

How do you control the UM without Netfabb? -I dont see the "joystick" at smootlab? ;)



Share this post

Link to post
Share on other sites

Hi Dingo.

Yes, you saw that right. I am now using an old cell phone usb charger to charge the ultimaker instead of a computer and I'm printing directly from the SD card with great success. There is a joystick up there, but it's really small, you gotta make a plastic cap for it or something. All in all, I had no real problems installing, it's pretty much plug and play. The interface could be a bit better but I'm sure it will get better in time. All in all, I think it's well worth the money.

Share this post

Link to post
Share on other sites


i got this LCD board in my stuff collection and a Ultimaker.. is there a way to combine them?


Im not so into electronic thinkering.

It made my Ultimaker with Makerbot elektronics. Its a Makerbot motherboard 2.4 with full Interface support.

If not... is this Snootlab LCD maybe compatible with Makerbot elektronics?

Printing drom SD is not important for me but having a LCD is.


Share this post

Link to post
Share on other sites

Hi Tom

Now printing with the alx's branch for about 120 hours without problems (expect for the florescence lamp's EMV issue). There is no need to use the erik zalm marlin branch.

Posed the same question to me, too. It would be nice to know if the whole improvements erik did will be available for the Deuligne interface.

Hope we get the answer in that post.


Share this post

Link to post
Share on other sites


I'll try to merge the deuligne branch inside current master of erik zalm marlin, it shouldn't be too much work as I've just created a separate lib inside marlin that needs to be activated inside configuration.h

I'll let you know when ready.


Share this post

Link to post
Share on other sites

I've tried to download the tetalab zip file as well as zips from github and I can't get them to compile.

I'm using Arduino 1.0. and when I verfiy / compile it throws a lot of errors.

Near the top it says:

In file included from Marlin.cpp:1:

/Marlin.h:6:22: error: WProgram.h: No such file or directory

Marlin.cpp:52:24: error: Deuligne.h: No such file or directory

In file included from Marlin.cpp:1:

Marlin.h:48: error: variable or field 'manage_inactivity' declared void

Any idea where to get these missing files?

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Our picks

    • Ultimaker Cura | a new interface
      We're not only trying to always make Ultimaker Cura better with the usual new features and improvements we build, but we're also trying to make it more pleasant to operate. The interface was the focus for the upcoming release, from which we would already like to present you the first glance. 
        • Like
      • 128 replies
    • "Back To The Future" using Generative Design & Investment Casting
      Designing for light-weight parts is becoming more important, and I’m a firm believer in the need to produce lighter weight, less over-engineered parts for the future. This is for sustainability reasons because we need to be using less raw materials and, in things like transportation, it impacts the energy usage of the product during it’s service life.
        • Like
      • 12 replies

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!