Automated CNC Foam Cutter Machine
In this week, I worked with Fab Lab Trichy students to build this machine.
Trichy Lab
Presentation
Things to be done for the week
- Documented the machine building process to the group page
- Documented your individual contribution to this project on your own website
- Linked to the group page from your individual page as well as from group page to your individual pages
- Shown how your team planned, allocated tasks and executed the project (Group page)
- Described problems and how the team solved them (Group page)
- Listed possible improvements for this project (Group page)
- Included your design files (Group page)
- You need to present your machine globally and/or include a 1 min video (1920x1080 HTML5 MP4) + slide (1920x1080 PNG) (Group page)
Mechanical Design
Group Assignment Contribution
In our lab we have the thermal cutting machine, but it has some issues by using that.
- Safety Issues - Students in our lab they are using it manually so it seems like it may be affect their hands in case of any accidence.
- Finishing - Students can’t be done their design according to their designs properly.
- Readiness - Students can’t attain their working model more frequently within their restricted time.
Individual Contribution
Machine Design
Group Assignment Contribution
Individual Contribution
1. Required Components
- Arduino Uno R3
- CNC Shield V3
- A4988 Stepper Motor Drivers (or DRV8825 – confirm compatibility)
- NEMA 17 Stepper Motors
- 12V 2–4A DC Power Supply
- Multimeter
- Jumper wires, USB cable (for Arduino to PC)
2. Hardware Assembly
A. Mounting the CNC Shield
Plug the CNC Shield V3 directly onto the Arduino Uno R3.
B. Inserting Motor Drivers (A4988)
Insert each A4988 stepper motor driver onto the CNC shield with correct orientation. Match EN, DIR, STEP, GND, VDD, etc. pins on the driver to the shield layout.
Refer to the official A4988 datasheet: A4988 Datasheet
C. Connecting Stepper Motors (NEMA 17)
Identify stepper motor coil pairs using a multimeter or datasheet.
Connect the motor wires to the CNC shield's motor terminals in correct order, e.g., B1 A1 A2 B2 or A1 A2 B1 B2 depending on motor datasheet.
3. Power Supply Connection
Connect a 12V 2–4A DC power supply to the CNC Shield power terminal.
Red (V+) to VCC, Black (GND) to GND. Do not power through USB alone — external power is mandatory for motors.
4. Motor Driver Voltage Calibration
To prevent burning your stepper motors, limit the current via reference voltage.
Steps:
- Turn off power first.
- Connect a multimeter in DC voltage mode: +ve probe on the potentiometer (Vref), –ve probe on GND of power supply or CNC Shield.
- Power on the system.
- Measure voltage: Keep Vref around 0.8V to 1.0V max (ideal for NEMA 17).
- Adjust using a ceramic screwdriver if needed.
5. Software Setup: GRBL + UGS
A. Upload GRBL Firmware to Arduino
- Open Arduino IDE.
- Install GRBL Library from Library Manager.
- Go to: File > Examples > grbl > grblUpload
- Select board as "Arduino Uno" and correct COM port.
- Click Upload to flash GRBL firmware.
B. Download and Run UGS (Universal Gcode Sender)
- Download UGS Platform from: UGS GitHub Releases
- Extract the folder.
- Open: bin > ugsplatform.exe (Windows) or run .sh for Linux/macOS.
6. UGS Setup Wizard
- Launch UGS and go to Settings > Setup Wizard.
- Connect your Arduino via COM port. Status: "Grbl 1.1 connected" should appear.
- Follow each step:
- Motor Wiring Check: Manually jog axes to test motor direction and functionality.
- Steps per mm Calibration: Move axis by 1 mm and measure actual movement. Adjust GRBL settings accordingly.
- Limit Switch Configuration (Optional): Connect to X-, Y-, Z- pins and enable soft limits in GRBL settings.
Final Check
- All wiring matches (especially motor coils)
- Motor voltage is calibrated
- Motors move correctly via UGS
Your CNC Machine is now ready.
Import G-code and Start Machining
- Prepare your GCODE files.
- Load into UGS.
- Click "Send" to begin motion.