Skip to the content
6 layers154.5 × 89.5 mmGiga shield v03 final, the printed circuit board in 3D

Giga shield v03 final

ajokela/giga-shield1

Arduino Giga R1 WiFi Shield with SN74LVC8T245PW driven level shifters for Z80 RetroShield interfacing

Size
154.5 × 89.5 mm
Copper layers
6
Thickness
1.6 mm
Parts
64
Nets
161
Pads
507
Tracks, vias
2,359, 334
Pours
2
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
8 Mar 2026
Updated
24 Apr 2026

Overview

Giga shield v03 final is an open-source printed circuit board by ajokela, from the ajokela/giga-shield repository on GitHub, published under the BSD-3-Clause licence. It is a 6-layer board of 154.5 × 89.5 mm with 64 parts on 161 nets, routed with 2,359 tracks and 334 vias.

It is built around the SN74LVC8T245PW. Its parts include 29 capacitors, 11 connectors, 10 resistors and 10 ICs. It belongs with the radio and wireless and interfaces and adapters boards of this library.

Main components

1

README

README.md

Arduino Giga R1 WiFi Shield - Driven Level Shifter Redesign

Overview

This is a redesigned shield/daughter board for the Arduino Giga R1 WiFi that replaces the original TXB0108PW auto-sensing bidirectional level translators with SN74LVC8T245PW driven (direction-controlled) level shifters.

The board provides 72 channels of 3.3V-to-5V level shifting across 9 ICs, mapping the Giga's 3.3V GPIO signals to 5V-compatible headers suitable for interfacing with retro hardware such as the Z80 CPU via a RetroShield.

Why the Redesign

The original board used TXB0108PW auto-sensing bidirectional level translators. While convenient (no direction pin needed), the auto-sensing mechanism fails during Z80 bus cycles when signals are tri-stated. During these periods, the TXB0108 cannot determine the correct drive direction, causing the Arduino to be completely blind to certain Z80 execution states. This makes reliable bus monitoring and intervention impossible.

The SN74LVC8T245PW is a driven (explicit direction control) 8-bit dual-supply bus transceiver. The DIR pin explicitly sets the translation direction:

  • DIR LOW = A-port to B-port (3.3V to 5V)
  • DIR HIGH = B-port to A-port (5V to 3.3V)

This eliminates the ambiguity during tri-state periods and gives the Arduino full control over when it's reading vs. writing the bus.

Board Specifications

ParameterValue
Dimensions155mm x 90mm
Layers2 (top + bottom copper)
Level Shifters9x SN74LVC8T245PW (TSSOP-24)
Decoupling Caps27x 0.1uF ceramic (0603)
DIR Pull-downs9x 10K resistor (0603)
Connectors10x pin headers (J1-J10) + 1x DIR control (J11)
Mounting Holes4x 3.2mm
Traces1843
Vias158

Signal Mapping

Each SN74LVC8T245PW translates 8 signals between the Giga's 3.3V domain (A-port) and the 5V headers (B-port).

U1 - SCL/SDA/D9-D13

A-Port (3.3V)B-Port (5V)Function
SCL1PB6I2C Clock
SDA1PH12I2C Data
AREF_3V3AREFAnalog Reference
D13PH6Digital 13
D12PJ11Digital 12
D11PJ10Digital 11
D10PK1Digital 10
D9PB9Digital 9

U2 - Analog A0-A7

A-Port (3.3V)B-Port (5V)Function
PC4A0Analog 0
PC5A1Analog 1
PB0A2Analog 2
PB1A3Analog 3
PC3A4Analog 4
PC2A5Analog 5
PC0A6Analog 6
PA0A7Analog 7

U3 - Digital D1-D8

A-Port (3.3V)B-Port (5V)Function
D8PB8Digital 8
D7PB4Digital 7
D6PD13_5VDigital 6
D5PA7Digital 5
D4PJ8Digital 4
D3PA2Digital 3
D2PA3Digital 2
D1PA9Digital 1

U4 - Analog A8-A11, DAC, CAN

A-Port (3.3V)B-Port (5V)Function
PC2_CA8Analog 8
PC3_CA9Analog 9
PA1_CA10Analog 10
PA0_CA11Analog 11
PA4DAC0DAC Channel 0
PA5DAC1DAC Channel 1
PB5CAN_RXCAN Bus RX
PB13CAN_TXCAN Bus TX

U5 - Digital D0, D14-D20

