Skip to the content
4 layers111 × 53.3 mmGiga adapter, the printed circuit board in 3D

Open ProtoMate.kicadpro in KiCad 10. The complete system schematic and linked perfboard layout share the same project name and component identities.

Size
111 × 53.3 mm
Copper layers
4
Thickness
1.6 mm
Parts
127
Nets
180
Pads
520
Tracks, vias
972, 237
Pours
6
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
2 Oct 2026
Updated
8 Nov 2026

Overview

Giga adapter is an open-source printed circuit board by daleondev, from the daleondev/ProtoMate_Control repository on GitHub. It is a 4-layer board of 111 × 53.3 mm with 127 parts on 180 nets, routed with 972 tracks and 237 vias.

It is built around the TCA9517ADGKR, TPS26600PWPT and RC0603FR-0710KL, with the B360A-13-F-MS, SF-1206S080-2 and 08053D106KAT2A among its other parts. Its parts include 71 resistors, 21 capacitors, 10 connectors, 9 ICs and 3 diodes. It belongs with the interfaces and adapters boards of this library.

Main components

11

README

hardware/perfboard/README.md

ProtoMate stepper perfboard

Open ProtoMate.kicad_pro in KiCad 10. The complete system schematic and linked perfboard layout share the same project name and component identities.

The controller is the Arduino GIGA R1 WiFi / STM32H747XIH6. Its M4 owns motor generation, feedback, reference switches and driver diagnostics. The physical perfboard uses four cable harnesses to the GIGA; it is a separate board, not the display shield. Controller destinations use the Arduino's printed D/A labels, checked against the official pinout and the repository's current CubeMX configuration.

Power the GIGA independently through USB-C. Its 3V3 output feeds J101.8; ground is common with the perfboard. Do not connect the buck's 5 V output to GIGA 5V, VIN or USB. The buck powers the DM542T signal interface and the encoder's 5 V circuitry; 24 V supplies the three motor drivers.

text
hardware/perfboard/
├── ProtoMate.kicad_pro       Project settings and electrical checks
├── ProtoMate.kicad_sch       Root sheet: controller, power, sheet navigation
├── ProtoMate.kicad_pcb       47 × 65 hole perfboard placement and hand wiring
├── sheets/                  Motor interfaces, encoder, headers, switches
├── libraries/               Project-local symbols, footprints and buck 3D model
├── sym-lib-table            Relative symbol-library registration
├── fp-lib-table             Relative footprint-library registration
├── assembly/                Build instructions, parts, hole/wire/harness tables
├── exports/                 Schematic/assembly PDFs and verification reports
└── tools/                   Repeatable checks and export command

Schematic and layout relationship

The root schematic links five child sheets: M1/DM542T, M2/M3/TMC2209, M1 encoder, perfboard cable headers, and reference limit switches. Global net names connect these sheets electrically. The connector sheet defines J101–J107 and J113, and the reference-switch sheet defines J108–J111. J104 is the ten-way DM542T screw terminal for control, ALM and 24 V power. The M1 sheet defines pull-up R30; J101 carries ALM to the GIGA. All connector pin numbers match the layout and harness table.

All 49 perfboard footprints have assigned library footprints and native links to their schematic symbols. These comprise Q1–Q6, R1–R12, R20–R30, C1–C6, U2/U3, J101–J111 and J113. R10–R12 remain on the layout and are marked DNP.

The buck U1 and Adafruit A3/A4 modules mount directly at J103/J105/J106. These footprints represent their soldered mounting pins and full module outlines. The module symbols remain excluded from separate PCB placement: the barrel jack and four-way motor terminals remain on their modules. J103 has four electrical contacts: 5 V output, output ground, VIN ground and 24 V input. J105/J106 each have ten JP4 control pins plus two JP1 power pins. J104.9/10 provide the DM542T power connection and the two power-distribution star joints. Dedicated underside supply/return branches feed each TMC module through its local C1/C2 bulk capacitor connections. Motor winding cables connect directly to the drivers. The GIGA, DM542T, motors and switches remain external. The buck's 63 × 27 mm body follows the supplied STEP model; its nominal mounting grid is 5.08 mm within each pair and 50.8 mm between pairs. Its barrel jack receives 24 V at the left edge.

