

WireCutter PCB
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
1README
README.mdAutomated 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| Qty | Value | Footprint | References |
|---|---|---|---|
| 1 | 1N4007 | Diode_THT:D_DO-41_SOD81_P10.16mm_Horizontal | D1 |
| 1 | 4x4 KeyPad | TerminalBlock_Phoenix:TerminalBlock_Phoenix_PT-1,5-8-5.0-H_1x08_P5.00mm_Horizontal | J7 |
| 1 | AC Supply output/12V | TerminalBlock_Phoenix:TerminalBlock_Phoenix_PT-1,5-2-5.0-H_1x02_P5.00mm_Horizontal | InputAC1 |
| 1 | Driver output for Motor | TerminalBlock_Phoenix:TerminalBlock_Phoenix_PT-1,5-4-5.0-H_1x04_P5.00mm_Horizontal | J6 |
| 1 | Driver's Connectors | Connector_Molex:Molex_MicroClasp_55932-0610_1x06_P2.00mm_Vertical | TB6600 |
| 1 | Driver's Input | TerminalBlock_Phoenix:TerminalBlock_Phoenix_PT-1,5-2-5.0-H_1x02_P5.00mm_Horizontal | J3 |
| 1 | EK-TM4C123GXL | Kicad_mod:MODULE_EK-TM4C123GXL | TIVA_C_Series1 |
| 1 | LED D6-BLK | Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_Vertical | J9 |
| 1 | LED GND-RS | Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_Vertical | J1 |
| 1 | LED RW,E, D4,D5 | Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_Vertical | J2 |
| 1 | LOGO | LOGO | G |
| 1 | Motor Connectors | Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_Vertical | J11 |
| 1 | Output DC-DC | TerminalBlock_Phoenix:TerminalBlock_Phoenix_PT-1,5-2-5.0-H_1x02_P5.00mm_Horizontal | BuckConverter1 |
| 1 | R_Potentiometer | Potentiometer_THT:Potentiometer_Alps_RK09Y11_Single_Horizontal | RV1 |
| 1 | R_US | Resistor_THT:R_Axial_DIN0614_L14.3mm_D5.7mm_P20.32mm_Horizontal | R1 |
| 1 | Servo connector | Connector_Samtec_HPM_THT:Samtec_HPM-03-01-x-S_Straight_1x03_Pitch5.08mm | MG996r1 |
Similar boards
- 2 layers83.6 × 86.6 mm

- 2 layers100 × 70 mm

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 mm

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 mm

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 mm

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 mm

ECE445L Starter
samienr/ECE445L-final
Public copy of our Embedded Systems Design Lab final project
39 parts - 2 layers89 × 162.3 mm

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 - 2 layers93.5 × 153.7 mm

Ps33536 hjs2235 shp695 wtc534
wtc534/tpod-project
Embedded Systems Lab group project from Spring semester 2024
48 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.