Skip to the content
PCBKitNew board
2 layers65 × 56 mmAlfa pi3-shield, the printed circuit board in 3D

Alfa pi3-shield

hvitis/Alfa1

Urządzenie do uczenia dzieci alfabetu. Zawiera oprogramowanie, połączenie części i projekt budowy do druku 3D.

Size
65 × 56 mm
Copper layers
2
Thickness
1.6 mm
Parts
22
Nets
20
Pads
108
Tracks, vias
223, 5
Pours
2
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
11 Oct 2026
Updated
1 Nov 2026

Overview

Alfa pi3-shield is an open-source printed circuit board by hvitis, from the hvitis/Alfa repository on GitHub. It is a 2-layer board of 65 × 56 mm with 22 parts on 20 nets, routed with 223 tracks and 5 vias.

It is built around the ADS1115IDGSR and MAX98357AETE+T. Its parts include 4 capacitors, 4 resistors, 4 connectors and 2 ICs. It belongs with the RP2040 boards of this library.

Main components

2

README

design/pi3-shield/README.md

Alfa Raspberry Pi 3 shield — prototype A

This is an integrated shield for the current Raspberry Pi 3 Model B application. The shield replaces the ADC breakout, amplifier breakout, divider perfboard, and their jumper wires. The LCD, five-button keypad, speaker, power bank, and Raspberry Pi remain separate parts. Three short cables connect the LCD, keypad, and speaker to the shield.

Status: engineering prototype for review and quotation. Physical hardware tests are pending. The 3D view shows the actual PCB export, with a simplified Pi and underside socket. Open http://127.0.0.1:8000/#hardware and select Raspi 3 PCB, the third controller option.

Board and assembly

ItemSpecification
Outline65 × 56 mm, 3 mm corner radii
PCBTwo copper layers, FR-4, 1.6 mm, proposed 35 µm copper
MountingFour 2.75 mm unplated holes, 58 × 49 mm centers, M2.5 hardware
Raspberry Pi connectionJ1, 40-pin female socket on the underside
Factory SMT assemblyU1/U2, R1–R4, C1–C4, all on the top
Through-hole assemblyJ1 underside, J2/J3/J4 top; request hand assembly from the supplier
PowerExisting Pi micro-USB input only; the shield draws 5 V and 3.3 V through J1
Board identificationNo EEPROM; this is an add-on shield, not a complete HAT implementation

The proposed socket is Samtec SSQ-120-01-G-D, with 2.64 mm solder tails. The socket body is approximately 8.51 mm high. The preview uses an approximately 11 mm gap between the Pi top and shield underside. The final socket engagement and spacer length require a physical fit check. The socket, standoffs, and Pi header must fit without bending either board. The Pi USB and Ethernet housings extend beyond the shield's right edge. Camera and DSI cable cutouts are omitted because this application does not use those interfaces.

Integrated circuits

U1: ADS1115IDGSR, VSSOP-10, runs from 3.3 V. ADDR connects to ground for address 0x48. The keypad uses AIN0. Unused analog inputs connect to ground. ALERT/RDY remains unconnected. The Pi supplies the I²C pull-ups. The shield adds no parallel pull-ups. The selected part matches the repository's ads1115 configuration.

U2: MAX98357AETE+T, 16-pin TQFN with exposed pad, runs from 5 V. The A variant accepts the existing I²S stream. GAIN_SLOT remains unconnected for 9 dB gain. GPIO23 reaches SD_MODE through R3, a 1 kΩ resistor. R4, 100 kΩ to ground, keeps the amplifier off until GPIO23 rises. A high level selects the left audio channel, as the current application expects. This circuit has no 5 V pull-up on the GPIO control signal.

R1 and R2 are 10 kΩ, 1% parts. They divide a nominal 5 V keypad output to approximately 2.5 V at AIN0. The keypad's internal resistors affect the actual levels, so final calibration remains necessary. C1 decouples the ADC. C2/C3 decouple the amplifier, and C4 provides local supply capacitance. The ceramic capacitors lose capacitance under DC bias. Hardware tests must cover supply dips during loud audio.

Connectors and cables

The PCB connectors are keyed JST PH, 2.00 mm pitch. They do not directly accept existing 2.54 mm Dupont sockets. An assembler can supply the three harnesses, with loose or soldered ends for the existing modules. The numbers in the assembly drawings identify pin 1. The connector latch defines mating orientation.

ConnectorPins, in numerical orderMatching housing
J2 LCD1=3V3, 2=GND, 3=DIN, 4=CLK, 5=CS, 6=DC, 7=RST, 8=BLPHR-8
J3 speaker1=SPK+, 2=SPK−PHR-2
J4 keypad1=OUT, 2=5V, 3=GNDPHR-3

JST SPH-002T-P0.5S contacts suit the proposed PH housings and appropriate small-gauge wires. Use the manufacturer's wire and crimp specifications when selecting the harness wire. The LCD cable must map to the module's printed labels. Its existing connector order is not assumed. The existing keypad order is OUT, VCC, GND, as recorded in the repository photos. Neither speaker terminal connects to ground. The 5 V keypad signal reaches the ADC only through R1/R2.

