1 (edited by solidonkey 2014-04-27 22:53:58)

Topic: XYZprinting Da Vinci 1.0 Hacking

Hello,

The thread in "The Latest in 3D Printing" section was getting longer and more detailed, so here's a new thread specifically to discuss the XYZprinting Da Vinci 1.0 3D printer and information on getting extra functionality out of it.

Original thread: http://www.soliforum.com/topic/5140/


DISCLAIMER: I am not responsible for any claim, damages, injury, or other liability resulting from use of the information provided below. smile

Generating gcode for this printer

Here's a Slic3r config that works for me and results in prints comparable to those sliced from XYZware, although I have not at all tried optimizing the parameters for it. Credits to harrypottar for posting a base configuration that I based this off of.

https://github.com/jasongao/DaVinci1.0/ … config.ini

I have also tried configuring Cura, but it always starts printing in the air a bit above the bed, and I haven't looked into it further. Here it is in case anyone wants to take a crack at fixing it, probably just needs a Z offset adjustment.

https://github.com/jasongao/DaVinci1.0/ … config.ini


Bed size is 200x200x200 mm, and the center of the bed is 100, 100.

There seems to be some confusion over what the real nozzle diameter is, but I'm using 0.4mm and it seems to work fine.

Setting your own extruder and bed temperatures in the gcode DOES work; the values in the filament cartridge only specify the initial temperatures to bring the bed and extruder up to while the printer is preparing to build. After it reaches those temperatures, the gcode takes over and can set the extruder and heated bed temperatures as normal.


Loading gcode into XYZware

You need to add the headers / information that the printer expects to the very top of your gcode file. Here's what the start of your gcode file should look like:

; filename = composition.3w
; machine = daVinciF10
; material = abs
; layer_height = 0.2
; total_layers = 173
; total_filament = 0.00
; extruder = 1
G21 ; set units to millimeters
M107
M190 S100 ; wait for bed temperature to be reached
M104 S230 ; set temperature
M109 S230 ; wait for temperature to be reached
G90 ; use absolute coordinates
G92 E0
M82 ; use absolute distances for extrusion
G1 F1800.000 E-1.00000
G92 E0
G1 Z0.300 F7800.000
G1 X81.765 Y82.676 F7800.000
G1 E1.00000 F1800.000
G1 X82.795 Y81.666 E1.10023 F540.000
G1 X83.405 Y81.116 E1.15730
blah blah blah more gcode blah blah blah

Here's an example gcode file that is ready to open in XYZware and print:

https://github.com/jasongao/DaVinci1.0/ … ware.gcode

XYZware for Mac can open gcode in plaintext as long as you add the headers above, no base64 encoding necessary.

On XYZware for Windows, you can base64 encode the gcode file after adding the headers, and rename the extension to .3w. (I have not tested if it works without base64 encoding)


Loading gcode onto the printer's SD card

landsharkmine has a nice post on how to load gcode files directly onto the SD card in the back of the printer:

http://www.soliforum.com/post/53662/#p53662

For me, using the DEMO prints on the latest firmware versions still counts down the filament usage, so I prefer to set total_filament = 0.00 in the gcode files that I load through XYZware instead.


Electronics
Here's a picture of the main board:

https://github.com/jasongao/DaVinci1.0/ … iboard.jpg

The main MCU is an ATSAM3X8E, with A4988 stepper drivers on separate carrier PCBs. You can see the SD card as well. The ATSAM3X8E is the same as in the Arduino DUE, so it may even be possible to use the existing board and run "RepRap Firmware", which is being developed for the DUET 3d printer board.


Using your own filament / Resetting the filament cartridge

If you use your own filament, you will probably want to reset the filament cartridge at some point. The printer comes with 300g (120m) of filament in a starter cartridge, and Oliver Fueckert over at Voltivo has an excellent blog post on how to reset the Microchip 11LC010 1K EEPROM in the cartridge, which is used to hold information about filament remaining, filament original capacity, initial bed temperature, initial extruder temperature, and perhaps other unknown variables.

http://voltivo.com/blog/da-vinci-reset-eeprom

