Software

Overview of our software systems

Introduction

Our team successfully built up an interactive software system to convert images to stepper motor movements.

The computer vision algorithm would convert any given image, or what it sees from the camera, to a binary image consists of only edges. Then such binary files would be converted to commands that is convertible to G-code commands.

There is a python script that turns the commands generated from computer vision, and any SVG image, to a G-code files which could tell the motors where to go and pen lifting. It also supports auto and customized scaling for SVG

A bilateral serial communication is built between the python code and arduino which sends G-code commands only after the previous one is completed.

The arduino firmware would take in the strings of G-code command and interprates it to stepper movements: servo movements to lift and lower the pen, resetting pen to origin, and move to any position as commanded.

Software Dependencies

    • General Environments:
    • Python3
    • Arduino
      • Python Dependencies:
      • OpenCV
      • pySerial
      • numpy
      • scipy
      • Arduino Libraries:
      • Adafruit Motorshield V2
      • ezButton

Python

Writing a library in Python that can convert any SVG image into G-code.

Learn more

Arduino Firmware

Our Arduino Firmware acts as the communication between the generated path commands, and the physical system.

Learn more

Computer Vision

Empowered by openCV, our computer vision system could either take in image live of your click or complete all the image processing with a given image. Our CV system is able to convert any image to a binary image consisted of edges, and then transfer it into firmware acceptable G-code commands with curve fitting and auto-scaling.

Learn more