IoT-Enabled CNC Plotter with Color Pen Changing Capability

IoT / Sensor-Based Project

Project Details

Project Information

Project Title: IoT-Enabled CNC Plotter with Color Pen Changing Capability

Category: IoT / Sensor-Based Project

Semester: Fall 2025

Course: CS619

Complexity: Very Complex

Supervisor Details

Project Description

IoT-Enabled CNC Plotter with Color Pen Changing Capability

 

Project Domain / Category

 

Hardware Project

 

Abstract / Introduction

 

This project aims to design and develop an IoT-enabled CNC plotter capable of remote operation through mobile and online applications while incorporating an automated color-changing mechanism for multi-color plotting. Traditionally, Computer Numerical Control (CNC) plotters are used for precision drawing, prototyping, and educational purposes. However, these CNC plotters require manual intervention for tasks such as pen/color changes and lack remote control features. This project aims to develop an IoT-enabled CNC plotter that can be operated through a mobile and web-based application, providing real-time control, monitoring, and automated color-changing capabilities.

 

Objectives

 

The key objectives of the project are:

 

        To design and develop a CNC plotter integrated with IoT technology for remote operation.

 

        To implement automatic color-changing functionality to enable multi-color plotting without manual intervention.

 

        To build a user-friendly mobile and web application for plotter control, job scheduling, and monitoring.

 

        To enable real-time feedback through sensors and optional camera integration for enhanced reliability

 

Functional Requirements

 

The proposed IoT-enabled CNC plotter with automatic pen/brush/marker changing capability will fulfill the following functional requirements:

 

        Plotter Operation

 

        Drawing and Plotting: The system must draw vector-based designs (e.g., SVG or G-code files) with high precision on paper or similar surfaces.

 

        Multi-Axis Control: The system must control at least two axes (X and Y) for plotting and optionally a Z-axis for pen lifting.

 

        Automated Pen/Brush/Marker Changing

 

        Tool Carousel Mechanism: The plotter must include a servo- or stepper-controlled carousel capable of holding multiple pens, brushes, or markers.

 

        Automatic Tool Selection: The system must automatically change the pen/brush/marker based on the design’s layer or tool selection commands.

 

        Tool Change Command Integration: The firmware must support custom G-code commands for automatic tool changes during plotting.

 

 

 

 

Page 82 of 167

 

        IoT Connectivity

 

            Remote Access: The plotter must support remote connectivity either through Wi-Fi or Bluetooth for remote operation through mobile or web application.

 

        Mobile and Web Application

 

            Connecting to the Plotter: Through the application, the user will be able to remotely access the plotter.

 

          File Upload and Job Scheduling: Users must be able to upload SVG or G-code files and schedule plotting tasks through the application.

 

          Real-Time Monitoring: The application must display the plotting progress, machine status, and optional live camera feed.

 

          Control Commands: Users must be able to start, pause, resume, and stop plotting tasks remotely.

 

        Safety and Reliability

 

            Emergency Stop: The plotter must include an emergency stop button or command to halt operations instantly.

 

            Error Handling: The system must detect and handle errors such as communication failure, mechanical jams, or power loss.

 

            Homing and Calibration: The plotter must perform homing routines before operation to ensure accurate positioning.

 

        Data Logging and Reporting

 

            Job History: The system must store details of completed plotting tasks for future reference.

 

            Error Logs: Any system faults or operational errors must be recorded for troubleshooting.

 

Hardware Tools/Components

 

            Mechanical Components

 

3D-printed X, Y, and Z-axis channels, motor mounts, and tool holders GT2 timing belts, pulleys, and linear bearings with smooth rods

 

3D-printed pen/brush/marker carousel for automatic tool changing Fasteners, couplers, and other assembly hardware

 

3. Electronic & Electrical Components

Arduino or Raspberry Pi (for motion control and IoT integration)

 

Wi-Fi Module (e.g., ESP32 has built-in Wi-Fi)

 

Stepper motors for X, Y and Z movements (NEMA 17)

Stepper motor drivers (TMC2209 or A4988)

 

Servo motors for tool-changing mechanism

 

Limit switches for homing and safety

12V–24V power supply, wiring, and safety fuses

 

 

 

 

 

Page 83 of 167

 

            IoT & Communication Components

 

MQTT or WebSocket communication setup Optional camera module for real-time monitoring

 

Software Tools

GRBL firmware for CNC control

 

SVG to G-code conversion tools

 

Flutter framework for mobile application development

Web technologies (React, Node.js) for online interface

 

Important Note:

 

The university will not bear any financial expenses for the purchase of components required for this project. The student must arrange all the necessary components and materials on their own, including electronic parts, mechanical assemblies, and 3D-printed structures such as the X, Y, and Z-axis channels, tool holders, and other mechanical mounts.

 

However, to support students in the technical aspects of the project, the university has established an Electronics Instrumentation Lab at the Islamabad Campus (G-10). Students can visit this lab to: Receive technical supervision and guidance from experienced faculty members. Use available tools and equipment for circuit design, testing, and implementation.

 

Seek assistance in troubleshooting electronic and IoT-related tasks.

 

This facility aims to ensure that while students independently arrange their project components, they still have access to a supportive environment for the successful completion of their work.

 

 

 

Reference Tutorials

 

https://www.youtube.com/watch?v=virDtVVt2Xo

https://www.ijmrsetm.com/admin/img/10_Android%20(1).pdf

 

https://www.diva-portal.org/smash/get/diva2:1708619/FULLTEXT01.pdf

 

 

 

Supervisor:

 

Name: Waqas Ahmad

Email ID: waqas.ahmad@vu.edu.pk

 

MS Teams ID: waqas.ahmad657@gmail.com

Languages

  • Python, C++, JavaScript Language

Tools

  • Arduino, Raspberry Pi, ESP32, Stepper motors (NEMA 17), Stepper motor drivers (TMC2209, A4988), Servo motors, Limit switches, Power supply (12V–24V), MQTT, WebSocket, camera module, GRBL firmware, SVG to G-code conversion tools, Flutter, React, Node.js Tool

Project Schedules

No schedules available for this project.

Viva Review Submission

Review Information
Supervisor Behavior

Student Viva Reviews

No reviews available for this project.