Skip to the content
2 layers156.5 × 153.1 mmWireCutter PCB, the printed circuit board in 3D

Bare-metal embedded C firmware and custom KiCad PCB design for an automated wire-cutting machine using the TM4C123G microcontroller.

Size
156.5 × 153.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
16
Nets
48
Pads
91
Tracks, vias
320, 10
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
31 Aug 2026
Updated
1 Sep 2026

Overview

WireCutter PCB is an open-source printed circuit board by Muhammad-Shahzaib-Aarbi, from the Muhammad-Shahzaib-Aarbi/Automated-Wire-Cutter-Embedded repository on GitHub. It is a 2-layer board of 156.5 × 153.1 mm with 16 parts on 48 nets, routed with 320 tracks and 10 vias.

It is built around the EK-TM4C123GXL. Its parts include 7 connectors, 1 resistor and 1 diode. It belongs with the robots and motor control boards of this library.

Main components

1

README

README.md

Automated Wire Cutter (Bare-Metal Embedded) ✂️⚡

A complete, end-to-end mechatronics project featuring custom PCB design and bare-metal embedded firmware. This system automates the precise feeding and cutting of wire using a Texas Instruments TM4C123G microcontroller, stepper motors, and servo actuators.

🎥 Video Demonstration

You can watch a detailed video walkthrough explaining the component integration, system architecture, and bare-metal C logic here: Watch Hardware Architecture Breakdown (Google Drive)

🚀 Engineering Highlights

  • Bare-Metal C Programming: Firmware is written completely from scratch in Keil uVision without relying on high-level abstraction libraries (e.g., no TivaWare or Arduino IDE). Utilizes direct memory-mapped register manipulation for GPIO, Timers, and Interrupts.
  • Custom PCB Design: Engineered a custom breakout and control board using KiCad, optimizing routing for the microcontroller, motor drivers, and power distribution.
  • Complex Peripheral Integration:
    • Stepper Motor Control: Precise wire feeding using custom pulse-width generation.
    • Servo Actuation: Controls the physical cutting mechanism.
    • Matrix Keypad & LCD UI: Real-time user interface for inputting exact wire lengths and quantities.
  • Safety Logic: Implemented hardware/software Emergency Stop (E-Stop) interrupts and edge-case decimal logic handling.

🛠️ Technical Stack

  • Microcontroller: Texas Instruments Tiva C Series (TM4C123GH6PM) / ARM Cortex-M4F
  • Firmware Environment: Keil uVision 5, Bare-Metal C
  • Hardware Design: KiCad (Schematic Capture & PCB Layout)
  • Actuators: NEMA Stepper Motors, Servo Motors

📂 Repository Contents

  • main.c: The core bare-metal C firmware for the TM4C123G.
  • WireCutter_PCB.kicad_pcb / .sch: Custom hardware schematic and PCB layout files.
  • Project_Report.pdf: Comprehensive documentation on the system architecture and circuit design.

Authors

  • Muhammad Shahzaib Aarbi (2024-MC-15)
  • Atiq-Ur-Rehman (2024-MC-05)
  • Hasna Iftikhar (2024-MC-34)

Project developed for Embedded Systems-I (MCT-236), UET Lahore.

Parts

