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.
- 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.
- Wireless Bridge (ESP8266):
- Receives drawing packets from the app.
- Forwards commands to the motion controller via UART (Serial).
- 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.
- 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).
- Flash
firmware/motion_controller/arduino_main.inoto the Arduino. - Flash
firmware/wifi_bridge/esp_handler.inoto the ESP8266. - Note: Ensure Serial Baud rates match in both codes.
cd mobile_app
flutter pub get
flutter run