Skip to the content
2 layers123 × 93.5 mmDieless Control System, the printed circuit board in 3D

An ESP32-based automated control system for a dieless wire drawing machine, featuring real-time HMI, microsecond scheduling, and independent dual-stepper acceleration profiling.

Size
123 × 93.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
11
Nets
55
Pads
99
Tracks, vias
130, 0
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
4 Jun 2026
Updated
7 Jun 2026

Overview

Dieless Control System is an open-source printed circuit board by Freshovsky23, from the Freshovsky23/Dieless-Control-System repository on GitHub. It is a 2-layer board of 123 × 93.5 mm with 11 parts on 55 nets, routed with 130 tracks and 0 vias.

Its parts include 3 connectors, 2 capacitors, 1 IC and 1 switch. It belongs with the robots and motor control boards and the ESP8266 boards of this library.

README

README.md

Dieless - Automated Wire Drawing Control System 🧵⚙️⚡

An advanced embedded control system designed for a Dieless Wire Drawing Machine engineering project. This system coordinates independent dual-stepper motor velocity profiles, features real-time analog micro-adjustments, and utilizes a complete local Human-Machine Interface (HMI).

Developed under the auspices of the "CREATIVE" Student Science Club.


📺 Project Presentation & Demo

Watch the system in action on YouTube:

Dieless Wire Drawing System Demo

Click the badge above to watch the project implementation and physical mechanical execution details.


🚀 System Features

  • High-Performance Jitter-Free Engine: Implements a non-blocking microsecond phase-accumulation scheduler capable of driving dual A4988 stepper drivers independently without timing drift.
  • Velocity Profiling (Ramp Rate): Integrated linear acceleration and deceleration profiling (2000 Hz/s rate) protecting motors from stalling or losing synchronization during sudden load changes.
  • Real-Time Trim Adjustment: Dual-potentiometer sampling with 12-bit ADC mapping, providing a precision $\pm5%$ velocity override overlay on-the-fly.
  • 4x4 Matrix Keypad Configuration: Full operational control board layout using an asynchronous multi-state input buffer for entering specific base frequencies (Hz).
  • Optimized I2C HMI Display: Formatted 20x4 LCD frame architecture running on a high-speed 400kHz I2C bus clock to eliminate screen update blocking latencies.

🛠️ Hardware & PCB Design

The control system has been migrated from breadboard prototyping to a dedicated, custom-designed PCB tailored for high-frequency signal switching and heavy motor current distribution.

📐 PCB View (3D Render)

The board architecture implements strict physical isolation between the high-current motor power rails (VMOT) and the sensitive analog/I2C traces to completely eliminate electromagnetic interference and noise injection.

Dieless Control PCB 3D Render


🔌 Complete Hardware Pin Mapping (Pinout)

To ensure proper hardware replication, connect the peripheral components to the ESP32 microcontroller precisely as outlined in the engineering reference tables below:

1. Actuators & Control Interfaces

ESP32 GPIO PinComponent PeripheralHardware Functionality / DescriptionSuggested Track Width
+5V / VINMain Logic RailCore power for driver logic and LCD module0.50 mm
+3.3VAnalog RailClean reference voltage for ADC potentiometers0.50 mm
VMOT (24V)A4988 Power SupplyHigh-current power for stepper motor coils🔥 1.20 mm
GNDSystem CommonSolid Ground Plane (Bottom Copper Zone)Copper Zone
GPIO 18Stepper Driver 1 (A4988)STEP – Motor 1 Pulse Generation Line (Wire Feeding)0.25 mm
GPIO 19Stepper Driver 1 (A4988)DIR – Motor 1 Directional Logic Level Control0.25 mm
GPIO 23Stepper Driver 2 (A4988)STEP – Motor 2 Pulse Generation Line (Wire Drawing)0.25 mm
GPIO 16Stepper Driver 2 (A4988)DIR – Motor 2 Directional Control (Safe Non-Bootstrap Pin)0.25 mm
GPIO 34Potentiometer 1Analog Input – Motor 1 Real-time Speed Trim Override0.25 mm
GPIO 35Potentiometer 2Analog Input – Motor 2 Real-time Speed Trim Override0.25 mm
GPIO 4SPDT Toggle SwitchDigital Input (Internal Pullup) – Active Motor Selection Editor0.25 mm

2. 4x4 Membrane Keypad Matrix Connections