The filament reset Arduino sketch only works with the Arduino Uno (and probably other ATmega168/328-based variations). It did not work with my Arduino Leonardo, and there are reports it does not work with the Mega, Pro Mini, or Micro either, probably due to the NanodeUNIO library only working with the ATmega168/328 chips.

I had some problems with very poor quality prints that were coming apart and delaminating after I reset my cartridge, but it was fixed after I downgraded the firmware from version 1.1.I back to 1.1.G. I don't know if it was fixed because the firmware loading process also reloads information onto the EEPROM, or if firmware version 1.1.I has extra checks in it to detect modified filament cartridges.


Downgrading / loading a different printer firmware

You can downgrade / reload your printer firmware using the Windows version of XYZware by disconnecting from the internet and attempting a firmware upgrade inside XYZware:

(This only works on Windows as of now, Mac version of XYZware doesn't pop up a file chooser.)
1. Disconnect from the internet
2. Try to upgrade firmware using the button in the About / Help dialog box within XYZware
3. After a while, it times out and opens a file browser to select a firmware file.

Credits to Stosh over at the Voltivo blog post comments, who helpfully uploaded a copy of firmware version 1.1.G:

http://stashbox.org/1466582/3DP01_20140 … ELEASE.bin

Printing without XYZware

THIS IS STILL A WORK IN PROGRESS

The printer shows up as regular serial port, I'm using 115200 8N1.

I have a small python script that can communicate with the printer directly, and get serial number, status, temperatures, etc. Credits to joshj for getting me some captures of the serial communication.

https://github.com/jasongao/DaVinci1.0/ … davinci.py

example usage on Mac:
python print-to-davinci.py /dev/tty.usbmodem801211 minimal.gcode

It only works with "minimal.gcode" right now, there's a checksum calculation that I haven't figured out yet, so it's hardcoded for that test file.

2

Re: XYZprinting Da Vinci 1.0 Hacking

hi
thanks for all this stuff!

now i can print with slicer
but my print speed is now very high, maybe too high for small details
the 1st layer is supposed to be very slow , not now
even when i set speed to 20mm/s in slicer for all paths
is there an explanation?
am i the only one with this little problem?
thx

3

Re: XYZprinting Da Vinci 1.0 Hacking

jaak,

Your speed is so high because the code example that solidonkey has provided removes the slic3r heading details. When you want to use slic3r for the Da Vinci you need to add the xyzprinting details to the header not replace them. Please note that the preferences shown need to be established in slic3r and should not be modified after exporting the gcode as the route would need to be changed.

I will also mention that I use a Mac and I do not have to encode the gcode file. I drag and drop the modified gcode into XYZware, it loads and gives me a visual of the path slic3r created, and I hit print.


Here's my example (No space for the G1 commands):

; filename = composition.3w
; machine = daVinciF10
; material = abs

; layer_height = 0.1
; perimeters = 2
; top_solid_layers = 3
; bottom_solid_layers = 3
; fill_density = 1
; perimeter_speed = 20
; infill_speed = 60
; travel_speed = 130
; nozzle_diameter = 0.4
; filament_diameter = 1.75
; extrusion_multiplier = 1
; perimeters extrusion width = 0.40mm
; infill extrusion width = 0.40mm
; solid infill extrusion width = 0.40mm
; top infill extrusion width = 0.68mm
; support material extrusion width = 0.40mm
; first layer extrusion width = 0.40mm
; total_filament = 1
; extruder = 1

G21 ; set units to millimeters
M107
;M104 S230 ; set temperature
;M109 S200 ; wait for temperature to be reached
G90 ; use absolute coordinates
G92 E0
M82 ; use absolute distances for extrusion


******G1 Commands******


M103 ; extruder off
M127
M104 S0 ; turn off temperature
G28 X0  ; home X axis
G92 E0
M107
M84     ; disable motors

4 (edited by joshj 2014-04-26 17:06:04)

Re: XYZprinting Da Vinci 1.0 Hacking

Very nice summary solidonkey.

So for what it's worth this machine uses repeitier software modified for xyz.
I can get repietier to connect but davinci is expecting outputs differently than repietier send so all gcode is ignored. 


For what it's worth, not all files created by Slicer need the header changed and I have not had time to look into why that is yet or what is different in the ones that need changed.

People were also asking for slicer settings, well first off I made the nozzle size .4.

Upped the extruder multiplier to 1.05 or so.

I lowered all the speeds in the slicer config by alot, while it still printed ok at the default slic3r speeds, it seemed alot noisy and rough on the machine.
All speeds are in the main body of the g-code, unless this is different than commercial cnc machines all lines with a ; in the front are nothing but comments and are ignored by the gcode translator(printer). The header lines that have a ; in front of them are NOT read by the machine and are ignored so replacing them with the XYZ header is fine. For what is wort I do not "add to the slicer header I straight replace it and the speeds are exactly what I set them to be in slic3r.

Set it to do random start points per layer so you dont get that start stop edge blobbing like in the xyz ware.

So now that is about it, everything else really is a print by print basis. like on large overhanging prints I set it to do outer perimeter last and so on.

It is really a trial and error deal, but you can get very good results.



OK so here is a txt file of a test print sent from xyzware to davainici

https://drive.google.com/file/d/0B7joFV … sp=sharing

5

Re: XYZprinting Da Vinci 1.0 Hacking

it works well for me but i still have a speed problem,
it’s a bit fast for small parts
some say speed is determined by g code and some other , in heading details
what am i supposed to do?

6

Re: XYZprinting Da Vinci 1.0 Hacking

@jaak, what are you setting the base speed to in skil3r?
It's based on mm per second then you can base all the other speeds either as a percentage of that or an absolute speed.

Harry

7

Re: XYZprinting Da Vinci 1.0 Hacking

I am interested in what part of the gcode should be converted to base64, so the file can be viewed in XYZ software.  I have not been able to view .3w files I have tried to create with notepad++ in xyz software.  I am trying to use Cura to generate the base gcode and modify it in notepad++.

I have been able to reset the filament cartridge, I have also changed extruder temperature to 230 C and the base plate temperature to 100 C. After making temperature changes, I used third party glow-in-the-dark ABS filament to print excellent demo keychain.  Much better quality than with original filament in cartridge.

I have read rumors that xyz will sell PLA filament cartridges and this is why the initial temperature settings are on the filament cartridge EEPROM.  I have some PLA filament, and was interested in using it in the xyz printer if I can adjust to the correct temperatures to use in the xyz printer

Has anyone out there used Cura or Slic3r to adjust extruder and base plate temperatures so they could use PLA filament with the xyz printer?  That is the main reasons I am interested in using Cura or Slic3r to print with my xyz printer. 

I would also be open to just copying gcode files to SD card in printer.  I have already have access to SD card and can read and write to it no problem, I just want to make sure I am setting up the gcode header correctly.  I would prefer to use Cura if possible.

Post's attachments

spool holder print sample code.txt 3.43 kb, 75 downloads since 2014-04-27 

You don't have the permssions to download the attachments of this post.

8

Re: XYZprinting Da Vinci 1.0 Hacking

zdemilo wrote:

I am interested in what part of the gcode should be converted to base64, so the file can be viewed in XYZ software.  I have not been able to view .3w files I have tried to create with notepad++ in xyz software.  I am trying to use Cura to generate the base gcode and modify it in notepad++.

The whole file needs to be converted to base64 and then saved as a .3w file. It will them open in XYZWare.

9

Re: XYZprinting Da Vinci 1.0 Hacking

i used this one but it worked for this file
print speed was acceptable, and the raft was there
sometimes, the raft isn't printed i don't know why
i'm bloody noob in programing

i can just tell that print from slic3r are better than from xyz ware
i can adjust feedrate (too high in xyz) and temperature 220°
abs is more fluid and prints are smoother

10 (edited by solidonkey 2014-04-27 22:29:45)

Re: XYZprinting Da Vinci 1.0 Hacking

I have a small python script that can communicate with the printer directly, and get serial number, status, temperatures, etc. Thanks for the serial captures, joshj!

https://github.com/jasongao/DaVinci1.0/ … davinci.py

example usage on Mac:
python print-to-davinci.py /dev/tty.usbmodem801211 minimal.gcode

It only works with the minimal.gcode right now, there's a checksum calculation that I haven't put into the python script yet, it's hardcoded for the minimal.gcode example.

EDIT: earlier it wasn't working because it was missing a "print_time = 196" line from the header, now the python script will print the minimal.gcode at least.

11

Re: XYZprinting Da Vinci 1.0 Hacking

solidonkey wrote:

I have a small python script that can communicate with the printer directly, and get serial number, status, temperatures, etc. Thanks for the serial captures, joshj!

https://github.com/jasongao/DaVinci1.0/ … davinci.py

example usage on Mac:
python print-to-davinci.py /dev/tty.usbmodem801211 minimal.gcode

It only works with the minimal.gcode right now, there's a checksum calculation that I haven't put into the python script yet, it's hardcoded for the minimal.gcode example.

EDIT: earlier it wasn't working because it was missing a "print_time = 196" line from the header, now the python script will print the minimal.gcode at least.


Great work sir.

The following information may or may not be of use to you. This was all sent to me by oliver, the creator of the cart hack.

This is what I found digging through the MAC version. It’s the serial commands its using:
I tried a few and it works. Just send this for example: XYZ_@3D:8

I guess this is what you are after:
"uploadGCodeText"        = "XYZ_@3D:4";
"latestBlockSent"        = "XYZ_@3D:90”;

Just need to find out how big each block is.

Ollie.



"prefix"              = "XYZ_@3D:";

//"disconnect"           = "XYZ_@3D_S10_X";
//"connect"              = "XYZ_@3D_S10_0";
//"start print"          = "XYZ_@3D_S10_1";
//"test case"            = "XYZ_@3D_S10_2";
//"uploadFirmwareBinary" = "XYZ_@3D_S10_3";
//"uploadGCodeText"      = "XYZ_@3D_S10_4";

//"extruder Temperature" = "XYZ_@3D_S10_101";
//"get standard info"    = "XYZ_@3D_S10_102";
//"get advanced info"    = "XYZ_@3D_S10_103";


"disconnect"             = "XYZ_@3D:-1";
"connect"                = "XYZ_@3D:0";
"startOnlinePrint"       = "XYZ_@3D:1";
"test print"             = "XYZ_@3D:2";
"injectManualCommand"    = "XYZ_@3D:2";
"uploadFirmwareBinary"   = "XYZ_@3D:3";
"uploadGCodeText"        = "XYZ_@3D:4";
"latestBlockSent"        = "XYZ_@3D:90";
"uploadBinaryDidFinish"  = "XYZ_@3D:91";
"uploadGCodeDidFinish"   = "XYZ_@3D:92";
"machineLife"            = "XYZ_@3D:5";
"read eeprom A"          = "XYZ_@3D:6";
"read eeprom B"          = "XYZ_@3D:7";
"machine status"         = "XYZ_@3D:8";
"printer status"         = "XYZ_@3D:8"; // same as machine status

"get standard info"      = "XYZ_@3D:201";
"get advanced info"      = "XYZ_@3D:202";

//example "XYZ_@3D:101,1"
//example "XYZ_@3D:101,2"
//example "XYZ_@3D:103,2"
"extruder on"           = "XYZ_@3D:101";
"extruder off"          = "XYZ_@3D:102";
"extruder Temperature"  = "XYZ_@3D:103";

12

Re: XYZprinting Da Vinci 1.0 Hacking

My wife wanted me to print this birdhouse, http://www.thingiverse.com/thing:116297.

I ran all the parts through NetFabb Model Repair, https://modelrepair.azurewebsites.net/ and started with the base.

No matter what I did I could not get the base to slice with XYZ software, it would crash within 5 seconds. Tried for hours and everything I could think off, even put in a support ticket attaching the model. In true XYZ support form all I got was the auto response, no help or acknowledgement at all.

I finally took into slic3r, reduced 50%, exported and modified the header, removed the last line drop the gcode unencoded into the OSX version of XYZ and it uploaded and printed first time.

I have a attached a photo or the printed base and the base gcode in case anyone wanted to look at it. I had to zip the gcode due to size buts its just plain text

harry

Post's attachments

Birdhouse_Rook_Top_fixed.gcode.zip 4.93 mb, 47 downloads since 2014-04-28 

P1010713.jpg
P1010713.jpg 1.1 mb, 3 downloads since 2014-04-28 

You don't have the permssions to download the attachments of this post.

13 (edited by piercedtiger 2014-04-28 12:13:06)

Re: XYZprinting Da Vinci 1.0 Hacking

harrypottar wrote:

My wife wanted me to print this birdhouse, http://www.thingiverse.com/thing:116297.

I ran all the parts through NetFabb Model Repair, https://modelrepair.azurewebsites.net/ and started with the base.

No matter what I did I could not get the base to slice with XYZ software, it would crash within 5 seconds. Tried for hours and everything I could think off, even put in a support ticket attaching the model. In true XYZ support form all I got was the auto response, no help or acknowledgement at all.

I finally took into slic3r, reduced 50%, exported and modified the header, removed the last line drop the gcode unencoded into the OSX version of XYZ and it uploaded and printed first time.

I have a attached a photo or the printed base and the base gcode in case anyone wanted to look at it. I had to zip the gcode due to size buts its just plain text

harry

This is what gets me! Why is it such a pain in the ass to send some models to this printer? I thought STL files were a "standard" format. Is that not the case?

I had one yesterday where the XYZ software choked the first time, then printed it after the second try, without changing anything. I couldn't get anything to come out right during the week, then this weekend I printed out 3 wall shelves, 2 battery trays, a tornado tube for the kids to play with, and 3 pill bottle caps in various zoom amounts looking for the right size. My most successful time ever, with the printer running most of the weekend. None of those items needed to be messed with, and yet others have to be run through Slic3r to get the gcode for a demo print. I can't find a rhyme or reason for this.

14

Re: XYZprinting Da Vinci 1.0 Hacking

Don't know about the Windows version but the OSX version as memory leaks, restarting the Mac help a lot.

Deleting the xyz preference plist in you're home library directory helps as well.

I just think some things are too large or complexed, I have no issues slicing small to mid range stuff in XYZ but larger stuff just crashed the software.

I think you get better results using slic3r and you have a lot more control, my prints have better (solid) tops and bottoms they're very thin through XYZ. I understand the business model for the filament cartridge but they should allow direct gcode upload. Keep the XYZ for learning and simple stuff but allow the upload of gcode.

Once you start printing make sure the bed is level, its takes some time and patience but it is worth it. Don't start the bed leveling process when you're in a rush to print something, set some time a side to do it right. I would say a good 30 to  forty minutes to dial it in right if its off, you could do it in 5-10 if its not that far out.

If the printer is set up and model sliced right you get some good prints for the cost of the machine.

harry

15

Re: XYZprinting Da Vinci 1.0 Hacking

Well stl is a standard, but every program still would output the model you created differently depending on how the model is seen by the software. Some of the models produced by solidworks , netfab just chokes on, and I have to use kisslicer. Just be glad we are to the point we can already use these 3rd part software or we'dd really be pissed.

16

Re: XYZprinting Da Vinci 1.0 Hacking

I did have to recalibrate on Saturday, so that might have helped the quality anyway. I know XYZ seems to choke on any complex file. The shelves I printed, came out flawless IMO. Just needed to file down a  1/2" rough section on one corner, that was it. I was thoroughly impressed with it, and it reassured my decision to buy this printer (I was starting to have some doubts about it).

Post's attachments

20140426_191059.jpg
20140426_191059.jpg 803.95 kb, 2 downloads since 2014-04-28 

20140426_191106.jpg
20140426_191106.jpg 758.16 kb, 1 downloads since 2014-04-28 

20140426_191113.jpg
20140426_191113.jpg 771.73 kb, 1 downloads since 2014-04-28 

20140426_192333.jpg 934.07 kb, 1 downloads since 2014-04-28 

You don't have the permssions to download the attachments of this post.

17

Re: XYZprinting Da Vinci 1.0 Hacking

by the way, you may find this useful http://gcodesim.dietzm.de/  its a gcode print simulator, its written in java and pretty neat.

While I've been experimenting with Slic3r once exported you can load the gcode and watch it print layer by layer. You can speed it up, slow it down, step forward and back and inspect each slice.

handy tool when you're starting out.

I have no affiliation with the software, I stumbled across it one day and found it useful.

harry

18

Re: XYZprinting Da Vinci 1.0 Hacking

Well after more playing and fiddling around tonight, I will confirm that the extruder and  temp is settable by slicer overriding the cart.
This will not help loading the pla but it's a start. I Found at 210-215 the pla swells and wont feed.

So does anyone have an empty cart they are willing to send me? So yeah I was wrong.

19

Re: XYZprinting Da Vinci 1.0 Hacking

First post, but I signed up specifically to correct some information above and share (I write gcode for a living doing CNC programming):

First of all, the easiest way to output from Slicer is to delete everything above the G21 line and replace with everything above the G21 from Sample01.gcode on the card:
; filename = composition.3w
; machine = daVinciF10
; material = abs
; layer_height = 0.2
; total_layers = 173
; total_filament = 0.00
; extruder = 1

Don't change anything.  Everything after a semicolon is a comment and it's basically ignored.  At this time you can also doublecheck or add in extra commands to change temperature.  The cartridge only contains the information for the default temperatures--including the temperatures the machine automatically heats to before it runs a program.  Once the program is running, the program controls the temperatures.  M104 Sxxx sets the temperature and immediately continues, M109 Sxxx will wait on the extruder to reach that temperature.  Same with M190--it waits for the bed to reach specified temperature.  I'm not sure offhand which code simply sets the bed temperature without waiting. 

In any case, rename the slic3r file Sample01.gcode, put it on your card, and run from the Davinci menu (Demo run).  Don't worry about changing all the header information, etc.  It's just comments.  In fact, while I've done the above on all my prints, I'm not even sure all that is really necessary.  Simply overwriting the Sample01.gcode file should be enough.

For what it's worth, when setting up Slic3r all I did is set it up as a Reprap machine and entered the nozzle diameter, etc. in. 

I'm fairly impressed so far, but at the same time unimpressed.  I'm attributing my lack of knowledge regarding the actual functions of 3d printing to that and possibly that my expectations are too high.   I don't like seeing my Z step lines and it seems that in most pictures I've seen here no one has any, but mine seem to always have it.  I've only got a chance to toy with it on the side at work, but I'm thinking of bringing it home so I can get a bit more time to mess with it.  I bought it as a work toy to give me more incentive to practice my 3d modeling in solidworks as well as for a bit of rapid prototyping and fixturing for our Laser Marker. 

I haven't had any calibration issues anyone else has had.  My first 3 prints it ran the auto calibration and hasn't run it since.  I ran an indicator across my bed and there's .001 in. of difference in X, and the glass bends up .005in on the Y axis, but both ends are even.  The Z axis seems to have around .012in (.35mm) of backlash, but since slicer retracts 1mm when needed that should be enough to compensate for the backlash.

20

Re: XYZprinting Da Vinci 1.0 Hacking

Thanks for chiming in Ovrclck350. What you said seems to make sense, so I'll try that approach next time. I'm one of the ones with bed leveling issues, and haven't gotten any help from XYZ customer support. I don't see anything obviously loose, and my prints, right after I calibrate are very good.

I'm thinking about maybe putting a backup nut on all the adjustment screws, because I think maybe the vibrations are walking them out of alignment. That's just one theory. I actually can't even run the "auto-calibrate" test and get the same readings in a row even though I won't even adjust anything.

Anyone else having this issue? Any tips?

Thanks

21

Re: XYZprinting Da Vinci 1.0 Hacking

I can think of 2 places to check:

1) See that the bed is solid in the bed holder and that the physical connections to the Z screw are not broken. Any cracking in the bed support will show variability.

