Card Description
It’s time for the “Big Reveal”…
It turns out that the Xyron SD cards cannot be read in a standard SD reader because. They’re NOT SD CARDS!
They’re Atmel Dataflash!
Specifically, the 2MB DataFlash Card as described in the DataFlash Card Overview. And fully detailed in The AT45DB161B Datasheet.
Now how, pray tell, did we find this information out? Funny story. Our original method was to splice a logic analyzer into the disc maker to snoop on the transactions, and watch the bytes go by. There was one that was repeated many many times after each time we hit the save button – it looked suspiciously like a “Write Status” command. Now we didn’t know what the SPI polarities were, although we’d narrowed it down to a few, so we just google searched the words “spi flash status” and all the different permutations of the bits until we hit on one.
And pow – this byte exists on earth, and does something meaningful! We got our victim – it’s DataFlash! A little more searching revealed that Atmel manufactured (for a while) their DataFlash chips in an SD-card like package. Interesting, but totally bad manners as SD was already a standard. You might be saving your customers a few cents on a socket for your nonconforming device, but it’s like making some cheap no-name cola and putting it in a Coke bottle, just because a Coke bottle is a recognized standard. Fail.
It’s an opportune time to mention that another indicator of the XDR’s coming demise is that the entire “DataFlash Card” product line is already marked as “mature” (ie – dead) and is WAY harder to find than a Xyron card. In fact, if you happen to need a DataFlash card for some crazy old-skool bootloader board or something, just buy an old Xyron Design Runner card – it’s the same thing.
But we said our story was funny, and so far it isn’t. Sorry. Let’s continue, because here’s the funny part.
In our mad rush to buy every bulk XDR Card lot on ebay, we began seeing that some of the cards were not marked with the typical SL874 but rather a chip ID: AT45DCB002. Dammit!! Now with a number like that you can just look it up directly! Did noone ever see that this entire time? Not one person who stuck their card in an SD reader and said “hmmm” had the presence of mind to look on the backside? Well, such is life. Snooping the protocol is a much l33t3r method of ID’ing a chip, anyway.
By this time, you probably have a load of questions buzzing around your head. We’ll take a moment to generate a mini-FAQ Q/A session.
- Q: If the card is DataFlash, can I use another DataFlash card I have lying around?
- A: Probably. If your card is the 2MB device, definitely.
- Q: Can I use a normal SD card?
- No. You will never be able to use a normal SD card in this device.
- Q:What about using this DF card in a normal SD reader?
- A: No, not a normal one. If you could find a firmware-upgradeable SD reader, and rewrite the firmware to use the DF commands and weird page sizes, then yes – that could read it. We searched and couldn’t find one, and anyway – the Teensy is plenty capable.
- Q: If I use the LUFA libs to program Teensy into a DF flash drive, can Windows see the data? What about Linux?
- A: No, tried it. Although the LUFA libs are AWESOME, the format is different and Windows will just want to format the device. Furthermore, using the odd page sizes is not trivial, even with heavy mods to the LUFA code. (More than just changing PAGESIZE=). There is some chance that Linux could do it, although we haven’t even tried test 1 to back that statement up.
- Q: Are all cards the same thing? You’re only referring to one thing, a 2MB DF…
- A: Yes, they are all the same thing. A font card = blank card = clipart card. Only the data changes. They are all interchangeable in a hardware sense. If you have “doubles” of a card, or an unwanted card – yes, you can reformat it to a blank card for other usage.
- Q: Can I copy one card to another?
- A: Yes, although this brings up the sticky point of piracy. We don’t condone it. The manufacturer’s clip art sucks anyway – the point of this project is NOT to copy your girlfriend’s “Romance” Card so you can send her super lovey hearts and roses greetings. The point of this project is to enable users to use THEIR OWN art and fonts on the device, using DIY methods.
- Q: Can you get me a copy of Romance.bin? I want to send my girlfriend….
- A: Hell no. Don’t even ask. I would hope that she would dump you for even attempting to use factory clip art anyway. Go make your own romance clip art, and share it under the creative commons license.
Ok, all done with the Q & A time? Let’s move on to hardware.