J113 uses eight contacts for six signals and two shared ground returns to the GIGA: TX (PD5), RX (PD6), M2 DIAG (PC3), M3 DIAG (PC0), M2 INDEX (PB8) and M3 INDEX (PB9). R29 is the shared UART's 1 kΩ TX series resistor. J105/J106 pin 9 is UART, pin 7 is DIAG and pin 8 is INDEX. Address straps are M2 MS1/MS2 = GND/GND and M3 = 3.3 V/GND. Both SPRD jumpers stay open. Firmware configures current and 16 microsteps before enable; the potentiometers do not set current in UART mode. See the UART wiring instructions.

The .kicad_pcb is a map for a purchased individual-pad board: F.Cu represents top jumpers, B.Cu represents solder-side wires, and vias represent wire passages. Use the 65 × 47-hole board, oriented as 47 columns × 65 rows, A1–BM47, at 2.54 mm pitch. The outer hole centres span 116.84 × 162.56 mm; the nominal outline is 119.38 × 165.10 mm with half-pitch margins. J104 and both TMC modules sit along the top edge with their cable entries facing outward. J107 sits below J104, keeping both motor-1 cables together. J101, J113, J102 and J108 form a left-edge GIGA connector bank with 9.1 mm gaps between bodies and pin 1 at the bottom of every header. The encoder receiver and level converters occupy the centre-left; the DM542T transistor stages occupy the right interior. The buck sits at the bottom left, with the three switch cable headers at the bottom right. Q1–Q3 have 30.48 mm between stages; Q4–Q6 have 15.24 mm between stages. Decoupling capacitors stay close to their ICs. The barrel jack faces the left edge. The wire schedule specifies underside routes and insulated top crossovers through dedicated free holes. All wire ends are soldered underneath. J101's pin 1 is at Z4; odd pins run up column 4 and even pins up column 3. The 11 designated power connections all stay underneath and use 0.5 mm² insulated copper wire; wire drawing width does not specify conductor size. Use the assembly instructions to build it.

The STEP engine uses one 32-bit TIM2 with DMA: channels 1/3/4, all AF1, with a 10 MHz timeline. M4's runtime uses TIM5, TIM6 samples the encoder and TIM7 services STEP completion. The GIGA's own 16 MHz crystal provides the clock; there is no external ST-Link clock setting or board solder-bridge change.

SignalPerfboard contactGIGA labelMCU pin / function
M1 STEPJ101.1A7PA0 / TIM2_CH1
M1 DIRJ101.3D4PJ8
M1 ALMJ101.4A3PB1 / EXTI1
M2 STEPJ101.5D3PA2 / TIM2_CH3
M2 DIRJ101.7D6PD13
M3 STEPJ101.9D2PA3 / TIM2_CH4
M3 DIRJ101.11D16PH13
Shared enableJ101.12D15PC7; HIGH = disabled
Logic supplyJ101.83V3GIGA output
M1 encoder AJ102.1D7PB4 / TIM3_CH1
M1 encoder BJ102.3D5PA7 / TIM3_CH2
M1 encoder ZJ102.5D53PG7 / EXTI7
M1 referenceJ108.1D49PE4 / EXTI4
M2 referenceJ108.2D51PE5 / EXTI5
M3 referenceJ108.3D47PB2 / EXTI2
TMC UART TXJ113.1D18PD5 / USART2_TX
TMC UART RXJ113.3D19PD6 / USART2_RX
M2 INDEXJ113.4D8PB8 / EXTI8
M2 DIAGJ113.5A4PC3 / EXTI3
M3 INDEXJ113.6D9PB9 / EXTI9
M3 DIAGJ113.7A6PC0 / EXTI0