2) Also check the physical condition of the extruder mount. Another person had an extruder come loose during shipping and had to snap it back in place. If your extruder is loose, it will also show variability.

-- ggunners

SD2 Expert stock, ABS fume fan,
XYZ DaVinci 1.0 stock ABS, Simplify3D
QUBD Two-Up PLA, new 3D printed X gantry, Y idler, flex z coupler, extruder mount, E3D Lite

22

Re: XYZprinting Da Vinci 1.0 Hacking

Circles out of round...

OK, so when I print any type of a cylinder, either just tiny 5mm hole or a 10mmx10mm cylinder they always come out just a little oval. For instance a part I was printing was supposed to be 14mm in diameter but ended up 13.8x14.2 oval which did not fit the tolerances. With this issue I can't hope to print any working gears.

Since, unlike a RepRap, we're limited at our ability to fine-tune the system I'm at a loss of where to begin looking. XYZ doesn't offer any info like belt tension or even maintenance info like how, when, and with what to grease the rods and gears.

Any thoughts to a fix for the ovals and maintenance tips?

23

Re: XYZprinting Da Vinci 1.0 Hacking

ggunners wrote:

I can think of 2 places to check:

1) See that the bed is solid in the bed holder and that the physical connections to the Z screw are not broken. Any cracking in the bed support will show variability.

