Pico Plotter A simple, low-cost, 3d printable plotter using a Raspberry Pi Pico and MicroPython 25 June 2025 3 minute read By Kevin McAleer Share this article on Table of Contents InspirationComponentsComponentsHardwareBill of MaterialsAssemblySoftwareCNCJS Tags: Raspberry Pi pico plotter Difficulty: beginner Category: pico micropython Code: https://www.github.com/kevinmcaleer/pico_plotter Home Projects Pico plotter Pico Plotter A simple, low-cost, 3d printable plotter using a Raspberry Pi Pico and MicroPython 25 June 2025 | 3 minute read | By Kevin McAleer | Share this article on Page last updated 26 June 2025 Videos For every project I create, I often make a corresponding YouTube video. Sometimes, there might be more than one video for a single project. You can find these videos in this section. Explore more through these this dedicated videos. Inspiration This project was inspired by the desire to create a simple, low-cost plotter that can be used with a Raspberry Pi Pico. The idea is to use a stepper motor to control the movement of a pen, allowing for basic drawing and plotting tasks. This is a ‘ground-up’ project, meaning that it is designed to be built from scratch using basic components, making it accessible for beginners and hobbyists. I’ve written the code in MicroPython, that takes G-code from other software, and converts it to stepper motor movements. Components Components Pico Plotter Parts Hardware The design is heavily inspired by the Arduino mini cnc plotter project by Daz_projects, though I’ve created my own version of this design in Fusion 360, and included some enhancements to the design, such as end-stops to prevent the motors from moving too far, and a more robust design for the pen holder that works with Sharpies. Bill of Materials Item Description Qty Price Total Stepper Motors 28BYJ pack of 5 1 17.99 17.99 Pico Raspberry Pi Pico 1 4.00 4.00 Dupont Cables Pack of 3 types 1 5.99 5.99 Servo Helper 1 6.00 6.00 MicroSwitches pack of 10 1 6.99 6.99 Assembly Software This project uses 3 files of MicroPython code to control the plotter: stepper.py: This file contains the code to control the stepper motors. main.py: This is the main file that runs the plotter, taking G-code gcode-interpreter.py: This file interprets G-code commands and converts them to stepper motor movements. All 3 files need to be copied to the pico; you can use the Thonny IDE to do this, or copy them directly to the Pico using a USB cable. You can find the code on GitHub. CNCJS CNCJS is a web-based interface for controlling CNC machines, including plotters. It provides a user-friendly interface for sending G-code commands to the Pico Plotter. You can install CNCJS on your Raspberry Pi and connect it to the Pico Plotter to control it remotely. Our MicroPython code is designed to work with CNCJS, allowing you to send G-code commands directly from the CNCJS interface. This makes it easy to control the plotter and create drawings, and import drawings from other software. Code View Code Repository on GitHub - https://www.github.com/kevinmcaleer/pico_plotter 3D Models Here are the 3D printable STL files: STL List Base Sharpie Holder Gear Tooth Rail Wheel Y Gantry Y Tooth Rail Roller Base Download pico_plotter_base_v2.stl Sharpie Holder Download pico_plotter_pen_holder_sharpie_v2.stl Gear Download pico_plotter_gear.stl Tooth Rail Download pico_plotter_tooth_rail.stl Wheel Download pico_plotter_wheel.stl Y Gantry Download pico_plotter_y_gantry.stl Y Tooth Rail Download pico_plotter_y_tooth_rail.stl Roller Download pico_plotter_roller.stl Liked this article? You might like these too. Pi Tray - Mini-rack - Part II In this part of the mini-rack project, we will finish the design with the Pi Tray, Top Panel and Front Cluster Panel Pi 10 Inch Mini-rack A mini-rack is a great way to keep your equipment organized and easily accessible. Installing and Using DeepSeek-R1:1.5 on a Raspberry Pi with Docker We explore its features, pros, cons, and why it's a disruptive innovation challenging ChatGPT and Gemini. Gamepad & BurgerBot Build a Raspberry Pi Pico powered bluetooth remote control for your robot 10 Projects for your Raspberry Pi Pico If you've just got a new Raspberry Pi Pico and you're looking for some inspiration, then you've come to the right place. Here is a collection of projects that you can build with your Raspberry Pi Pico. Raspberry Pi Telegraf Setup with Docker "Learn how to set up Telegraf on your Raspberry Pi with Docker to monitor system metrics and integrate with popular time-series databases like InfluxDB or Prometheus."
Pico Plotter A simple, low-cost, 3d printable plotter using a Raspberry Pi Pico and MicroPython 25 June 2025 3 minute read By Kevin McAleer Share this article on Table of Contents InspirationComponentsComponentsHardwareBill of MaterialsAssemblySoftwareCNCJS Tags: Raspberry Pi pico plotter Difficulty: beginner Category: pico micropython Code: https://www.github.com/kevinmcaleer/pico_plotter
Inspiration This project was inspired by the desire to create a simple, low-cost plotter that can be used with a Raspberry Pi Pico. The idea is to use a stepper motor to control the movement of a pen, allowing for basic drawing and plotting tasks. This is a ‘ground-up’ project, meaning that it is designed to be built from scratch using basic components, making it accessible for beginners and hobbyists. I’ve written the code in MicroPython, that takes G-code from other software, and converts it to stepper motor movements. Components Components Pico Plotter Parts Hardware The design is heavily inspired by the Arduino mini cnc plotter project by Daz_projects, though I’ve created my own version of this design in Fusion 360, and included some enhancements to the design, such as end-stops to prevent the motors from moving too far, and a more robust design for the pen holder that works with Sharpies. Bill of Materials Item Description Qty Price Total Stepper Motors 28BYJ pack of 5 1 17.99 17.99 Pico Raspberry Pi Pico 1 4.00 4.00 Dupont Cables Pack of 3 types 1 5.99 5.99 Servo Helper 1 6.00 6.00 MicroSwitches pack of 10 1 6.99 6.99 Assembly Software This project uses 3 files of MicroPython code to control the plotter: stepper.py: This file contains the code to control the stepper motors. main.py: This is the main file that runs the plotter, taking G-code gcode-interpreter.py: This file interprets G-code commands and converts them to stepper motor movements. All 3 files need to be copied to the pico; you can use the Thonny IDE to do this, or copy them directly to the Pico using a USB cable. You can find the code on GitHub. CNCJS CNCJS is a web-based interface for controlling CNC machines, including plotters. It provides a user-friendly interface for sending G-code commands to the Pico Plotter. You can install CNCJS on your Raspberry Pi and connect it to the Pico Plotter to control it remotely. Our MicroPython code is designed to work with CNCJS, allowing you to send G-code commands directly from the CNCJS interface. This makes it easy to control the plotter and create drawings, and import drawings from other software.