Home

Awesome

PenPlotter

PenPlotter controller that uses repetier firmware. Inspired by work at http://www.polargraph.co.uk

I built a plotter like the one described on the polargraph site. I thought it would be a good way to play around with stepper motor control. The software provided by the site worked great, but I wanted to play around with creating my own version to better understand the controls.

First I decided to use the repetier 3d printer control firmware https://github.com/repetier/Repetier-Firmware as a base. As I used this for the 3d Printer I built. It provides very smooth motor control with good path planning so the drawing is much smoother. I modified the firmware to support the polar coordinates. The firmware uses standard gcodes with mm units, while the original controller uses a custom command set and native polar coordinates. So the original controller was not going to talk with the new firmware.

Next I wrote a simpler version of the controller that speaks gcode and uses mm units. Here is a list of some of the features of the controller.

Solenoid or servo can be used. Solenoid are connected to FAN pins.

Features

#Compiling The controller can be compiled in processing 2 or 3 just download the source files and open PenPlotter.pde in processing. The code is dependent of the controlP5, geomerative and toxi libraries go to the processing sketch import library menu to import them before compiling, or they can be added manually by downloading the libraries.zip file from the releases tab and unziping in the processing libraries directory.

The firmware is compiled using the arduino IDE. Download the code and load the Repitier.ino into arduino. I have only tested with the mega board with the ramps 1.4 shield. However repetier works with many boards so you may need to change the board type in the configuration.h file if you are using a different board.

WARNING The X axis pins were chaged in the Marlin pins.h file to use the E1 port this was for compatibility with the original pen plotter pins. So you need to connect the X axis motor to the E1 port or change the pins back in the pins.h file line 596-616 remove the pin numbers to leave the original commented pins.

WARNING I changed the X Y and ZAXIS_STEPS_PER_MM defines in the configuragion.h to 1mm as I do my own mm to polar conversion based on the machine specs described above so make sure if you change boards the setting remains at 1.

#Usage

#Not so obvious GUI controls

#Screen shots Here are some screen shots of the controler.

Svg Plot

Hatch Plot

Stipple Plot