All nine controller ground returns join the GIGA's common GND. See Harness.csv for each return and the complete driver, module and switch wiring. The GIGA's QSPI flash is onboard and the filesystem uses internal flash; no external QSPI or SD wiring is part of this project.

R7's 470 Ω pull-up holds shared enable HIGH during reset. M2/M3 STEP have 10 kΩ pull-downs R8/R9; M1 STEP has a path to GND through R1 and R2. The firmware keeps STEP LOW and enable HIGH until motion is explicitly enabled. These physical bias paths depend on the perfboard and its GIGA logic supply being connected.

The reference switches connect to J109/J110/J111 (M1/M2/M3), pin 1 = REF and pin 2 = GND. COM–NC is closed when released: LOW is healthy/released; HIGH means pressed or an open cable. The GIGA supplies internal 3.3 V pull-ups and uses both-edge EXTI. The schematic names functional switch contacts; check the NC pair by continuity rather than relying on connector colours.

DM542T ALM+/ALM− connect to J104.7/8. R30 pulls ALM+ to 3.3 V through 4.7 kΩ; J101.4 returns it to A3/PB1. The normally conducting alarm is LOW when healthy and HIGH on fault/open cable. See the external connection instructions.

Controller harness

Use four short harnesses between the GIGA and perfboard: J101 (12 contacts), J102 (6), J108 (4), and J113 (8). Each signal appears exactly once; 3.3 V enters only at J101.8. J101 also carries the M1 alarm signal.

The nine ground conductors have deliberate roles: three STEP returns at J101, three encoder returns at J102, one shared switch return at J108, and two shared UART/diagnostic returns at J113. Twist each STEP and encoder signal with its assigned ground. Bundle the slower signals with their shared returns; keep these short local harnesses separate from motor and 24 V cables. The ground conductors may join at a ground bus beside the GIGA; they do not need separate GIGA GND pins. Use a short, solid connection from that bus to GIGA GND.

Module ground contacts and address straps remain connected as required by the modules. Motor supply current uses the dedicated power branches. Ground links in the perfboard wire schedule are required even where cable returns are shared.

Editing workflow

  1. Open the project above, then its schematic and PCB editors. Edit electrical connections and component assignments in the schematic.
  2. Save the schematic and use Tools → Update PCB from Schematic (F8). Keep UUID-based association; leave Re-link footprints to schematic symbols based on their reference designators unchecked. Review the proposed changes.
  3. Apply the update, then place new parts and adjust the hand-wire routes in the PCB editor. Use the 2.54 mm hole grid for leads and wire passages. F8 transfers connectivity and component changes; it does not design the new wiring routes.
  4. Maintain Wires.csv after routing changes and Harness.csv after cable/connector changes. Review mounting details in Parts.csv. Run the refresh command below before using or sharing the assembly documents.

Project-local footprints preserve the actual grid spacing and Diotec E/B/C pad identities. They resolve through ${KIPRJMOD}, so moving or cloning the repository does not require personal library paths. The X/Y axial resistor patterns describe the two existing orientations of the assembly drawing.

There is no separate netlist-import step or second electrical design to maintain. KiCad's schematic-to-board check verifies the association, footprint identity, value, and pad connectivity in the saved project.

Checks and exports

From the repository root:

sh
python3 hardware/perfboard/tools/refresh.py

Requires KiCad 10 (kicad-cli and its pcbnew Python module), Python 3 and Poppler's pdfunite. The command checks ERC, DRC with schematic parity, symbol links, pad nets, the hole grid, wire endpoints/connectivity, module body clearance, mounting contacts, dedicated power branches and harness destinations. All 20 motor, encoder, reference and driver signal contacts are checked against the GIGA schematic and external/CubeMX/CubeMX.ioc by default: MCU pin, peripheral, M4 ownership, firmware label, input pulls/edges, UART settings and disabled startup level. The checks also reject buck 5 V or external-storage connections on the controller. Use --ioc /path/to/GIGA.ioc to select another matching GIGA configuration. The command updates:

