XYZ Da Vinci 3D Printer

Filament Counter Reset Tool

XYZPRO released!

Any Extruder Temperature*, Any Bed Temperature*, Any Filament Length, Cartridge Recovery and more!
* You can set any parameter that is supported by your printer's firmware


Updated 19 Jan 2018

One of my XYZ 3D printer cartridges died a couple of days ago :( (so sad) -- the printer was showing 0m left, where there was still filament in the cartridge ... ?!?, so I made this simple cartridge counter resetter that snaps at the bottom and resets the internal eeprom counter. It uses an Arduino Pro Mini PCB, spring-action push pins and a 3v button cell. The code on the Arduino allows you to set the filament length to either 131m or higher so it should not bother you for a while.

If you want to make your own, you will need the 3D printed shell, an Arduino Pro Mini (either this one or any other compatible depending on how long you want to wait to get it, 3 spring-pins the actual code (you can use the original code on github written by voltivo) and the wiring instructions (below). If you can't be bothered getting into programming or having to buy the USB programmer etc, or if you simply dont' have the time, you can get the whole thing (less the 3d printed shell) from me - see below for the magic paypal buy now button.

To wire it, just look at the cartridge the corner that is slanted 45 degrees, is the positive, the one next to it is the data-pin and the last one is ground. Just connect the positive to vcc on the arduino, ground to ... gnd and the data-pin (the middle one) to data-port 7 on the arduino.

Power-up the pro mini by either the 3v battery or any power source (3v-5v) and let it do it's thing. the led on the arduino will light-up and keep flashing until a connection is made with the cartridge. Once connected, the arduino will send the counter-reset code and turn the led off. Disconnect the board from the cartridge and you're done! It should now read 131m left (or higher).

Edit April 17th: I've released a new shell today called XYZ999. It is a full enclosure with push-button power to make your life a little easier (no need to mess around with the battery anymore). Some pictures including the new button (connected between the arduino negative and the battery) (Mouser P/N 611-PTS645SL702 are below. You can download it as always from thinkiverse.

Edit April 18th: The program used in this resetter is now a direct fork of Oliver Fueckert's code, modified to be able to enable/disable the extended 230*C temperature on the nozzle by jumper selection (jumper is between pin 4 and 5. By inserting this jumper, you'll set the temperature to 230*C instead of the stock 200*C. Removing the jumper (default) the temperatures will be set to factory defaults).


Unfortunately the new firmware which XYZ Corp rolled out in mid April (Version "I") broke a few things. While it fixed some software issues (according to XYZ Corp), it introduces some unwanted bugs, like poor printing, cartridge locking etc ... Do not dispair, there is a way to fix this! Simply follow the procedure below, kindly provided by Chris (from the voltivo blog):

1) Disable your computer's network connection (turn off the Wi-Fi card or yank ethernet, etc) then open XYZWare. 
2) Click 'About' and then under the firmware area click 'Check for Updates'. XYZWare will complain about not being able
   to contact the server and to try later but the software will still immediately open a file window. 
3) Select the 'G' firmware .bin file and click 'Open' and the firmware "Upgrade" will begin.

If you can not find the version G firmware in the default directory, you can use this one-> 3DP01_20140310_FW_V1.1.G_RELEASE.bin (thank you Charles!). Just right-click on the link and save-as somewhere and then load it to flash the printer with it.

Happy Printing!

Assembly wiring for the resetter v1/v2

The new XYZAP v3 with dip switches to set both bed and extruder temps.

Using the XYZAP v2 with the newly designed enclosure.
If you want to get all the electronic parts for the resetter in one go, I've made up a short-form kit. This resetter, resets the cartridge to 240m.

The original resetter v1.

The resetter v1 (v2 compatible) kit includes:
  • A pre-programmed micro controller board
  • 1 2-pin jumper or pre-cut link (to set the temperature to 230*C) new
  • 1 ECR1632 3V battery
NOTE: You will need to print the 3D enclosure from and solder 3 wires from the arduino board to the 3 pins to build the complete resetter.


Shipping to your door can take 9-15 (business) days (in the USA they are typically delivered within 3-5 days).
This depends on the amount of orders I get per week, my stock and how fast
I can print the enclosure - the 3D printer only goes so fast and I print the shell in 2 colors :)

You can always reach me by email by clicking here.

Can't be bothered printing the 3D shell and/or assemble the kit yourself?
Order the resetter already made (2 versions available).

XYZAP! v2 Fully Assembled & Tested
with enclosure and push-button


XYZAP! v3 Fully Assembled & Tested
Set your preferences with dip switches!


More tips and fixes:

Read Brian's great tutorial to solve the "no filament/no cassette" issue which comes up when trying to print with clear filament posted on!
Kellen just told me that revision J of the firmware works fine with the resetter as long as you use 230*F (so put the jumper on the two pins inside the resetter). Try that is your prints don't stick.

Initial Feedback for the new version 3

"The Ressetter works good into changing the settings of heat for the extruder and bed and resetting the filament count!
It fit really well and snug. Instruction was clear! Its really cool." - T.N.

"I tested the resetter on my empty cartridge and reinserted it, both the 240 and 400m seem to work!" - T.F.

"I wan't going to buy the xyz because of the high priced cartridges, but with the XYZAP! it now makes it worth it. Thank you! - R.S.