ESP32-S3-Based Multi-Axis CNC Motion Controller
active
Computer Engineering
Stale ⚠️
★ 0
Repository: https://github.com/BasilSaeedBari-bb09892/esp32s3-cnc-controller
Approved: 2026-05-11 11:34:49
Last Push: 2026-05-11T11:35:12Z
Team
- Basil Saeed Bari (CE, Year 3) - Lead / Principal Investigator
Abstract
Design and Implementation of an Open-Source ESP32-S3-Based Multi-Axis CNC Motion Controller Optimised for Fused Deposition Modelling Applications
Commercial 3D printer control boards available in the Pakistani market are either imported at a significant cost premium, clones of aging designs (RAMPS 1.4, MKS Nano) with limited processing capability and poor thermal and electrical protection, or proprietary units locked to specific machine ecosystems. None are designed around components that are reliably stocked in the Karachi local electronics market, and none expose the full feature set of a modern 32-bit microcontroller in an open, student-reproducible form.
This project designs, fabricates, and validates a complete multi-axis CNC motion controller PCB centred on the ESP32-S3 N16R8 microcontroller — a dual-core 240 MHz Xtensa LX7 processor with 16 MB Flash, 8 MB PSRAM, integrated USB OTG, Wi-Fi, and Bluetooth LE. The board is designed as a general-purpose CNC motion controller but is specifically optimised and characterised for FDM 3D printing use: it provides stepper driver sockets for up to six axes (dual X, dual Y, dual Z, extruder), high-current MOSFET-switched outputs for a heated bed and two hotend heaters, thermistor inputs, a full endstop and probe header set, SD card, PWM fan outputs, filament runout and power-loss detection inputs, and a USB/UART firmware flashing interface.
The board is designed with a strong preference for single-layer PCB fabrication to enable manufacturing on the PCB milling machine available in the Habib University Engineering Workshop, while maintaining clear upgrade paths to two-layer fabrication where signal integrity demands it. All active and passive components are selected from lines stocked in the Karachi electronics market.
The project will produce Gerber files, schematics, a full BOM with local sourcing, firmware configuration, and a characterisation report validating stepper timing accuracy, thermal management, and power domain isolation. The completed board is intended to serve as the permanent controller for the companion CSY FDM printer project and as a reusable platform for future student CNC and motion control projects at Habib University.
Problem Statement
The Habib University Engineering Workshop presently operates 3D printers running MKS Nano 1.2 control boards — STM32-based clones that, while functional, are closed designs offering limited documentation, no local repair ecosystem, and no expansion path. When these boards fail, replacements must be sourced internationally. The lab also holds a permanently non-functional MakerBot Replicator 2 whose original proprietary control board has no viable repair or replacement path; the machine is currently a dead asset.
More broadly, students undertaking CNC, robotics, and additive manufacturing projects at Habib University have no locally designed, open, and documented motion controller to build on. Every project that requires stepper motor control begins from scratch or imports commodity boards whose design constraints are opaque.
The specific engineering problem this project addresses is: can a full-featured, multi-axis CNC motion controller — adequate in electrical protection, thermal management, stepper driver compatibility, and firmware support to serve as the primary controller of a functional FDM 3D printer — be designed from schematics through to validated PCB using only components stocked in the Karachi local electronics market, fabricated on university equipment or low-cost local PCB services, and documented well enough that a subsequent student can build a second unit without assistance from the original designer?
A secondary problem is the recovery of the bricked MakerBot Replicator 2: the completed board, if validated in the companion printer project, is a direct drop-in candidate for retrofitting the Replicator 2 frame, restoring a high-value asset at no additional hardware cost.
Milestone Tracker
| Milestone | Name | Planned | Status |
|---|---|---|---|
| M1 | Schematic Completion | 2025-06-28 | Not Started |
| M2 | PCB Layout — R1 | 2025-07-19 | Not Started |
| M3 | R1 Assembly & Bring-up | 2025-08-09 | Not Started |
| M4 | PCB Layout — R2 | 2025-08-23 | Not Started |
| M5 | R2 Assembly & Validation | 2025-09-06 | Not Started |
| M6 | Printer Integration & Documentation | 2025-09-20 | Not Started |
Recent GitHub Activity
- d441ad9 - Update project.md (BasilSaeedBari-bb09892, 2026-05-11T11:35:12Z)
- 4c130a8 - Update README.md (BasilSaeedBari-bb09892, 2026-05-11T11:31:31Z)
- 9c248f0 - Update project.md (BasilSaeedBari-bb09892, 2026-05-11T11:29:40Z)
- c0fa44c - Update project.md (BasilSaeedBari-bb09892, 2026-05-11T11:22:09Z)
- bf6f828 - Rename esp32_motherboard_project.md to project.md (BasilSaeedBari-bb09892, 2026-05-11T11:21:50Z)
Resource Log
| Resource | Lab | Hours | Duration |
|---|---|---|---|
| PCB Milling Machine (CNC Router) | Engineering Workshop | 4 hrs | 2025-07-12 to 2025-07-19 |
| Oscilloscope (≥ 2-channel, ≥ 50 MHz) | Electronics Lab | 20 hrs | 2025-07-20 to 2025-09-10 |
| Digital Multimeter | Electronics Lab | 10 hrs | 2025-07-20 to 2025-09-10 |
| Variable DC Bench Power Supply (≥ 24 V, ≥ 10 A) | Electronics Lab | 15 hrs | 2025-07-20 to 2025-09-06 |
| Hot Air Rework Station | Electronics Lab | 6 hrs | 2025-07-20 to 2025-08-09 |
| Soldering Station (Fine-tip) | Electronics Lab | 20 hrs | 2025-07-20 to 2025-09-06 |
| IR Thermometer or Thermocouple + Meter | Electronics Lab | 4 hrs | 2025-08-24 to 2025-09-10 |
Faculty Endorsements
No endorsements yet. Faculty: contact the HOIISP admin.