Use python3 hardware/perfboard/tools/refresh.py --check-only to refresh just the checks. The tool reads the native design; it never regenerates or overwrites its schematic or layout. Wire lengths and side choices in the assembly schedule remain manually reviewed when routing changes. The checks validate a wiring model, not solder joints or measured encoder-interface timing.

Manufacturing silkscreen and missing-courtyard checks are waived for this hand-wiring map. Electrical clearance, unconnected pads, schematic parity and local footprint-library consistency are checked. No fabrication outputs are generated.

Parts

127
QtyValueFootprintReferences
3347kDisplayAdapter:R_0402_1005MetricR33, R34, R35, R36, R37, R38, R39, R40, R41, R42, R43, R44, R45, R46, R47, R48 +17
3233RDisplayAdapter:R_0402_1005MetricR1, R2, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23 +16
14100n / 50V X7RDisplayAdapter:C_0603_1608MetricC1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C20, C21
7Probe padDisplayAdapter:TestPoint_1.0mmTP1, TP2, TP3, TP4, TP5, TP6, TP7
4MountingHole_3.2mm_M3MountingHole_3.2mm_M3H1, H2, H3, H4
4SN74AXC8T245PWRDisplayAdapter:TSSOP-24_4.4x7.8mm_P0.65mmU1, U2, U3, U4
310k / 1%DisplayAdapter:R_0603_1608MetricR67, R69, R71
210u / 10V X5RDisplayAdapter:C_0805_2012MetricC13, C14
210u / 50V X7RDisplayAdapter:C_1210_3225MetricC17, C18
260V / 3A SchottkyDisplayAdapter:D_SMAD2, D3
2SN74AXC1T45DBVRDisplayAdapter:SOT-23-6U5, U9
10.8A / 63V time-lagDisplayAdapter:Fuse_1206_3216MetricF2
110u / 25V X5RDisplayAdapter:C_0805_2012MetricC19
1143k / 1%DisplayAdapter:R_0603_1608MetricR66
11u / 100V X7RDisplayAdapter:C_1206_3216MetricC15
1226k / 1%DisplayAdapter:R_0603_1608MetricR68
12A / 65V time-lagDisplayAdapter:Fuse_Bourns_SF-1206SA-MF1
133V bidirectional TVSDisplayAdapter:D_SMBD1
147n / 50V X7RDisplayAdapter:C_0603_1608MetricC16
1505110-6091DisplayAdapter:Molex_505110-6091_1x60_P0.50mmJ1
18.06k / 1%DisplayAdapter:R_0603_1608MetricR70
1DC-005 / 24V centre+DisplayAdapter:BarrelJack_Horizontal_AISLERJ10
1J5 1..24DisplayAdapter:GIGA_J9_J5J9
1JANALOG 1..8DisplayAdapter:GIGA_J5_JANALOGJ5
1JANALOG 17..24DisplayAdapter:GIGA_J7_JANALOGJ7
1JANALOG 9..16DisplayAdapter:GIGA_J6_JANALOGJ6
1JDIGITAL 1..10DisplayAdapter:GIGA_J2_JDIGITALJ2
1JDIGITAL 11..18DisplayAdapter:GIGA_J3_JDIGITALJ3
1JDIGITAL 19..26DisplayAdapter:GIGA_J4_JDIGITALJ4
1JSIDE 1..36DisplayAdapter:GIGA_J8_JSIDEJ8
1TCA9517ADGKRDisplayAdapter:VSSOP-8_3x3mm_P0.65mmU6
1TPS26600PWPTDisplayAdapter:HTSSOP-16_PWP0016A_EP3.3x3.3mmU7
1TSR 1-24120 / 12V 1ADisplayAdapter:Converter_DCDC_TRACO_TSR-1_THTU8

More from daleondev/ProtoMate_Control

