Get a painting robot today (for free!)

Free painting robots!  To encourage artwork submissions from public schools, we are giving away up to 40 custom-made painting robots. Access to well-made, inexpensive robots has been a major obstacle for many teams. By enabling more schools to participate, we hope to triple the number of artworks and give students a chance to win $40,000 in cash prizes.

The robots have been designed specifically for painting with a brush on canvas up to 18×24″. Each has three Cartesian degrees of freedom (i.e., can move on the x, y and z axes) and is controlled by an Arduino box that connects to a computer via USB. Simple assembly instructions are included as well as software (written in Python and OpenCV) that enables basic movements. The software runs easily on Mac, PC, or Ubuntu, requires only a simple text editor, and even includes an example of “paint an outline” of any photo.

Teams from US-based public schools or universities are eligible for the give-away. To order a robot, a $300 deposit is required, which is then reimbursed upon submission to the contest.

Teams can register today, with artwork required to be submitted by June 1st, 2019.  Finalists will be exhibited in Seattle in August 2019 to align with the Seattle Art Fair.

To get a robot, simply signup as a team (include your school’s information), print out the team page and mail it with a check to:

RobotArt Competition 
% Conru Foundation
1916 Pike Place, Suite 12, Box #39 
Seattle WA 98101

Make sure your mailing address is somewhere on the printout so we can send the robot to you.

The robot will come unassembled and takes about 30-60 minutes to put together.

You can see the assembly instructions here.

The software to operate the robot (and sample painting scripts to make your first painting) can be downloaded here.  The software also has a simulator for the bot so you can write code now and test how it works!

Most basic commands:

# basic moving commands
mybot.go_to_xyz([x, y, z]) # tell bot to go to x,y,z (in cm)
mybot.go_to_xy([x, y]) # move to x, y (z = constant)
mybot.go_to_z(z)
mybot.go_up() # move to highest z location
mybot.setMaxSpeed(20) # cm/sec
See more commands and examples here.