Introduction: XYZ Da Vinci Junior (jr) NFC Tag Filament Reset Hack Arduino
I'm not a coder and I personally had a lot of reservation and concern about using the Arduino and NFC Chip when I first got them. I'm sure with enough time I could have figure out what sketches to use and how to use them, but instead I found a wonderful piece of software that was simple to use and set up for my cheap Arduino and NFC Chip.
This Instructable is for using the Arduino and NFC Chip. If you have an Android Device that can read NFC you can also use this Intractable to read and rewrite your tag:
Step 1: Get Your Equipment
You will need an Arduino Card (Uno or Mega). You will also need an NFC Chip. There is the RC522 which is a smaller chip. There is the PN532 which is a large chip and also can be found in the form of a shield for easier connection (no soldering). Aquire these however you want. Below are some basic random links to some equipment as an idea of what there is out there. If you have time Ali Express is a cheap place to get these as well.
Step 2: Get the Software
The title of the item as of now is below if this listing has ended and you need to search:
RFID Reader,Writer Starter Kit RC522/MFRC522/PN532 Software Only
The eBay user name is below if you want to request a resisting of the item or have questions or can search using it:
The current price is 8 pounds ($11.37 US). This is money well spent. Right now the current process using Arduino sketches to my knowledge are only available using the PN532 Shield or chip. The price of this software is about the same difference in price as the PN532 Shield and the RC522 Chip, so the money you save being able to buy the cheaper NFC Chip should be spent to get the software. The author of the program has great videos explaining every aspect of the software. All the features of any NFC Tag. And I can't rave enough about how nice the user interface is to work with compared to a blind sketch where you can't see what's going on.
Step 3: Build Arduino RFID Builder and Setup With Software
The software author has a huge series of videos on everything from how to connect/build an RFID Reader box to loading the software to loading the hex file in the Arduino. On YouTube you can see all the videos below are a few key ones for our project:
Step 4: Example Reset
Use the software information and videos to get your Arduino and NFC Chip set up. I'm going to start with the assumption that you have the Arduino built, the software installed and the hex file in the Arduino that comes with the software.
After plugging in the Arduino and starting the software select the connect button in the top left corner.
Step 5: Read the Card
After the Arduino has connected (note the Connect O.K. and status box) place the tag near the reader and then press the select button.
Step 6: Reading the Card
Once you hit select on the main screen it should automatically open the "NTAG______" tab and you should see the screen above. At this point you should be able to click the go button and it will read pages 0 to 7.
Step 7: Information to Provide for Key Generation
Please forward the information in the red box to me and purchase my eBay item. I will provide the key to you through eBay, then you can follow the rest of the directions.
The alternative to the eBay listing is to use a process where a logic analyzer is physically attached to a chip inside of your disassembled printer and listening for the key. The basics of the procedure can be found by googling Da Vinci jr NFC Reset.
The eBay listing is a way for me to get your password, so that you don't have to purchase various electronic, learn to use them and take apart your printer and make connections to your printer chips. By all means if you have the desire and or the equipment get your own password go for it. I'm just providing an alternative.
Step 8: Known Concerns
When the last 4 digits of Page 2 reads as follows:  : F8FF (see blue box in picture for location of bits in question) This means that pages 3 to 15 of the tag are irreversably locked and can't be rewritten. So, Page 8 which has the color/temperature setting can't be reset. And pages 10 (0A in hex) and 11 (0B in hex) which has the original reel length can't be increased. Page 20 (14 in hex) has the length left on the reel, so that can be reset if your tag has been locked. At this time we have been unable to successfully rewrite pages 20 to 23 (14 to 17 in hex) in a way that the printer does not get an unrecognized spool error. I would recommend trying a different tag and seeing if it has all pages unlocked and sending the info for that tag to get that tag key. This situation has only been encountered one time. All other known tag reads have shown values of 0000 for the last 4 digits of Page 2 meaning none of the pages 3 through 15 are locked.
Step 9: Using Your Key
Once you have gotten you key this is how you authenticate and rewrite the tag. At the main screen makes sure your Arduino is connected and you have pushed the select button. The "NTAG _______" tab should open as seen in the picture. You have to authenticate the card. Do not read the card by hitting go or do anything else. First you must authenticate the card.
Step 10: Select the Password Tab
Select the Password/Config tab and the app will open what you see in the picture.
Step 11: Enter the Key
Enter the 8 Digit key 2 Digits at time into the 4 boxes highlighted by the red box. Then hit the Authenticate button below the key entry.
Step 12: Authenticated State
Once you authenticate notice the message at the bottom middle in green. Also you will get back a number in the lower right corner. This 4 digit number is the PACK. This is the number I request when giving you the key. In order to continue with the effort, in the hopes of one day creating usable tags from blanks we need to figure out how the PACK is calculated, so the bigger the data set the better chance we have or figuring it out. That is why I ask for the PACK to get a significant sample size to look for the pattern.
Step 13: Once Authenticated
Once Authenticated go tot he User Memory Tab and then select the go button in the top right side.
Step 14: Reading All the Pages
At this point you should see the above with all of the pages displayed in the scrolling screen to the left.
Step 15: Writing New Data
In the scrolling screen on the right select a box in the line of the page you want to write and the page should change to match in the upper left of the tab. Then you can write the contents of the page in 4 box at 2 digits each. Once you have the information in you can then click the write button highlighted in the box.
Step 16: Good Write
With a write that works you will see the green message at the bottom.
Step 17: What Values to Write Where to Reset the Length
Above is a picture out of the Android App, but is here for the values. All pages are in Hex format not in decimal please take note of what column you are reading in the program.
Page 8 has the color and extrusion temp in it. It is the 5th and 6th digit of number. Right now only 2 temperatures are known 191 and 210, so in the pic are the codes for each. Temp appears to be set by color, so changing the color is the only way to change the temp.
Page 08: 5A505000 For Green and 210 Degrees
Page 08: 5A504500 For Olivine and 190 Degrees
Page 0A and 0B set the original spool length reset these values to the default 200 m value.
Page 0A and 0B: 400D0300
Page 14 has the Remaining Length on the Reel and this should be reset to the default 200 m value.
Page 14: 400D0300
Pages 15, 16 and 17 change as the reel is used and are most likely just countdowns that are used as a checksum of the length. These should be reset to the default values.
Page 15: 081F3154
Page 16: 50B1E0CE
Page 17: 52E74F76
If you run into trouble start by trying a different color setting in Page 8. If that doesn't work change all pages 8 to 17 hex to the values that match the picture.
Leave a comment if you have questions or send me a message.