Existing Pi software

The shield keeps these physical header assignments:

FunctionPhysical Pi pinBCM GPIO
ADC SDA / SCL3 / 52 / 3
Audio BCLK / LRCLK / DIN12 / 35 / 4018 / 19 / 21
Amplifier enable1623
LCD DIN / CLK / CS19 / 23 / 2410 / 11 / 8
LCD DC / RESET / backlight22 / 13 / 1825 / 27 / 24

The current config.json already matches these assignments. The existing dtoverlay=max98357a,no-sdmode setting remains applicable. The Python app controls amplifier sleep through GPIO23. The earlier wiring table leaves the breakout SD pin open. The later sleep section adds GPIO23. This shield implements the later sleep circuit directly.

Files for a manufacturer

Run make pcb from the repository root. The generated files are in design/pi3-shield/generated/. The editable KiCad project, local libraries, and package STEP models remain in this source folder.

  • alfa-pi3-shield.kicad_pro, .kicad_sch, .kicad_pcb: editable KiCad 9 project.
  • Alfa.kicad_sym, Alfa.pretty, and library tables: local symbols and underside socket footprint.
  • generated/fabrication-draft.zip: Gerber layers, board outline, plated and unplated Excellon drills, and drill maps.
  • bom.csv: manufacturer part numbers and assembly sides.
  • placement.csv: SMT parts only, millimeters, origin at the PCB lower-left corner, positive Y upward.
  • assembly-top.pdf, assembly-bottom.pdf: assembly reference and connector orientation.
  • schematic.pdf: electrical design.
  • shield.step, shield.glb: mechanical and browser models.
  • erc.rpt, drc.rpt, verification.json: digital check results.

The placement origin is (100,156) in the KiCad editor's absolute coordinates. The Gerbers, drill files, and placement file use this same lower-left origin. The assembler must review rotations against the component pin-1 marks. Through-hole connectors require the drawings and BOM rather than the SMT placement file. The BOM proposes exact parts. Supplier availability and substitutions require review during quotation.

The amplifier exposed pad connects to ground through a 0.3 mm thermal via. Ask the assembler to review solder-paste coverage and via wicking for the exposed pad. The board has no battery charger, external power input, or added power switching. The existing power bank and inline switch continue to supply the Pi.

Physical checks before ordering a batch

  1. Print the assembly drawing at actual size.
  2. Compare the shield holes and header against the real Pi 3.
  3. Select the socket and matching M2.5 spacers.
  4. Check connector height, cable bends, enclosure clearance, and access to the Pi ports.
  5. Ask the assembler to review IC packages, pin orientation, exposed-pad soldering, and harness pin order.
  6. Order a small prototype batch.

First hardware test

  1. Keep the shield disconnected from the Pi during the initial resistance inspection.
  2. Check for shorts between 5 V, 3.3 V, and ground.
  3. Check the three harnesses against the connector table.
  4. Connect the shield with the Pi power disconnected.
  5. Supply power through the Pi micro-USB input.
  6. Check TP1 for 5 V and TP2 for 3.3 V, relative to TP3 ground.
  7. Run the repository's hardware checks and LCD test.
  8. Check ADC address 0x48 and calibrate every keypad button.
  9. Play audio at low volume before increasing it to the existing application limit.
  10. Check supply voltage, Pi undervoltage reports, amplifier temperature, and Pi temperature during combined display and audio operation.
  11. Check GPIO23 sleep, wake, repeated cold starts, and the physical switch.

No physical fit, electrical, acoustic, thermal, or enclosure test is complete at this revision. Digital checks establish connectivity and layout constraints. They do not establish hardware performance.

Refresh before staging

Run make prepare-commit from the repository root. This command regenerates PCB exports, rebuilds the static website, and checks the export hashes. It does not stage, commit, or stash any files. The generated manufacturing files and website models are ignored by Git.

make pcb refreshes only the PCB exports. It requires a running Docker daemon. make pcb-check checks the source and output hashes without Docker or KiCad. make site and make dev regenerate missing or stale PCB exports before loading the website. They never silently reuse an export after its PCB source changes.

GitHub Actions can generate these files on its Linux runner. The reusable pcb.yml workflow runs the same pinned container and uploads all exports as an artifact. The website and release workflows download that artifact from the same commit before building. The workflow retains the editable routed PCB. It does not autoroute the circuit during each publication. The two package STEP files are source assets, like the footprint libraries. FreeCAD is only needed when changing those package models.

Rebuild the circuit layout

The files were generated with KiCad 9.0.9, Freerouting 1.9.0, and FreeCAD. The KiCad image is kicad/kicad:9.0-full, digest sha256:f7d67c2bfff3733b84d5ef9b47eff152a69c1cd7ac1f8060bcc1d98a857a8913. The image uses x86-64 emulation on Apple Silicon.

  1. Run python3 build.py with KiCad's pcbnew module available.
  2. Route alfa-pi3-shield.dsn with Freerouting and save alfa-pi3-shield.ses.
  3. Run python3 build.py --finish.
  4. Run build_models.py with FreeCAD's Python interpreter and library path.
  5. Run make pcb from the repository root to export and check the finished design.