5
  • 4 layers111 × 53.3 mmGiga adapter, the printed circuit board in 3D

    Giga adapter

    daleondev/ProtoMate_Control

    Open ProtoMate.kicadpro in KiCad 10. The complete system schematic and linked perfboard layout share the same project name and component identities.

    127 parts
  • 4 layers55 × 50 mmDisplay adapter, the printed circuit board in 3D

    Display adapter

    daleondev/ProtoMate_Control

    Open ProtoMate.kicadpro in KiCad 10. The complete system schematic and linked perfboard layout share the same project name and component identities.

    55 parts
  • 4 layers55 × 50 mmDisplay adapter, the printed circuit board in 3D

    Display adapter

    daleondev/ProtoMate_Control

    Open ProtoMate.kicadpro in KiCad 10. The complete system schematic and linked perfboard layout share the same project name and component identities.

    55 parts
  • 2 layers119.4 × 165.1 mmProtoMate, the printed circuit board in 3D

    ProtoMate

    daleondev/ProtoMate_Control

    Open ProtoMate.kicadpro in KiCad 10. The complete system schematic and linked perfboard layout share the same project name and component identities.

    49 parts
  • 2 layers119.4 × 165.1 mmProtoMate, the printed circuit board in 3D

    ProtoMate

    daleondev/ProtoMate_Control

    Open ProtoMate.kicadpro in KiCad 10. The complete system schematic and linked perfboard layout share the same project name and component identities.

    49 parts

Similar boards

  • 4 layers212 × 116 mmEswitch simple, the printed circuit board in 3D

    Eswitch simple

    dpeckham/eswitch

    8-channel ESP32-S3 + PROFET+2 (BTS7008-1EPP) 12V load switch with 3-position ATO fuse bypass, KiCad 10, script-generated

    230 parts
  • 6 layers327 × 271 mmEGSE, the printed circuit board in 3D

    EGSE

    nanosatlab/pocat-hw

    IEEE PocketQubes

    212 parts12
  • 6 layers139.7 × 88.9 mmIMX6-BareBones, the printed circuit board in 3D

    IMX6-BareBones

    a1wolfe/iMX6-BareBones

    i.MX 6ULL Open Source Development Board

    558 parts
  • 2 layers162 × 90 mmDJetECUTester, the printed circuit board in 3D

    DJetECUTester

    ajayre/djetecutesterv2

    D-Jetronic ECU Tester V2

    160 parts2
  • 4 layers139.7 × 186 mmOpen lion charger, the printed circuit board in 3D

    Open lion charger

    frchp/open-lion-charger

    Open source battery charger and discharger

    236 parts
  • 12 layers86.4 × 54.6 mmBeaglebone ai, the printed circuit board in 3D

    Beaglebone ai

    embeddedos-org/eCAD-Hardware-Products

    Hardware designs + EE docs + Board datasheets of Multiple products

    718 parts8MIT
  • 2 layers108.4 × 70 mmUser Expansion, the printed circuit board in 3D

    User Expansion

    Ashet-Technologies/Home-Computer

    A retro-inspired home-computer project.

    858 parts20CERN-OHL-P-2.0
  • 2 layers180 × 135 mmFarmHqRelay R1, the printed circuit board in 3D

    FarmHqRelay R1

    kjdykstra406/Pivot-Control-PCB

    "# Pivot-Control-P(kicadsch (version 20250114) (generator "eeschema") (generatorversion "9.0") (uuid "5632ba6c-34ff-4a54-b5e1-022e30e0e773") (paper "A0") (libsymbols (symbol "Adafruit I2C to 8 Channel Solenoid…

    230 parts

Questions

How big is the Giga adapter PCB?

It measures 111 × 53.3 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Giga adapter use?

127 parts, built around the TCA9517ADGKR, TPS26600PWPT, RC0603FR-0710KL and B360A-13-F-MS. 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 Giga adapter KiCad files?

From the daleondev/ProtoMate_Control repository on GitHub, at the commit this page was made from: the board is hardware/display/giga-adapter/giga-adapter.kicad_pcb and its schematic backups/h753/hardware/ProtoMate.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Giga adapter design in my own project?

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