WaterColorBot Software

From Evil Mad Scientist Wiki
Jump to: navigation, search
wcb_tn.jpg This wiki page is part of the documentation for the WaterColorBot.
Click here to return to the WaterColorBot overview.


WaterColorBot Software

There are three main software interfaces for driving the WaterColorBot: RoboPaint, RoboPaint RT, and the Inkscape extensions for WaterColorBot.


Briefly, to describe the three interfaces:

  • The Inkscape extensions for WaterColorBot allow you to create and paint artwork with a very fine level of control, either within Inkscape, or by exporting SVG graphics to RoboPaint.
  • RoboPaint is automatic painting software, which is sometimes your best choice when starting from an existing drawing in SVG format.
  • RoboPaint RT is an independent real-time painting application, in which you paint on your computer, and the robot follows along in real time.


Much more information about these programs are on their respective pages, linked above.


For Young Programmers

  • You can program the WaterColorBot in both Scratch and Snap! Our example code for these projects, "WaterColorBlocks" is available here. You will also need to run RoboPaint (0.9.0 or newer) in the background, as an interface to the WaterColorBot. (Of the two interfaces, we have generally found Snap! to be more enjoyable and reliable.)
  • An alternative block-based programming interface is BeetleBlocks, a Scratch-like programming environment for making 3D creations ("Visual Code for 3D Design"). BeetleBlocks can save its 2D curves as SVG files, which you can open and print from within RoboPaint.


For Developers

A brief overview of where to get started:

  • RoboPaint is written in Javascript. Its github repository is here.
  • RoboPaint RT is written in Processing/Java Its github repository is here
  • The Inkscape extensions are written in Python. Their github repository is here
  • The RESTful WaterColorBot API is built into RoboPaint.
  • You can also send low-level commands directly to the EBB over USB, from any program that can write to a serial port. Command documentation for the EBB can be found here.