A-Port (3.3V)B-Port (5V)Function
D0PB7Digital 0
D14PG14Digital 14
D15PC7Digital 15
D16PH13Digital 16
D17PI9Digital 17
D18PD5Digital 18
D19PD6Digital 19
D20PB11Digital 20

U6 - Digital Even D22-D36

A-Port (3.3V)B-Port (5V)Function
D22PJ12Digital 22
D24PG12Digital 24
D26PJ14Digital 26
D28PJ15Digital 28
D30PK3Digital 30
D32PK4Digital 32
D34PK5Digital 34
D36PK6Digital 36

U7 - Digital Odd D37-D51

A-Port (3.3V)B-Port (5V)Function
D37PJ6Digital 37
D39PI14Digital 39
D41PK7Digital 41
D43PI10Digital 43
D45PI13Digital 45
D47PB2Digital 47
D49PE4Digital 49
D51PE5Digital 51

U8 - Digital Odd D21-D35

A-Port (3.3V)B-Port (5V)Function
D21PH4Digital 21
D23PG13Digital 23
D25PJ0Digital 25
D27PJ1Digital 27
D29PJ2Digital 29
D31PJ3Digital 31
D33PJ4Digital 33
D35PJ5Digital 35

U9 - Digital Even D38-D52

A-Port (3.3V)B-Port (5V)Function
D38PJ7Digital 38
D40PE6Digital 40
D42PI15Digital 42
D44PG10Digital 44
D46PH15Digital 46
D48PK0Digital 48
D50PI11Digital 50
D52PK2Digital 52

DIR Control (J11)

The J11 header provides per-shifter direction control. Each pin corresponds to one SN74LVC8T245PW's DIR input. A 10K pull-down resistor on each DIR line defaults the direction to A-to-B (3.3V to 5V).

J11 PinSignalControls
1DIR_U1U1 (SCL/SDA/D9-D13)
2DIR_U2U2 (A0-A7)
3DIR_U3U3 (D1-D8)
4DIR_U4U4 (A8-A11/DAC/CAN)
5DIR_U5U5 (D0/D14-D20)
6DIR_U6U6 (Even D22-D36)
7DIR_U7U7 (Odd D37-D51)
8DIR_U8U8 (Odd D21-D35)
9DIR_U9U9 (Even D38-D52)
10GNDGround reference

To change a shifter's direction to B-to-A (5V to 3.3V), drive the corresponding J11 pin HIGH (3.3V). This is done by running jumper wires from available Giga GPIO pins to the J11 header. Software then controls direction by toggling those GPIOs.

Connectors

RefTypePinsLocationFunction
J11x88Bottom edgeGiga 3.3V analog header
J21x1010Top edgeGiga 3.3V header (power/analog ext)
J31x88Bottom edgeGiga 3.3V digital D1-D8
J41x88Top edgeGiga 3.3V digital SCL/SDA/D9-D13
J51x2626Bottom edge5V analog header (J_ANALOG)
J61x88Bottom edgeGiga 3.3V digital D0/D14-D20
J71x88Top edgeGiga 3.3V D21 + misc
J81x2626Top edge5V digital header (J_DIGITAL)
J92x1836Right side3.3V side connector (JSIDE)
J102x1836Right side5V side connector (JSIDE_5V)
J111x1010Center-leftDIR control header

Design Toolchain

The original board was designed in KiCad 9.0 (file version 20241229). Since pcb-rnd 3.1.4 cannot read KiCad 9.0 files (version too new), the board was rebuilt from scratch using a Python generator script.

Tools Used

ToolVersionPurpose
KiCad9.0.6Original design source, position/netlist reference
pcb-rnd3.1.4PCB format, DSN export, gerber/PNG export
Freerouting1.9.0Specctra-based autorouter
Python3.xBoard generator script (build_giga_shield.py)

Build Pipeline

  1. build_giga_shield.py generates giga_shield.pcb with all components placed, footprints defined, and netlist specified in pcb-rnd native format
  2. pcb-rnd exports the unrouted board to Specctra DSN format (giga_shield.dsn)
  3. Freerouting reads the DSN, autoroutes all nets, and outputs a Specctra session file (giga_shield.ses)
  4. ses_to_pcb.py imports the routed traces from the SES file back into the PCB
  5. pcb-rnd exports final gerbers, drill files, and photo-realistic PNG renderings

