PlotBot Studio transforms your images into beautifully detailed pen-drawings, capturing every nuance with precision and artistic flair. Using sophisticated algorithms, it converts images into a series of continuous lines and arcs, perfect for plotting with mechanical plotters or CNC machines.
- Convert images to continuous line drawings
- Real-time visualization of drawing process
- Support for GRBL-based plotters via serial connection
- G-code generation with arc support (G2/G3 commands)
- Configurable drawing parameters
- Optional video recording of drawing process
- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On macOS/Linux
# or
.\venv\Scripts\activate # On Windows- Install required dependencies:
pip install -r requirements.txtThe easiest way to use PlotBotStudio is through its web-based interface:
python web-interface.pyThis will start a local web server. Open your browser and navigate to:
http://localhost:5000Through the web interface, you can:
- Upload images
- Adjust drawing parameters
- Preview the drawing process in real-time
- Generate G-code files
- Control connected plotters
To run in simulation mode (no plotter connection):
python plotbot.py Examples/ekster.png --plotter noneThis will open a window showing the drawing process. Press ESC to stop the process.
To send commands directly to a GRBL-based plotter:
python plotbot.py Examples/ekster.png --plotter serialThe program will automatically detect USB serial ports. You can specify a port in config.yaml if needed.
To generate G-code without connecting to a plotter:
python plotbot.py Examples/hand.jpg --plotter file --gcodefile output.gcodeThis will create a G-code file that can be used later with your CNC machine or plotter.
Add the --record flag to save a video of the drawing process:
python plotbot.py Examples/beetle.jpeg --recordAll drawing parameters can be customized in config.yaml:
- Canvas dimensions
- Plotter settings (work area, feedrate, etc.)
- Drawing parameters (stroke thickness, segment lengths, etc.)
- Serial connection settings
This project is licensed under the MIT License - see the LICENSE file for details.