By David M. June 7, 2011 - 3:43 pm
I spent a few hours today looking into the image format.. I cheated to discover the message, its in plain text at the end of the file. I assume the letters are mapped to the corresponding letter in the font which would explain why it was readable.
I couldnt quite figure out the FAT table, but I found two that look quite similar. One at the very beginning, starting after the first 4 bytes. (set your hex editor to show 14 bytes across and you’ll see the pattern). Then, after the initial bunch of FFs and 00s, you’ll see a bunch more series of bytes with a repeating 20 FF, then the chars “SAVE”. I believe this marks the end of the FAT.
Beginning immediately afterwards is some bitmap data. I couldnt quite figure out the stride.
I did discover the preview images, which are stored with 13 leading and trailing FFs, in a 104 x 31 PBM-type format (1 bit per pixel, left to right, top to bottom).
Before the preview image is what the message looks like in the keyboard tool, like “54. abcdefghijkl”.
I assume the actual bitmap begins immediately after the preview image, but again, I was not able to figure out the interleave or stride.
-David
By David M. June 7, 2011 - 3:44 pm
The secret messages are
“xxx xxxx xxxxxxx xxx xxxxxx xx xx” and
“xxxxx xxx xxxxxx”
By David M. June 7, 2011 - 9:00 pm
Also, using “strings” on the executable for the xdr program reveals an embedded copy of ImageMagick (hmm I don’t see the required copyright notice….).. I’d be willing to be their image format is one of those supported by IM.
The actual bitmap that is printed seems to be interleaved is my best guess. Try as I might to figure out the stride I can’t get anything sensible; but it’s clearly a regular pattern.
I note also that IM does have an interleave command, which would be convenient.
By Hacking the Xyron Design Runner Chapter 2: Card FAT Format « Openschemes June 8, 2011 - 5:04 am
[...] (6) Site Sponsors Recent Commentsopenschemes on Hacking the Xyron Design Runner Chapter 1: Homebrew USB Card Reader/WriterDavid M. on Hacking the Xyron Design Runner Chapter 1: Homebrew USB Card Reader/WriterDavid M. on [...]
By John Smith June 14, 2011 - 5:09 am
Anyone noticed the free xyron programming software from printdreams.com?
By openschemes June 15, 2011 - 3:53 pm
It’s mentioned in the article. XDR PC-Link. BTW, it saves as bitmap images and does not interleave the data until (presumably) it xfer’s to their reader. So it’s no help in decoding the image format, but is a nice target for what a good open source project should be able to do.
By Justine July 17, 2011 - 2:14 pm
As the owner of a XDR and noticing that they are appearing to discontinue the item in the stores (no ink cartridges, clearances on the discs, etc), I would really appreciate any more information on the aforementioned “reader” for the PC link software… as in how to avoid having to buy one! Also, if there is an ink jet cartridge out there that is compatible to the one the XDR uses. I’ve read this thread and the one on “space” and will continue to check in to see if you brilliant minds have made more progress! Thanks!
By openschemes July 17, 2011 - 4:50 pm
Well we sure hope to give you what you want to know. Our reader is based on Teensy, but is probably compatible with any Atmega Arduino clone. As for the inkjet cart – you’ve got the right idea.. It costs an arm and a leg and will certainly kill this device if it’s completely discontinued.
What we do know is that the inkjet hardware in the XDR is made by Lexmark. So we are hoping that it’s some sort of standard Lex cartridge.. But short of buying every one we can find and looking at them, we’ve got no ideas on how to determine if a suitable replacement exists..
By Justine July 20, 2011 - 8:23 am
hhmmm.. I have a lexmark printer… I’ll check to see if that cartridge fits and let you know. Thanks for that information!
By Mike November 29, 2011 - 1:18 pm
Did the lexmark ink cart fit?
By Kittiya May 12, 2012 - 1:16 am
really wanted to write down a small mgssaee in order to thank you for some of the wonderful techniques you are giving at this website. My rather long internet look up has at the end been paid with awesome content to exchange with my company. I would point out that many of us website visitors actually are undoubtedly lucky to be in a notable network with so many marvellous people with valuable pointers. I feel very privileged to have discovered your entire website page and look forward to so many more excellent moments reading here. Thanks a lot once more for all the details.
By mr. Alex Y September 15, 2011 - 2:49 am
pls i”ll like to know how i can get this product for buying . i based in nigeria. and i have a demand for an orget installation,thanks
By openschemes September 20, 2011 - 8:50 pm
The printer? Amazon. Teensy? PJRC.com
How is the crafts industry in Nigeria, anyway? All I ever hear is that it’s filled with rich princes who simply can’t get their money out.
By Toni February 24, 2012 - 7:55 pm
Just bought a XDR on clearance and am finding out fast that the ink cartridges are scarce & expensive. Was anyone ever able to determine if there was a Lexmark cartridge that is interchangable?
By openschemes February 25, 2012 - 7:53 pm
We never got a chance to properly research it, actually. If you get a chance to look in to it, it would sure help everyone if you could post your findings!
By abe April 22, 2012 - 12:13 am
Hi, I hope this isn’t too late to help people. After doing some research, I have found that the ink for the XDR is a *slightly* modified Lexmark 32/34 (the only difference between 32 and 34 is the initial ink level from the factory…34 has more). I figured this out by comparing the shape, size, pattern and holes under the label, and the design of the contact pads on the back to images of different lexmark cartridges I found on the internet.
The modification is in the tabs that stick up from the bottom of the top the cartridge (that sounds confusing, just look at a cartridge or find an image, its obvious – they are the only protruding things on the top of the cartridge). The standard lexmark cartridge has two tabs that are next to each other, but the left tab on the XDR cartridge is offset by a few millimeters.
This is not a big deal – you will need to do one of two things: 1) file down/cut the offset tab off your new ink cartridge or 2) carefully file down/cut the piece of plastic blocking the insertion of a standard cartridge inside your XDR
Alternatively, the standard lexmark 32/34 cartridges are very easy to refill, and refill kits cost less than a new off brand cartridge. This means the XDR catrdige should be just as easy. I took the label off mine, and all the refill holes are right where they should be. Just google “refill lexmark 32″ and you’ll find numerous pages explaining how to do it. It is possible that the XDR cartridges are designed to NOT be refillable – I am not sure.
I have not confirmed this info yet. I currently have a half full XDR cartridge, and I ordered a generic “compatible” lexmark 32 cartridge and a refill kit today. I could be wrong – its possible the XDR uses different software or another method to detect rouge cartridges, but I don’t think so.
I am planning on using the XDR a lot, so I should know about refill-ability soon. As soon as the new cartridge arrives, I’ll file off the left tab and see if it works. I’ll make a new post with my results.
One last thought – lexmark does not make single color cartridges like this. I think the color ones (red and green) were custom made for the XDR. Assuming both the new cartridge as well as refilling XDR methods work, this means to get color you’ll either need to buy 1 original XDR color and keep refilling it, or take your chances refilling a black cartridge with color ink (bleh). I am pretty sure the color cartridges won’t work (although I don’t know) – I think their contacts on the back and computer chips on the inside are different.
Thanks for this blog! This is what inspired me to dig out my XDR again and start fiddling!
By Aoife March 26, 2013 - 7:35 am
Hi Abe,
Any luck with the Lexmark cartridges?
Aoife
By Damon Haukaas May 22, 2012 - 8:10 pm
Awfully enlightening many thanks, It looks like your current readers might possibly want even more blog posts similar to this continue the great effort.
By Jason July 26, 2012 - 11:26 pm
I must say you have done a superb job with this. In addition, the blog loads super fast for me on Internet explorer. Outstanding Blog!
By KS August 2, 2012 - 5:28 am
Great writeup.
Just wondering if there are any updates re: the format used for the pictures?
By openschemes August 2, 2012 - 2:43 pm
No, not yet – project got buried under other stuff! Try your hand at decoding it, we’d be happy to post any info you come up with!!
By John L Smith September 20, 2012 - 7:47 am
Hi, As i have only a few original cards for this machine, and dataflash cards are rare and expensive, I decided to experiment using the AT45DB161D soic equivalent. I managed to wire one into a micro-sd adapter. It was recognised by my version of the OS cardreader/writer (Mattairtech instead of Teensy), and subsequently by the XDR.
The AT45DB161D is still cheaply available at RS Components (#696-3083).
Substitute cards could easily be made with a PCB suitably designed to fit the sd socket.
—- OS only —-
I have a photo available of the modified sd adapter if you have an email address for me to send it.
By openschemes September 27, 2012 - 2:22 pm
Great work! Sure, send your pic to xyron at openschemes, we will post it in a follow on article If you have any other description or pics of the work you’ve done, that would be fantastic as well!
By Hcg December 5, 2012 - 7:23 am
Love your site. Thank a lot for doing such a good job. I’ll return to this site to see what’s new and tell my friends about your posting, hcg.
By openschemes June 8, 2011 - 5:03 am
Top work, David! The real prize is rendering these messages as a bitmap. It looks like it will be a race between us!
By openschemes June 8, 2011 - 5:08 am
Hey, very nice work! We also spent some time working out the FAT (XAT?) table, the results are posted on the main page. And we agree, the actual bitmap data must be interleaved somehow. Our best guess so far is that it’s a variable number of columns, to make the data transfer between the card and printer driver easy – as you know, it prints from side to side so physically it seems as if it’s just dumping vertical print data to the print head as the X-axis is incremented