Key Implementation Details

  • Component positions were extracted from the original KiCad PCB and translated from KiCad's coordinate origin (x=106mm, y=30.5mm) to pcb-rnd's (0,0) origin using the kpos() function
  • All 1x pin headers are rotated 90 degrees to run horizontally along the board edges, matching the original KiCad layout (the Arduino Giga shield form factor has edge-parallel headers)
  • TSSOP-24 footprints are generated programmatically with correct 0.65mm pitch, 6.4mm pad-to-pad span
  • The SN74LVC8T245PW pin mapping was carefully verified against the datasheet: pins 1-12 on the left (DIR, A1-A4, GND, A5-A8, OE#, GND) and pins 13-24 on the right (B8-B5, VCCB, B4-B1, VCCA, VCCA, VCCB)
  • OE# (pin 11) is tied to GND on all shifters (always enabled)
  • Each shifter has two 0.1uF decoupling caps: one on VCCA (3.3V) and one on VCCB (5V)
  • An additional 9 decoupling caps are placed along the bottom edge for power rail filtering

SN74LVC8T245PW vs TXB0108PW

FeatureTXB0108PW (Original)SN74LVC8T245PW (New)
PackageTSSOP-20TSSOP-24
Channels88
DirectionAuto-sensingExplicit DIR pin
A-Port Voltage1.2V - 3.6V1.2V - 3.6V
B-Port Voltage1.65V - 5.5V1.65V - 5.5V
Max Data Rate100 Mbps380 Mbps
Tri-state HandlingUnreliableDeterministic
Output EnableOE (active low)OE# (active low)
Extra PinsNoneDIR control

Files

FileDescription
build_giga_shield.pyPython script that generates the entire PCB from scratch
giga_shield.pcbFinal routed PCB in pcb-rnd format
giga_shield.dsnSpecctra DSN export for autorouting
giga_shield.sesSpecctra session file with routing solution
giga_shield_bom.csvBill of materials
giga_shield_centroid.csvPick-and-place centroid file (SMD components)
giga_shield_gerbers.zipProduction files (gerbers + BOM + centroid)
giga_shield_top.pngPhoto-realistic top view rendering
giga_shield_bottom.pngPhoto-realistic bottom view rendering
sn74lvc8t245_pinout.txtSN74LVC8T245 pinout reference
kicad_source/Original KiCad 9.0 design files (reference)
kicad_source/AlexJ_bz_ArduinoGigaShield.kicad_pcbOriginal KiCad PCB
kicad_source/AlexJ_bz_ArduinoGigaShield.kicad_schOriginal KiCad schematic
kicad_source/AlexJ_bz_ArduinoGigaShield.pdfOriginal schematic PDF
kicad_source/giga_pos.csvComponent positions exported from KiCad
kicad_source/giga_netlist.d356IPC-D-356 netlist exported from KiCad

Board Renderings

Top

Top View

Bottom

Bottom View

Development Notes

This section documents the full development process, including toolchain issues, format debugging, and workarounds encountered during the redesign.

Starting Point

The original design (AlexJ_bz_ArduinoGigaShield.kicad_pcb) was created in KiCad 9.0 (internal file version 20241229) with 9x TXB0108PW auto-sensing level shifters. The goal was to convert this to pcb-rnd format, swap in SN74LVC8T245PW driven shifters, and produce a fully routed production board.

KiCad 9.0 to pcb-rnd Conversion Failure

pcb-rnd 3.1.4 includes an io_kicad plugin for reading KiCad files, but it only supports older KiCad versions. Attempting to open the KiCad 9.0 PCB produced:

text
unexpected layout version number (perhaps too new)

This was a hard blocker — there is no format converter from KiCad 9.0 to pcb-rnd.

Extracting Data from KiCad

Since direct conversion was impossible, component positions and netlist data were extracted from KiCad using available tools:

  1. Component positions were exported using kicad-cli:

    text
    kicad-cli pcb export pos AlexJ_bz_ArduinoGigaShield.kicad_pcb -o giga_pos.csv
  2. Netlist/connectivity was exported via IPC-D-356:

    text
    kicad-cli pcb export ipc2581 ... -o giga_netlist.d356
  3. Signal mappings (which Giga pin connects to which 5V header pin through which shifter) were extracted by parsing the KiCad schematic file (AlexJ_bz_ArduinoGigaShield.kicad_sch), which uses an s-expression format with positional net connections across hierarchical sheets.

Building the Board from Scratch

With positions and netlist in hand, build_giga_shield.py was written to generate the entire pcb-rnd board programmatically. This script:

  • Converts KiCad coordinates to pcb-rnd coordinates (KiCad origin at x=106mm, y=30.5mm; pcb-rnd at 0,0) using:
    python
    KX, KY = 106.0, 30.5
    def kpos(kx, ky):
        return (mm(kx - KX), mm(ky - KY))
  • Generates TSSOP-24 footprints for the SN74LVC8T245PW (0.65mm pitch, 6.4mm pad-to-pad span, 24 pins with correct pin naming)
  • Creates 0603 SMD footprints for decoupling caps and pull-down resistors
  • Creates through-hole pin header footprints with rotation support
  • Builds the complete netlist mapping all 72 signal channels across 9 shifters
  • Outputs a valid pcb-rnd .pcb file

pcb-rnd Format Debugging

Getting pcb-rnd to accept the generated file required solving several format issues. pcb-rnd's parser error messages were often unhelpful — errors in element definitions would sometimes be reported at a much later line (e.g., the outline layer starting at line 959).

Issue 1: Element "smd" flag

text
Element["smd" "TSSOP24" "U1" ...]

pcb-rnd rejected this with Unknown flag: smd ignored, which cascaded into a parse failure. The fix was to use an empty string for the first field:

text
Element["" "TSSOP24" "U1" ...]

Issue 2: Bare 0 without unit suffix

Mixed use of 0 and 0nm in coordinate values caused silent parse errors:

text
Pin[0 0 1700000nm ...]    # WRONG - bare 0
Pin[0nm 0nm 1700000nm ...]  # CORRECT

All zero values needed the explicit nm suffix for consistency.

Issue 3: Layer Line[] missing flags argument

The Line[] entry inside Layer blocks requires 7 fields, but the generator was only outputting 6 (omitting the flags string):

text
Line[x1 y1 x2 y2 thickness clearance]           # WRONG - 6 fields
Line[x1 y1 x2 y2 thickness clearance "clearline"]  # CORRECT - 7 fields

The error was syntax error, unexpected ']', expecting INTEGER or STRING, which appeared at the outline layer rather than at the actual problematic line.

Debugging technique: Binary search with file truncation

Since pcb-rnd always reported the error at the same line regardless of where the actual issue was, a binary search approach was used — progressively truncating the file with head -N to isolate which section introduced the parse failure:

text
head -100 giga_shield.pcb > test.pcb && pcb-rnd -x png test.pcb  # OK → mounting holes fine
head -300 giga_shield.pcb > test.pcb && pcb-rnd -x png test.pcb  # OK → connectors fine
head -500 giga_shield.pcb > test.pcb && pcb-rnd -x png test.pcb  # OK → shifters fine
head -700 giga_shield.pcb > test.pcb && pcb-rnd -x png test.pcb  # OK → all elements fine
head -960 giga_shield.pcb > test.pcb && pcb-rnd -x png test.pcb  # FAIL → layers are the problem

This narrowed the issue to the Layer blocks, where the missing flags argument was found.

Connector Rotation

The initial build placed all pin headers with pins extending downward (+Y). For the Arduino Giga shield form factor, the long 1x headers actually run horizontally along the board edges. Without rotation, J5 (1x26 at y=84mm) extended 63.5mm downward to y=148mm — well past the 90mm board edge. J11 (1x10 at y=75mm) similarly extended to y=98mm.

The fix involved:

  1. Extracting rotation angles from the original KiCad PCB — all 1x headers had 90° or -90° rotation
  2. Adding a rot parameter to pin_header_element() with a rotation transform:
    python
    def rotate(px, py):
        if rot == 90:     # KiCad 90° → pins extend in +X
            return (py, -px)
        elif rot == -90:  # KiCad -90° → pins extend in -X
            return (-py, px)
        return (px, py)
  3. Applying rotation to both pin coordinates and element outlines

After rotation, all connectors fit within the board:

  • J5 (1x26): x=[40.6, 104.1], y=84.2 — runs along the bottom edge
  • J8 (1x26): x=[39.0, 102.5], y=6.8 — runs along the top edge
  • J11 (1x10): x=[40.0, 62.9], y=75.0 — runs horizontally on the board

Remote Toolchain

pcb-rnd is not readily available on macOS. All pcb-rnd operations (DSN export, gerber generation, PNG rendering) were performed on a remote Linux machine via SSH:

bash
# Upload PCB
scp giga_shield.pcb alex@192.168.0.219:/tmp/

# Export DSN for autorouting
ssh alex@192.168.0.219 'cd /tmp && pcb-rnd -x dsn giga_shield.pcb'

# Export gerbers
ssh alex@192.168.0.219 'cd /tmp && pcb-rnd -x gerber giga_shield.pcb'

# Render photo-realistic PNG (600 DPI, green solder mask, gold plating)
ssh alex@192.168.0.219 'pcb-rnd -x png --dpi 600 --photo-mode --outfile top.png giga_shield.pcb'
ssh alex@192.168.0.219 'pcb-rnd -x png --dpi 600 --photo-mode --photo-flip-y --outfile bottom.png giga_shield.pcb'

# Download results
scp alex@192.168.0.219:/tmp/giga_shield.*.gbr .
scp alex@192.168.0.219:/tmp/top.png giga_shield_top.png

Autorouting Pipeline

The routing pipeline uses Specctra DSN/SES interchange format as the bridge between pcb-rnd and Freerouting:

text
giga_shield.pcb → [pcb-rnd DSN export] → giga_shield.dsn
                                               ↓
                                    [Freerouting autorouter]
                                         (~55 minutes)
                                               ↓
giga_shield.pcb ← [ses_to_pcb.py]  ← giga_shield.ses

Freerouting (v1.9.0) is a Java-based Specctra autorouter:

bash
java -jar freerouting-1.9.0.jar -de giga_shield.dsn -do giga_shield.ses -mp 60

The -mp 60 flag sets 60 optimization passes. A typical run takes ~55 minutes and produces optimized routing with ~1843 traces and ~158 vias.

ses_to_pcb.py parses the Freerouting SES output and injects Line[] entries (traces) and Via[] entries into the pcb-rnd PCB file's Layer blocks.

strip_traces.py removes all routed traces and autorouted vias from a PCB file, leaving only components and netlist — used to prepare for re-routing after component moves. It identifies autorouted vias by their 914400nm pad size (the default from ses_to_pcb.py).

Both helper scripts originate from the dual-z80 project.

Reproduction Steps

To rebuild the board from scratch:

bash
# 1. Generate the unrouted PCB
python3 build_giga_shield.py giga_shield.pcb

# 2. Export DSN (on a machine with pcb-rnd installed)
pcb-rnd -x dsn giga_shield.pcb

# 3. Run Freerouting (~55 minutes)
java -jar freerouting-1.9.0.jar -de giga_shield.dsn -do giga_shield.ses -mp 60

# 4. Import routes back into PCB
python3 ses_to_pcb.py giga_shield.ses giga_shield.pcb

# 5. Export gerbers
pcb-rnd -x gerber giga_shield.pcb

# 6. Render board images
pcb-rnd -x png --dpi 600 --photo-mode --outfile giga_shield_top.png giga_shield.pcb
pcb-rnd -x png --dpi 600 --photo-mode --photo-flip-y --outfile giga_shield_bottom.png giga_shield.pcb

To re-route after component changes:

bash
# Strip existing traces
python3 strip_traces.py giga_shield.pcb

# Then repeat steps 2-6 above

License

BSD 3-Clause License

Parts

64
QtyValueFootprintReferences
10.1uF0603_dup43C27
10.1uF0603_dup23C11
10.1uF0603_dup32C17
10.1uF0603_dup18C8
10.1uF0603_dup30C16
10.1uF0603_dup42C26
10.1uF0603_dup39C23
10.1uF0603_dup26C13
10.1uF0603_dup20C9
10.1uF0603_dup9C2
10.1uF0603_dup38C22
10.1uF0603C1
10.1uF0603_dup37C21
10.1uF0603_dup40C24
10.1uF0603_dup15C6
10.1uF0603_dup14C5
10.1uF0603_dup36C20
10.1uF0603_dup29C15
10.1uF0603_dup27C14
10.1uF0603_dup41C25
10.1uF0603_dup44C28
10.1uF0603_dup33C18
10.1uF0603_dup11C3
10.1uF0603_dup12C4
10.1uF0603_dup21C10
10.1uF0603_dup35C19
10.1uF0603_dup45C29
10.1uF0603_dup17C7
10.1uF0603_dup24C12
110K0603_dup47R2
110K0603_dup49R4
110K0603_dup52R7
110K0603_dup53R8
110K0603_dup50R5
110K0603_dup48R3
110K0603_dup46R1
110K0603_dup51R6
110K0603_dup55R10
110K0603_dup54R9
1Conn_01x08HEADER8_1J1
1Conn_01x08HEADER8_1_dup4J4
1Conn_01x08HEADER8_1_dup6J7
1Conn_01x08HEADER8_1_dup3J3
1Conn_01x08HEADER8_1_dup5J6
1Conn_01x10HEADER10_1J2
1DIR_CTRLHEADER11_1J11
1JSIDEHEADER36_2J9
1JSIDE_5VHEADER36_2_dup8J10
1J_ANALOGHEADER26_1J5
1J_DIGITALHEADER26_1_dup7J8
1SN74LVC8T245PWTSSOP24_dup16U4
1SN74LVC8T245PWTSSOP24_dup25U7
1SN74LVC8T245PWTSSOP24_dup28U8
1SN74LVC8T245PWTSSOP24_dup34U10
1SN74LVC8T245PWTSSOP24_dup19U5
1SN74LVC8T245PWTSSOP24_dup13U3
1SN74LVC8T245PWTSSOP24_dup22U6
1SN74LVC8T245PWTSSOP24_dup10U2
1SN74LVC8T245PWTSSOP24_dup31U9
1SN74LVC8T245PWTSSOP24U1
1unknownMountingHole_dup1H3
1unknownMountingHole_dup2H4
1unknownMountingHoleH1
1unknownMountingHole_dup0H2

More from ajokela/giga-shield

1
  • 2 layers155 × 90 mmAlexJ bz ArduinoGigaShield, the printed circuit board in 3D

    AlexJ bz ArduinoGigaShield

    ajokela/giga-shield

    Arduino Giga R1 WiFi Shield with SN74LVC8T245PW driven level shifters for Z80 RetroShield interfacing

    59 parts1BSD-3-Clause

Similar boards

  • 2 layers98 × 38 mmBldc control ver3, the printed circuit board in 3D

    Bldc control ver3

    pekkaroi/bldc-drive

    Cheap and simple brushless DC motor driver designed for CNC applications using STM32 microcontroller

    68 parts199GPL-2.0
  • 4 layers51.4 × 60.6 mmGb rp2040 cart, the printed circuit board in 3D

    Gb rp2040 cart

    deltabeard/DBGC

    A Game Boy cartridge using the Raspberry Pi RP2040 with RTC and MBC support.

    67 parts57
  • 6 layers69.6 × 46.1 mmCarrier, the printed circuit board in 3D

    Carrier

    KaiPereira/CM5-SODIMM-Carrier

    A fully open source CM5 carrier to turn your Pi into a Jetson in compact SO-DIMM format!

    98 parts29
  • 2 layers91.3 × 53.3 mmTimep, the printed circuit board in 3D

    Timep

    Matir/timep

    Test Interface for Multiple Embedded Protocols

    89 parts25Apache-2.0
  • 2 layers99.8 × 46.4 mmOmniSCC+, the printed circuit board in 3D

    OmniSCC+

    RBSC/OmniSCC

    OmniSCC catridge for MSX

    29 parts23GPL-3.0
  • 2 layers187 × 152 mmKiss masterboard, the printed circuit board in 3D

    Kiss masterboard

    squarewavedot/ledcubeelectronics

    LEDCube battery and masterboard electronics

    163 parts22
  • 4 layers214 × 142 mmNextCuboid quilter, the printed circuit board in 3D

    NextCuboid quilter

    mattuna15/68881-fpga

    Development of coprocessor.

    27 parts19MIT
  • 4 layers58.5 × 85.5 mmSr jv esp32, the printed circuit board in 3D

    Sr jv esp32

    connorzheng97/srjv

    SR-JV80 Programmable Expansion Card with ESP32 Wi-Fi

    84 parts18

Questions

How big is the Giga shield v03 final PCB?

It measures 154.5 × 89.5 mm and has 6 copper layers, 1.6 mm thick.

What parts does the Giga shield v03 final use?

64 parts, built around the SN74LVC8T245PW. 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 shield v03 final KiCad files?

From the ajokela/giga-shield repository on GitHub, at the commit this page was made from: the board is giga_shield_v03_final.kicad_pcb and its schematic benchmark/base/giga_shield_v04.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Giga shield v03 final design in my own project?

Its repository publishes it under the BSD-3-Clause licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).