Skip to content

Web-controlled XY plotter integrating Arduino firmware, FastAPI backend with AI services, Vue 3 frontend, and custom hardware. Supports drawing, AI-generated sketches, and manual mimic control.

License

Notifications You must be signed in to change notification settings

Amigs/DIY-PlotterXY

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XY Plotter Web-Controlled System

This project integrates Firmware (Arduino Uno), Backend (FastAPI + AI services), Frontend (Vue 3) and Hardware (PCB + 3D printed parts) to build an interactive XY plotter.

The system allows three modes:

  • ✏️ Drawing Mode: create vector shapes (lines, rectangles, text) in a 35mm work area.
  • 🤖 AI Mode: generate vector drawings from AI prompts.
  • 🎮 Mimic Mode: manually control the head using keyboard input.

🔗 System Architecture

flowchart LR
    User -->|Draw / Prompt / Mimic| Frontend[Vue 3 WebApp]
    Frontend -->|REST / WebSocket| Backend[FastAPI Server]
    Backend -->|G-code over Serial| Firmware[Arduino Uno]
    Firmware -->|Stepper Signals| Hardware[XY Plotter Mechanics]
Loading

📂 Project Structure

firmware/     → Arduino Uno firmware (PlatformIO)
backend/      → FastAPI server (AI services + G-code streaming)
frontend/     → Vue 3 web interface
hardware/     → PCB design + 3D printed components (WIP)

⚙️ Technologies

  • Frontend: Vue 3 + Vite + Composition API
  • Backend: FastAPI, WebSocket, OpenAI integration
  • Firmware: Arduino Uno + G-code interpreter
  • Hardware: PCB (WIP), 3D printed mounts (WIP)

🚀 How to Run

Backend

cd backend
pip install -r requirements.txt
uvicorn main:app --reload

Frontend

cd frontend
npm install
npm run dev

Firmware

cd firmware/arduino_uno
pio run --target upload

🛠️ Hardware (WIP)

  • Planned PCB for stepper drivers and Arduino integration.
  • 3D printed clamps for holding the plate.
  • [TODO: upload schematics and STL files]

🎯 Roadmap

  • Full WebSocket integration (real-time AI and G-code streaming).
  • PCB design for integrated controller.
  • Improved AI prompt pipeline (multi-variant + seeds).
  • Export SVG directly from frontend.

📜 License

[MIT] or [Insert your license here]

About

Web-controlled XY plotter integrating Arduino firmware, FastAPI backend with AI services, Vue 3 frontend, and custom hardware. Supports drawing, AI-generated sketches, and manual mimic control.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •