Loading article...
Loading article...
Stream/Area:
-
Subject:
-
Paper ID:
IJSREM62544
Volume:
10 |
5 |
May 2026
Pages:
1-4
Publication Frequency:
Monthly (12 issues per year)
License:International Journal of Scientific Research in Engineering and Management follows the Creative Commons Attribution 4.0 (CC BY 4.0) License, allowing free use and distribution with proper attribution.
Electical Engineer
Priydarshini Bhawati college of engineering
Electical Engineer
Priydarshini Bhawati college of engineering
Electical Engineer
Priydarshini Bhawati college of engineering
This report presents the design, implementation, and evaluation of a two-node embedded system for precision stepper motor positioning controlled via a touchscreen graphical user interface (GUI). The master node — an ESP32-2432S028R (Cheap Yellow Display, CYD) — hosts an LVGL v9.1 UI on a 2.8-inch 320x240 TFT for motion setpoint entry and real-time position feedback display. The slave node is an Arduino Uno mounted with a CNC Shield v3, which provides a dedicated stepper driver socket (A4988 or DRV8825) and end-stop connector for a limit switch. The slave executes trajectory control using the AccelStepper library via the CNC Shield's pre-routed STEP/DIR signals, performs automatic homing at start-up, and streams position data over UART using ArduinoJson. The mechanical stage uses a NEMA17 stepper motor coupled to a T8 lead screw (2 mm pitch) with custom 3D-printed mounts, achieving a theoretical resolution of 0.01 mm/step in full-step mode.
KEYWORDS
This project demonstrates a practical, low-cost embedded motion control system using commercial-off-the-shelf hardware. The ESP32-CYD master provides a professional-quality touchscreen HMI via LVGL, while the Arduino Uno with CNC Shield v3 delivers a clean, well-routed motion node with minimal wiring effort. The CNC Shield v3 eliminates per-project STEP/DIR wiring and provides industry-standard stepper driver socket compatibility with A4988 and DRV8825 modules. The JSON-over-UART protocol is lightweight, human-readable, and easily extensible for additional commands or axes. Potential future enhancements include: multi-axis motion (using additional CNC Shield driver sockets Y/Z/A), closed-loop feedback with a rotary encoder, G-code command interpreter on the Arduino Uno, OTA firmware updates on the ESP32 over Wi-Fi, and persistent motion profiles stored in EEPROM on the Uno.
[1] LVGL Documentation. https://docs.lvgl.io/ (accessed April 2026). [2]AirspaceSystems. AccelStepper Library. http://www.airspayce.com/mikem/arduino/AccelStepper/ [3] Benoit Blanchon. ArduinoJson Documentation. https://arduinojson.org/ [4] Bodmer. TFT_eSPI Library. https://github.com/Bodmer/TFT_eSPI [5]PaulStoffregen. XPT2046_Touchscreen. https://github.com/PaulStoffregen/XPT2046_Touchscreen [6] Espressif Systems. ESP32 Technical Reference Manual. https://www.espressif.com/ [7] SquareLine Studio. LVGL UI Editor. https://squareline.io/ [8] CNC Shield v3 Schematics. https://blog.protoneer.co.nz/arduino-cnc-shield/
Publication Date
5/5/2026
Peer Review Type
Double-Blind Peer Review
Review Rounds: 2
Documents
Article Views
0
Total views since publication
PDF Downloads
11
Total downloads since publication
Geographic Reach
5
Digital Preservation: This article is permanently archived on Zenodo and complies with all data preservation standards across major indexing platforms.
Plagiarism Screening
This manuscript has been checked for plagiarism using TurnitinPlagiarismChecker software.
Conflict of Interest
The authors declare no conflict of interest related to this research work.
Funding Information
No funding information available for this research.
Related research in the same subject area
Loading similar articles...