2) Also check the physical condition of the extruder mount. Another person had an extruder come loose during shipping and had to snap it back in place. If your extruder is loose, it will also show variability.

-- ggunners

Ok I'll check those two things out and report back, thanks for the help.

24

Re: XYZprinting Da Vinci 1.0 Hacking

Make sure the screws on the little metal pads the indicator touches on are tight and make sure that the metal stud is completely clean.  I had a print mess up and I had some residue that had caused it not to pick up for a while.  I spent an hour leveling mine this morning--I found out that even though my glass is level, the pads themselves aren't exactly perfect with the glass. 

What I did was I wrote down the 3 numbers every time.  Then I wrote which nut I turned (I only turned one--don't try to do more than that).  The goal is to sneak up on "level."  Because of the 3 screw system, if you try to do 2 you're just going to throw everything out.  Also, the guide for leveling is close, but somewhat misleading.  Just remember that screw A will both raise spot 1, and lower spot 3 when loosened.  Same goes for screw B, and corner 2.  The effect that A has on corner 2, and that B has on corner 3 is marginal.  My goal was to get corners 2 and 3 as close as I could.  Then I adjusted screw C in small increments until everything worked out.  It took 12 times, but the first 4 were just large adjustments to get me in the ballpark.

As far as belt tension, they can be adjusted if you take off the smoked plastic sides.

25

Re: XYZprinting Da Vinci 1.0 Hacking

Ovrclck350 wrote:

Make sure the screws on the little metal pads the indicator touches on are tight and make sure that the metal stud is completely clean.  I had a print mess up and I had some residue that had caused it not to pick up for a while.  I spent an hour leveling mine this morning--I found out that even though my glass is level, the pads themselves aren't exactly perfect with the glass. 

What I did was I wrote down the 3 numbers every time.  Then I wrote which nut I turned (I only turned one--don't try to do more than that).  The goal is to sneak up on "level."  Because of the 3 screw system, if you try to do 2 you're just going to throw everything out.  Also, the guide for leveling is close, but somewhat misleading.  Just remember that screw A will both raise spot 1, and lower spot 3 when loosened.  Same goes for screw B, and corner 2.  The effect that A has on corner 2, and that B has on corner 3 is marginal.  My goal was to get corners 2 and 3 as close as I could.  Then I adjusted screw C in small increments until everything worked out.  It took 12 times, but the first 4 were just large adjustments to get me in the ballpark.

As far as belt tension, they can be adjusted if you take off the smoked plastic sides.

I'll check the metal pads better and make sure the sensor is really clean. I've been through the hour long process of leveling the bed multiple times. I can do it relatively quickly now, and I get numbers within 25 of each other. The next few prints are good, but then I'll run the auto-calibrate again and some numbers are already back to 999+ and several hundred off from each other. I can begin to see a degradation in the print quality after that.