Gcode generator for the Cool Paint project

This may very well be the ugliest html form you will ever witness.

If you decide to create your own coolpaint here is where you will grab the gcode files. They're really quite simple but should be custom generated. The ml calibration should be done to create the operational gcode

This is for the mixing stage aka the pigment recipe. The count is how many cycles you go through for each level. Mixing sleep is how long you wish to mix the ingredients. Empty sleep - After the mixing has been turned off there can be a pause before the pump empties the mixer into the output The default here will be whatever we have found to be the best.
As of 7/30/24 this is only an attempt to mimick nighthawkin's original blender recipe The total count between the 3 must be greater than 0 to generate new gcode files along with a master count > 1.
Make sure you do the math properly because if you overshoot, the rinse will use this value and overflow when filling the bucket to rinse. It is currently set to .7 (double check) of the total which is added to this rinse container. I would recommend a wet-dry run with just water before committing to the actual production of pigment.

Master count - This goes through every count cycle this many times. If 1 it does nothing. This requires that you do the math to determine the appropriate values. You may also wish to trim the gcode to have it not run on empty too long. Look at the end of the emptybucket gcode script to see how many mls were attempted (if you overshoot the device will not know this):



Count 1: Mix time (secs)Pre-empty/post-mix time
Count 2: Mix timePre-empty time
Count 3: Mix timePre-empty time
Time in minutes for pigment to settle before decanting during the rinse stage (salt removal):


Pump speed - This is the speed you wish to run the pumps. Too high and the stepping motor may become stuck/skip.
There is no way to recover from the process outside of starting over so it is better to have a value low enough to not skip but as high as possible to minimize the time required per mixing cycle.
This value should be determined with the pronterface software and the pumpspeed.gcode script.
If you spool directly to the pump using pronterface then you will be able to tell at what speed your pump starts to skip.
There is a view console option that lets you see the G-code commands that have executed
Dial it back 10-20% from the value that failed and it should work. Still - do a dry run once.


Pump-rate (unit / ml) (unit being a distance of 1 in gcode) - RAMPs was meant for a 3d printer.
It can readily run 3 motors but they are activated by moving each axis by itself.
That activates the pump. Look at the calibration gcode scripts.
use the 100calibration.gcode and the 1000calibration.gcode to determine the ml per gcode unit. See those gcode files for further instructions
X Y Z

mls to use in the mixing container - Only used if not applying a constraint


Full mix container capacity (mls)


What is the capacity of your output bucket?
We will optimize ingredient amounts for this.
If you want a smaller batch then put a smaller amount here.
Calculating from this backwards constrains our inputs so we won't overflow the output bucket.
It is in mls and not gallons
Output Capacity (mls)

Output capacity (gallons) (This value overrides others)


Determing cycle count

No new gcode created

There must be a count of more than 1 for there to be any mix cycles

wassa matter? you a bot with absolutely no artifical intelligence? Join the club.