XYZ Printing daVinci Jr 1.0 + Cura 2.3.1 + ThreeDub

by kr15_uk, published

XYZ Printing daVinci Jr 1.0 + Cura 2.3.1 + ThreeDub by kr15_uk Nov 24, 2016


Design Tools


A part of these Groups

View All

Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag


Thing Statistics

4438Views 686Downloads Found in 3D Printing


How to use Cura 2.3.1 with your daVinci Jr
(This is a Mac tutorial. I haven't done this on Windows but should be similar I'd guess.)

Step 1 - Get Cura Running

  1. Download and install Cura 2.3.1
  2. Download davinci_jr_platform.stl and davinci_jr.def.json
  3. Open Cura once and Quit otherwise Mac will complain about corrupted app
  4. Copy davinci_jr_platform.stl into /Applications/Cura.app/Contents/Resources/resources/meshes/
  5. Copy davinci_jr.def.json into /Applications/Cura.app/Contents/Resources/resources/definitions/
  6. Open Cura and add Jr as your printer.

Step 2 - Get Printing

Cura produces regular plain gcode but Jr needs it's proprietary 3w files.
(3w is encrypted gcode with some modifications.)
There comes ThreeDub in play.

  1. Download ThreeDub from https://gitlab.com/anthem/py-threedub/tree/master (Thanks to @Anthem for the ThreeDub development)
  2. Install HomeBrew on your Mac - http://brew.sh/
  3. brew install python
  4. pip install --upgrade pip
  5. pip install pycrypto
  6. pip install pyserial
  7. python setup.py install (from downloaded threedub directory)


Now when you create .gcode with Cura you just need to convert it to .3w file so Jr can work with it.
Simply run command threedub filename.gcode and it will spit out filename.3w file.

Copy it to SD card and enjoy. I'll presume it works via XYZWare's USB printing - never tried.

Known issues/weird behaviour.

  1. Prints are always facing back to front. But prints are fine. If you select Z seam to be at the back - it will be at the back on the print. Seems to be some firmware weirdness.
  2. When printing small objects Z seam can be "blobby". It's perfectly fine with small details on larger objects but some weirdness going on with small objects like calibration cube.
    Never figured it out why, couldn't be bothered hence this affected my print quality in 2% of the cases max. I don't have Jr stock board anymore so never tested this but on new Cura they have Acceleration and Jerk settings - these might help.
  3. No time ETA on LCD. It shows 1m left pretty much all the time. Also reported time in Cura quite differs from real Jr printing time.

Why should you want to mess about with this and what are the benefits?!

  1. You have bigger control of print settings etc.
  2. You can print faster than 30mm/s (Jr Fast mode)
  3. You can set manual temperature for your filament (extremely useful if you are using 3rd party filaments with hacked NFC tags)
    • loads of other little features...

More from 3D Printing

view more

All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

Hello, export in 3w for windows?

3w export is done via ThreeDub, project not maintained by me. Just google it. Also you might find quite a lot of info in regards to ThreeDube etc at "soliforum dot com"

The Jr version works great. Can you create a port for the Mini w?

What are the current best settings for print quality is (recommended settings)

There's no universal answer to this, depends from the model and what you want to achieve.
0.2mm layer height, 20% infil, 0.8mm walls/top/bottom and speed at around 40mm/s is a good starting point with Jr, but really depends from the model you are printing and filament itself.

I'm not a python expert, when I tried the "python setup.py install" command . . . it installed a lot of it, but then gave me an error: error: [Errno 13] Permission denied: '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/easy-install.pth' any hints on how to get the install to work so I can run the "three dub" command?

Anyone know how to modify the code to get it to work with the new da vinci jr 2.0 mix? In notepad++ I see the following and I was thinking if I knew the proper id for the mix it might work?:
"id": "davinci_jr",
"version": 2,
"name": "da Vinci Jr. 1.0",
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"author": "Hacking Community",
"manufacturer": "XYZ Printing",
"category": "XYZ Printing",
"file_formats": "text/x-gcode",
"icon": "icon_ultimaker2",
"platform": "davinci_jr_platform.stl"

Gonna this work on the lastest Cura?

Thx man, the original software broke on me so this is really handy

Thank you for this tutorial ! Im currently printing a first part whit my jr 1.0
I checked monitor and PLA temperature stays on 200-202c so it's really working! Thank god i dont need to use XYZware slicing anymore..

Is it normal that fan on the head are running even if i turned it off for initial layer ( first layer ) ?

I must be missing something. How do you install threedub. When i try to run the command it is coming up with no file found. I ran setup.py through terminal from the extracted zip file. Any help would be appreciated.

This does not work for my da Vinci mini w sadly.

when i go on cura and add a machine i can't find any xyz printing machines (i am using windows)

Have you copied files (.json and .stl) into the right location?!

I have been using xyz software and cura can't read it.

When you slice .stl file Cura spits out .gcode file (99% of all printers uses gcode) but to use that .gcode file you need ThreeDub to convert .gcode to XYZ proprietary .3w file format. XYZ printing is 1% or less so understandably no software but XYZware will work with .3w files.