ESP32 GPIO PinKeypad Ribbon PinMatrix Row / Column DesignationSuggested Track Width
GPIO 13Pin 1ROW 1 (Handles keys: 1, 2, 3, A)0.25 mm
GPIO 14Pin 2ROW 2 (Handles keys: 4, 5, 6, B)0.25 mm
GPIO 27Pin 3ROW 3 (Handles keys: 7, 8, 9, C)0.25 mm
GPIO 26Pin 4ROW 4 (Handles keys: *, 0, #, D)0.25 mm
GPIO 25Pin 5COL 1 (Handles keys: 1, 4, 7, *)0.25 mm
GPIO 33Pin 6COL 2 (Handles keys: 2, 5, 8, 0)0.25 mm
GPIO 32Pin 7COL 3 (Handles keys: 3, 6, 9, #)0.25 mm
GPIO 17Pin 8COL 4 (Handles keys: A, B, C, D)0.25 mm

3. Display Peripherals & Bus Communication

ESP32 GPIO PinModule / ControllerBus Line DesignationSuggested Track Width
GPIO 21I2C LCD 20x4 (PCF8574)SDA – Serial Data Communication Bus0.25 mm
GPIO 22I2C LCD 20x4 (PCF8574)SCL – Serial Clock Bus (Configured to 400kHz Fast Mode)0.25 mm

⌨️ Control Panel HMI Reference

Keypad 4x4 Layout Matrix

KeyCore FunctionOperational Description
0 – 9Numeric EntryInputs target step frequency values (Safe bounded range: 0 – 9999 Hz).
DDirection StageToggles the pending rotational direction profile buffer layout between [CW] and [CCW].
#ENTER / CommitFlushes the staged parameters, saving target velocity and setting hardware direction pins.
*BackspaceRemoves the terminal character from the active screen buffer string.
CClear BufferInstantly wipes the temporary keyboard data input buffer.
ASTART MachineGlobal execution trigger. Smoothly ramps up both stepper lines to target run frequencies.
BSTOP MachineE-Stop equivalent software override. Instantly cuts execution pulses and triggers safe deceleration.

LCD 20x4 Screen Topology Reference

The user interface handles full frame updates seamlessly asynchronously. The display grid mapping topology layout runs as follows:

text
+------------------------------------+
|M1: [BaseHz] |T:[Trim%] |[ActiveDir]| -> Line 1: Wire Feeding Motor Telemetry
|M2: [BaseHz] |T:[Trim%] |[ActiveDir]| -> Line 2: Wire Drawing Motor Telemetry
|Input: [EditorBuffer]   [PendingDir]| -> Line 3: Live Input HMI Keypad Buffer
|[MachineStatus] | Ed: [TargetMotor] | -> Line 4: System Operational Status
+------------------------------------+
📂 Repository Structure
Plaintext
├── firmware/              # ESP32 Core Control Source Code (C++/Arduino)
│   ├── src/
│   │   └── main.cpp
│   └── platformio.ini
├── hardware/              # KiCad EDA Project Files & Manufacturing Exports
│   ├── dieless-control.kicad_pro
│   ├── dieless-control.kicad_sch
│   ├── dieless-control.kicad_pcb
│   └── Dieless.png        # 3D Render preview of the custom PCB layout
└── README.md              # Main project documentation
👤 Author
Developer: @Freshovsky23

Contact: Heilman.Wiktor23@gmail.com

Parts

11
QtyValueFootprintReferences
2C_PolarizedCapacitor_THT:CP_Radial_D8.0mm_P3.50mmC1, C2
2Pololu_Breakout_A4988Module:Pololu_Breakout-16_15.2x20.3mmA1, A2
2R_PotentiometerPotentiometer_THT:Potentiometer_Bourns_3386P_VerticalRV1, RV2
1AI-Thinker Nodemcu-32SESP32:ai-thinker nodemcu-32sU1
1Conn_01x04_PinConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ2
1Conn_01x08_PinConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ1
1SW_SPDTButton_Switch_THT:SW_Slide_SPDT_Straight_CK_OS102011MS2QSW1
1Screw_Terminal_01x02TerminalBlock:TerminalBlock_MaiXu_MX126-5.0-02P_1x02_P5.00mmJ3

Similar boards

  • 2 layers60 × 30 mmController, the printed circuit board in 3D

    Controller

    google/mozc-devices

    Circuit diagrams and firmware source code for Gboard DIY keyboards

    11 parts3kApache-2.0
  • 2 layers103 × 30.5 mmTS Front Endcap, the printed circuit board in 3D

    TS Front Endcap

    EEVengers/ThunderScope

    ThunderScope GitHub Repo

    11 parts1.3kMIT
  • 2 layers26 × 30 mmExpansion Card, the printed circuit board in 3D

    Expansion Card

    FrameworkComputer/ExpansionCards

    Reference designs and documentation to create Expansion Cards for the Framework Laptop

    11 parts1.1kCC-BY-4.0
  • 2 layers53.9 × 23.2 mmBuffer, the printed circuit board in 3D

    Buffer

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    11 parts1kGPL-3.0
  • 2 layers10 × 20 mm2 connector Sensor Board, the printed circuit board in 3D

    2 connector Sensor Board

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    11 parts915
  • 2 layersFet module, the printed circuit board in 3D

    Fet module

    ByteWelder/Decktility

    A handheld PC

    11 parts855CC-BY-SA-4.0
  • 2 layers47 × 33 mmSevensegment led display module, the printed circuit board in 3D

    Sevensegment led display module

    tardate/LittleArduinoProjects

    a collection of "Little Electronic & Arduino Projects", most involving electronics or an Arduino in one way or another!

    11 parts803MIT
  • 2 layers42.5 × 36.8 mmDevboard, the printed circuit board in 3D

    Devboard

    basilfx/TRADFRI-Hacking

    Hacking IKEA TRÅDFRI products, such as light bulbs, window blinds and other accessories.

    11 parts743CC-BY-4.0

Questions

How big is the Dieless Control System PCB?

It measures 123 × 93.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Dieless Control System use?

11 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Dieless Control System KiCad files?

From the Freshovsky23/Dieless-Control-System repository on GitHub, at the commit this page was made from: the board is hardware/PCB.kicad_pcb and its schematic hardware/PCB.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Dieless Control System design in my own project?

Its repository states no licence, so its author keeps all rights: ask Freshovsky23 before reusing the design.