Skip to content

A wireless 2D CNC Plotter controlled via a cross-platform Flutter application. Features IoT connectivity (ESP8266), precise stepper motor control (Arduino), and vector drawing capabilities.

Notifications You must be signed in to change notification settings

mariamashraf731/CNC-2D-Plotter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

โœ๏ธ SketchBot: IoT-Controlled 2D CNC Plotter

Flutter Hardware Drive

๐Ÿ“Œ Project Overview

SketchBot is a wireless 2D Plotter capable of drawing complex vector graphics and text. The system is controlled via a custom Flutter Mobile App, which sends drawing commands over Wi-Fi to the machine.

The project bridges the gap between high-level software (Mobile App) and low-level actuation (Stepper Motors), enabling remote creativity without the need for physical cables.

โš™๏ธ System Architecture

  1. Mobile Application (Flutter):
    • User interface to select images or text to draw.
    • Converts graphics into coordinates/commands.
    • Sends data to the cloud/controller via WiFi.
  2. Wireless Bridge (ESP8266):
    • Receives drawing packets from the app.
    • Forwards commands to the motion controller via UART (Serial).
  3. Motion Controller (Arduino):
    • Parses incoming commands (G-Code flavored).
    • Drives X and Y Stepper Motors using CNC Shield / A4988 Drivers to move the pen with precision.
    • Controls the Z-axis (Servo) for Pen Up/Down movements.

๐Ÿ› ๏ธ Tech Stack

  • Software: Dart (Flutter), C++ (Embedded).
  • Electronics: Arduino Uno, ESP8266 (NodeMCU), CNC Shield, Stepper Drivers.
  • Actuators: NEMA 17 Stepper Motors, Micro Servo (SG90).
  • Mechanics: 2-Axis Gantry System (GT2 Belts & Pulleys).

๐Ÿš€ How to Run

1. Firmware Setup

  • Flash firmware/motion_controller/arduino_main.ino to the Arduino.
  • Flash firmware/wifi_bridge/esp_handler.ino to the ESP8266.
  • Note: Ensure Serial Baud rates match in both codes.

2. Mobile App

cd mobile_app
flutter pub get
flutter run

About

A wireless 2D CNC Plotter controlled via a cross-platform Flutter application. Features IoT connectivity (ESP8266), precise stepper motor control (Arduino), and vector drawing capabilities.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published