16
QtyValueFootprintReferences
11N4007Diode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD1
14x4 KeyPadTerminalBlock_Phoenix:TerminalBlock_Phoenix_PT-1,5-8-5.0-H_1x08_P5.00mm_HorizontalJ7
1AC Supply output/12VTerminalBlock_Phoenix:TerminalBlock_Phoenix_PT-1,5-2-5.0-H_1x02_P5.00mm_HorizontalInputAC1
1Driver output for MotorTerminalBlock_Phoenix:TerminalBlock_Phoenix_PT-1,5-4-5.0-H_1x04_P5.00mm_HorizontalJ6
1Driver's ConnectorsConnector_Molex:Molex_MicroClasp_55932-0610_1x06_P2.00mm_VerticalTB6600
1Driver's InputTerminalBlock_Phoenix:TerminalBlock_Phoenix_PT-1,5-2-5.0-H_1x02_P5.00mm_HorizontalJ3
1EK-TM4C123GXLKicad_mod:MODULE_EK-TM4C123GXLTIVA_C_Series1
1LED D6-BLKConnector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_VerticalJ9
1LED GND-RSConnector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_VerticalJ1
1LED RW,E, D4,D5Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_VerticalJ2
1LOGOLOGOG
1Motor ConnectorsConnector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_VerticalJ11
1Output DC-DCTerminalBlock_Phoenix:TerminalBlock_Phoenix_PT-1,5-2-5.0-H_1x02_P5.00mm_HorizontalBuckConverter1
1R_PotentiometerPotentiometer_THT:Potentiometer_Alps_RK09Y11_Single_HorizontalRV1
1R_USResistor_THT:R_Axial_DIN0614_L14.3mm_D5.7mm_P20.32mm_HorizontalR1
1Servo connectorConnector_Samtec_HPM_THT:Samtec_HPM-03-01-x-S_Straight_1x03_Pitch5.08mmMG996r1

Similar boards

  • 2 layers83.6 × 86.6 mmECE445L Lab7, the printed circuit board in 3D

    ECE445L Lab7

    Mikail-Sadic-UT/POV-Globe

    Globe

    102 parts41
  • 2 layers100 × 70 mmLicorne board, the printed circuit board in 3D

    Licorne board

    dkm/licorne-rs

    Sample alarm clock using a color code for different time of the day

    7 parts3GPL-3.0
  • 4 layers224 × 395 mmFEAR-16 - Mainboard, the printed circuit board in 3D

    FEAR-16 - Mainboard

    Dephrilibrium/FE-FEAR16v2-PCB-Mainboard

    Regulation circuit mainboard of the Field Emission Array Regulation (FEAR) system with up to 16 channels.

    424 parts1GPL-3.0
  • 2 layers152 × 110.6 mmBaseline project, the printed circuit board in 3D

    Baseline project

    maanavkoladia/DigiPiano

    The DigiPiano is a velocity-sensitive digital piano designed using STM32 and ESP32 microcontrollers. It combines advanced sensor technology, high-quality audio playback, and Bluetooth connectivity to deliver a realistic…

    44 parts
  • 2 layers152.4 × 127 mmECE445L Lab7, the printed circuit board in 3D

    ECE445L Lab7

    niranjannt/Local-Music-Streaming-Pipeline

    Embedded music-streaming system using ESP32 and TM4C MCUs, featuring USB-UART audio streaming, SPI DAC output, MOSFET-based analog filters, digital audio effects, real-time control via potentiometers, and a web-based…

    215 parts
  • 2 layers126 × 97.2 mmECE445L Starter, the printed circuit board in 3D

    ECE445L Starter

    samienr/ECE445L-final

    Public copy of our Embedded Systems Design Lab final project

    39 parts
  • 2 layers89 × 162.3 mmArcFaultPCB, the printed circuit board in 3D

    ArcFaultPCB

    SeniorDesignArcFaultDetection/KiCad_and_ESPCode

    This is the repository that utilizes the ESP32 to control robots for the Robtathon competition. It uses the following components: Arduino Core for ESP32 ESP-IDF Extension for VSCode Bluepad32

    67 parts

Questions

How big is the WireCutter PCB PCB?

It measures 156.5 × 153.1 mm and has 2 copper layers, 1.6 mm thick.

What parts does the WireCutter PCB use?

16 parts, built around the EK-TM4C123GXL. 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 WireCutter PCB KiCad files?

From the Muhammad-Shahzaib-Aarbi/Automated-Wire-Cutter-Embedded repository on GitHub, at the commit this page was made from: the board is WireCutter_PCB.kicad_pcb and its schematic WireCutter_Schematic.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the WireCutter PCB design in my own project?

Its repository states no licence, so its author keeps all rights: ask Muhammad-Shahzaib-Aarbi before reusing the design.