The normal export command never modifies the editable source files. It runs KiCad on temporary copies and publishes the generated snapshot only after the checks pass. The source and output SHA-256 hashes are stored in generated/manifest.json. The website rejects changed, missing, or mixed snapshots.

For example, mount this folder at /work in the pinned KiCad image. Use docker run --rm --platform linux/amd64 -v "$PWD:/work" -w /work --entrypoint python3 kicad/kicad:9.0-full build.py. Freerouting accepts -de alfa-pi3-shield.dsn -do alfa-pi3-shield.ses -mp 40 -mt 1 -da -dct 0. The router completes signal connections. The generator preserves the fine-pitch amplifier escapes and repairs the adjacent VDD connection.

Sources

Standard footprints and most package models come from KiCad's installed libraries. The ADS1115 and MAX98357A STEP models are package envelopes generated by build_models.py.

Parts

22
QtyValueFootprintReferences
4MountingHole_2.7mm_M2.5MountingHole_2.7mm_M2.5H1, H2, H3, H4
2100nF 50V X7RC_0805_2012MetricC1, C2
210k 1%R_0805_2012MetricR1, R2
1+3V3TestPoint_Pad_D1.5mmTP2
1+5VTestPoint_Pad_D1.5mmTP1
1100k 1%R_0805_2012MetricR4
110uF 10V X7RC_1206_3216MetricC3
11k 1%R_0805_2012MetricR3
147uF 10V X5RC_1210_3225MetricC4
1ADS1115IDGSRVSSOP-10_3x3mm_P0.5mmU1
1GNDTestPoint_Pad_D1.5mmTP3
1JST PH 2JST_PH_B2B-PH-K_1x02_P2.00mm_VerticalJ3
1JST PH 3JST_PH_B3B-PH-K_1x03_P2.00mm_VerticalJ4
1JST PH 8JST_PH_B8B-PH-K_1x08_P2.00mm_VerticalJ2
1KEY_SENSETestPoint_Pad_D1.5mmTP4
1MAX98357AETE+TTQFN-16-1EP_3x3mm_P0.5mm_EP1.23x1.23mmU2
1Pi 3 underside socketAlfa:Pi_40_UndersideJ1

Questions

How big is the Alfa pi3-shield PCB?

It measures 65 × 56 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Alfa pi3-shield use?

22 parts, built around the ADS1115IDGSR and MAX98357AETE+T. 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 Alfa pi3-shield KiCad files?

From the hvitis/Alfa repository on GitHub, at the commit this page was made from: the board is design/pi3-shield/alfa-pi3-shield.kicad_pcb and its schematic design/pi3-shield/alfa-pi3-shield.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Alfa pi3-shield design in my own project?

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

Similar boards

  • 4 layers76 × 62 mmCarrier, the printed circuit board in 3D

    Carrier

    FahimAhmad-BD/duccky

    Production intent digital twin of a 28 cm, 15 DOF bipedal duck robot

    121 parts
  • 4 layers118 × 117 mmCm4-robot, the printed circuit board in 3D

    Cm4-robot

    Twisted-Fields/acorn-robot-electronics

    PCB hardware designs in KICAD for Acorn, the precision farming rover from Twisted Fields.

    268 parts81
  • 4 layers106 × 63.5 mmBrineomatic, the printed circuit board in 3D

    Brineomatic

    hoeken/brineomatic

    Open Source Watermaker Controller.

    323 parts47LGPL-2.1
  • 2 layers42.8 × 86.2 mmPowerTiger, the printed circuit board in 3D

    PowerTiger

    codetiger/PowerTiger

    Home power monitoring system - Monitoring energy consumption with better granularity

    55 parts19MIT
  • 2 layers91.3 × 57.5 mmThermEX26, the printed circuit board in 3D

    ThermEX26

    comradef191/ThermEX

    OSHW Thermistor expansion board for Klipper

    113 parts17CERN-OHL-S-2.0
  • 4 layers103.5 × 90.6 mmEVE PCB V4, the printed circuit board in 3D

    EVE PCB V4

    vishhvaan/eve-pi

    The EVolutionary biorEactor (EVE)

    102 parts15MIT
  • 4 layers154.5 × 112.9 mmLibrePLC32, the printed circuit board in 3D

    LibrePLC32

    AndreiVladescu/LibrePLC32

    The goal of the project is to create a compact, hackable, and well-documented PLC platform for industrial automation experiments, prototyping, education, and open hardware development.

    295 parts14CERN-OHL-P-2.0
  • 4 layers100 × 82 mmEMBARCADOS CURSO PCB, the printed circuit board in 3D

    EMBARCADOS CURSO PCB

    andremdaraujo/EMBARCADOS-CURSO-PCB

    Projeto desenvolvido durante o curso Projeto de PCB para Sistemas Embarcados

    175 parts9