Introduction: Da Vinci 1.0 Filament Reset
Hello all here is an update to a recent issue encountered with the latest Da Vinci 1.0 3D printer, as many have seen you MUST buy their pricy "filament cartridges" in order to be able to print, but an "unforeseen" issue arrived a product marketed towards home makers and, eh hmm, "hackers" hacked the printer to use 3rd party filament of much greater quality and quantity and much lower price so XYZPrinting created several firmware updates to try and combat this issue but low and behold they seem to be continually a step behind, to be honest this is a great business tactic and I hold nothing against them, I love their products, but at $~30 for 600g for filament that's a little much but given the low $399.00 price tag its OK for them to try and make it up in supplies.
So anyway if you've stumbled across this perhaps you've run into the problem of "filament not genuine" or "filament not recognized" in the latest firmware update it appears that 400m cartridge support has been removed and the Arduino code on Voltivo.com is not working with there latest firmware revision, I managed to hold onto the older version of the Arduino code and it seems to satisfy the printer? IDK why I haven't dug through the lines to spot the differences but there is obviously something...
So onto the next step for the directions you will need an Arduino (I've got the UNO Rev3) haven't tried any others, and a filament cartridge, and a 3 pieces of thin wire.
Step 1: Arduino Uno and the EEPROM
In the picture from left to right the EEPROM chip pads are (+),(signal),(-) you will need 3 pieces of wire one for each contact, the (+) will go the the Arduino 5v, the (signal) will connect to Arduino Digital pin 7, and the (-) will connect to one of the Arduino GND. If your careful you can simply hold all three wires under one finger on the pads and then push the wires into the Arduino and you will not have to do any soldering or complicated wiring. Now for the Arduino code it should be attached simply download it and save it into a folder named "Filament" then it will open in Arduino. Simply upload it to the Arduino WHILE IT IS CONNECTED TO THE CHIP and the TX light will flash for a split second and then stop the chip is now reset. This code is set for 240m and 90C bed temp the one labled "Filament_98C" Is set for 240m and 98C bed temp which I've found allowed the filament to stick a little better.
On the code near the bottom are options to uncomment pieces of the code to set different lengths, simply add "//" in-front of the active code and delete the "//" in front of the desired length, to the best of my knowledge 400m will not work with the latest firmware update so there is really no need to adjust the code.
UPDATE 4/8/2015 It appears they have tried to take a step forward to prevent unauthorized cartridge use, in the newest SOFTWARE update they have added the ability for the software to read and save the cartridge serial number and then cross check it before printing, when a cartridge is flashed it does something to the serial number and the software will reject it, IDK what it does either erase or modify it to the original cartridge that the EEPROM data was pulled from by the original creator of this code(not me) but none the less the new software will not let you print BUT with FIRMWARE 1.2.6 the printer still recognizes the cartridge and doesn't reject it so a quick fix is to downgrade your software I have provided XYZ 220.127.116.11 it was the most recent I had saved, simply download the file, extract, and run, it will automatically delete the newer version and load itself and you will be good to go older software will read files created by the new software also. Enjoy printing.
Step 2: Problems
If the cartridge now gives an "error" or "not genuine" message on the printer or XYZ software try and power off the printer and then remove and re-seat the cartridge then power back on my printer had trouble with detecting cartridges I think the contacts in the printer were dirty, if re-seating doesn't fix try and wipe a cloth across the printer contacts from left-to-right and maybe a little rubbing alcohol, otherwise try and re-seat the cartridge multiple times it worked for me.
MidnightMaker made it!
We have a be nice policy.
Please be positive and constructive.
I love what you've done here!
There is a similar (VERY similar) mechanism on the Sindoh DP200 printer, however, it uses only 2 pins rather than 3. (which kinda boggles my mind). I know there is a new EEPROM out there that claims to power itself off the data lines but don't know how to effectively prove it. Any ideas on that?
Do you have any suggestions on how I can mod your sketch to read this thing? I'm happy to send a sample to you if you like. It would be a HUGE help.