This is also a challenge to those of us trying to "colorize" specific size ranges of the plastic sand. Steve Gough has some interesting descriptions of LRRD's early experiments in adding color to the plastic. From Steve's comments, it sounds like they were using some kind of common fabric dye (like RIT) that requires boiling water. This kind of dye often forms an "anionic" dye ion (dye-on?) that bonds with positively charged parts of the clothing molecules. The problem is that there aren't really any sites for this kind of reaction in melamine.
There are another group of dyes where the "dye-on" is positively charged. These cationic dyes are often used to color nylon and other synthetic fabrics. It's quite possible these would work with melamine, but most cationic dyes are rather nasty. These dye cations can easily attach themselves to proteins. This makes them great for tissue stains in biology lab, but not something you want to ingest in any quantity.
The type of dye I'm experimenting with right now is called a "reactive dye" and instead of relying on an ionic charge, it forms a covalent bond with the target item (like wool). The reacting part of the dye molecule is a "dichlorotriazine" unit (two chlorines stuck on an N-C ring). The bond takes one of the chlorines and tosses it out in favor of a covalent bond between the oxygen from a hydroxyl (OH) group on the target. This gives the dye a stronger bond - increasing the ability of the dye to resist coming out in the wash.
A diagram of the dye molecule bonding with the target via a hydroxyl group on the target. The Chlorine goes into solution at the end of the experiment.
So what I'm hoping is that either this substitution via the Chlorine in the dye can occur with the melamine polymers via the N-H bonds, or that some of the melamine polymers have hydroxyl groups attached to them. Most examples of melamine resin that I've found on the web were different from each other. Some examples had OH galore, others had none. At this point, I'm just going to experiment to see how colorfast this stuff is.
I've sieved a bunch of the plastic to separate the sand into various size fractions and my experiments are using the #40-#45 sieve fraction (about 0.4mm), since the fines generally have a dark appearance and this could help emphasize the appearance and bring out these areas where fines are being deposited.
Here are the results so far. There isn't much difference in color intensity between most of these containers, despite the fact that they range from 7 hours to 4 days of soaking in the dye.
A dye concentration of 0.1g dye powder to 10g sand seems to be just about right. And there doesn't seem to be much difference between 7 hours (at 150°F) or 48 hours at room temp, but we'll see if there is a difference in how the dye stays with the melamine after repeated washing, mixing with an 800:1 dilution of bleach, churning around in a stand mixer to simulate repeated use in the stream table.
At this point, I think I've got something that will stand up to at least a few weeks of use in the stream table. But in terms of long-term stability and predictability, I don't see this replacing the expensive (and very beautiful) color-coded material.
A few words of caution. First, the dye itself is often referred to its trade name as "Procion MX" type dyes and comes shipped as a dry powder. Don't mix a bunch and then let it sit around, because the dye will hydrolize with water (using the OH in H2O) and during the dyeing, a lot of dye may hydrolize and not react with the target material.
Second, the powdered dye itself is listed as an irritant - repeated exposure might result in developing an allergic reaction, so wear rubber gloves and mix it under a fume hood, or with a dust mask. Work small, because a little color goes a long way. The tiny red fraction of the LRRD colored media accounts for less than 5% by weight of the total material. Once in liquid, the dye itself will stain most fabrics, so proceed with care.
Of course there's the ultimate test - how does it work in the stream table? Once the colorfast tests are done, I'll run some through the stream table and see what happens.