Skip to the content
PCBKitNew board
2 layers93.9 × 84 mmBatak, the printed circuit board in 3D

Monorepo for all schematics and PCB designs

Size
93.9 × 84 mm
Copper layers
2
Thickness
1.6 mm
Parts
176
Nets
167
Pads
616
Tracks, vias
1,040, 71
Pours
18
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
4 Oct 2022
Updated
6 Aug 2026

Overview

Batak is an open-source printed circuit board by sufst, from the sufst/pcb repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 93.9 × 84 mm with 176 parts on 167 nets, routed with 1,040 tracks and 71 vias.

It is built around the CH340C, ESP32-S3-WROOM-1-N8 and XL1509-5.0, with the AZ1117CH-3.3TRG1, AO3400A and AO3401A among its other parts. Its parts include 74 resistors, 17 diodes, 17 transistors, 17 connectors and 17 switches. It belongs with the ESP32 boards of this library.

Main components

7

README

README.md

PCBs

About

Central repository of all schematics and PCB design files.

FolderProjectProject Code
ailAccumulator Indicator Light Logicail
ail-ledAccumulator Indicator Light Ledail-led
batakBatak Game (non-car)batak
break-lightRear Break Lightbreak-light
bspdBrake System Plausibility Devicebspd
can-nodeVoltage Reader and Broadcastercan-node
curr-ampCurrent Sensor Amplifiercurr-amp
dashDashboarddash
dischargeDischarge Relay Breakoutdischarge
hv-senseHigh Voltage Sensehvs
latchingLatch Circuitlatching
loom*Loom Designloom
lvbmsLow Voltage Battery Management Systemlvbms
prechargePrecharge Controllerprecharge
segmentSegmentsegment
telemetryOn-Car Telemetrytelemetry
test-rigPCB Test / Demo Rigtest
top-level*Full Car Schematic
trcTSAC Relay Controllertrc
tsalTractive System Active Lighttsal
vcuVehicle Control Unitvcu

We design our PCBs in KiCad (version 8+).

*Moved to https://github.com/sufst/loom

Version Control for KiCad Projects

Why?

  • Revert individual changes.
  • Document development history via commits and GitHub issues.
  • Easily view previous versions of designs.
  • Manage shared library of components.

Files

Files that should be in this repo, under version control:

  • Project files (.kicad_pro).
  • Schematic files (.kicad_sch).
  • PCB files (.kicad_pcb).
  • Custom footprints (.kicad_mod).
  • Custom symbols (.kicad_sym).
  • Footprint library tables (fp-lib-table).
  • Symbol library tables (sym-lib-table).
  • 3D models of components (.step files).
  • Simulation code (e.g. .asc files from LTSpice).

Files that should never be in here:

  • Exports such as BOMs, gerbers, netlists, renders, etc.
  • Local project settings (.kicad_prl).
  • Project backups (.zip files generated in <project name>-backups, .bak .bck -bak files).
  • Cache files (fp-info-cache).

The .gitignore should prevent the addition of files we don't want to keep in here, but before you commit make sure to do a quick check of what is actually being added.

Shared Resources

The common folder is used for resources which can be shared across multiple projects. This includes:

  • Images (images subdirectory).
  • 3D models (step subdirectory).
  • Custom symbols (sufst-lib.kicad_sym).
  • Custom footprints (sufst-lib.pretty).
  • SUFST standard sheet layout (sheet-layout.kicad_wks).

Note: Since projects were previously in their own individual repos, many designs still have their own libraries, step files, etc. These will gradually be migrated to the SUFST library.

Library Paths

When you configure the library paths for a project (sym-lib-table and fp-lib-table data), make sure to always use a path relative to the project with the ${KIPRJMOD} substitution.

  • Correct: ${KIPRJMOD}/../common/sufst-lib.kicad_sym
  • Incorrect: /Users/<your name>/Documents/sufst/pcb/common/sufst-lib.kicad_sym

If an absolute path is used, when someone else opens the project that path will not exist and the library paths will not be valid. -lib-table files should never contain an absolute path.

Git Limitations

It is not possible to resolve merge conflicts within individual design files, which is an unfortunate limitation of using git with KiCad. While KiCad files are in a text format, they aren't really designed to be edited manually. It is therefore essential that only one person is editing a particular file in a project at a time (including the shared library). Once someone starts working on a file, until it is merged into the main branch nobody else can edit that file. A good way to get round this is to use the "hierarchical sheets" feature to divide schematics into multiple files (if it can be done in a logical way).

Releases

Release Files

When a PCB is fabricated, a new 'release' for the given project should be created and stored within this repo in the releases/<PROJECT NAME> folder. This folder should contain the latest version (and ONLY the latest version) of the following files:

  1. Exported gerbers and drill files in a ZIP archive called fabrication.zip.
  2. Schematic sheets as a PDF (Schematic.pdf).
  3. Layout as a PDF in colour, with border and title block (Layout.pdf).
  4. HTML iBOM created using the "Interactive HTML BOM Plugin" (ibom.html).

Additionally, a file called info (no extension) should be created (if it doesn't already exist) containing release information in the following format:

txt
version: <VERSION NUMBER>
date: <RELEASE DATE>
fabrication: <COMPANY>

Version numbers should be in the format v1.0.1 and dates should be in the format YYYY-MM-DD. For example:

txt
version: v1.0.1
date: 2023-01-23
fabrication: JLCPCB

The release folder for a project should then have the following structure and file names:

txt
<PROJECT NAME>
├── Layout.pdf
├── Schematic.pdf
├── fabrication.zip
├── ibom.html
└── info

When creating a new release, make sure to overwrite/replace all the existing files.

Release Tag

The release commit should then be tagged with the following command:

sh
git tag <PROJECT CODE>-<VERSION_NUMBER>

Tagging should be done after merging to main! Example command:

sh
git tag segment-v1.0.1

To push tags to GitHub:

sh
git push --tags

Parts

176
QtyValueFootprintReferences
4110kResistor_SMD:R_0603_1608MetricR1, R2, R3, R10, R13, R14, R17, R18, R21, R22, R25, R26, R27, R28, R29, R30 +25
151kResistor_SMD:R_0603_1608MetricR7, R11, R15, R19, R23, R36, R40, R44, R48, R52, R56, R60, R66, R67, R71
14Molex_KK-254Connector_Molex:Molex_KK-254_AE-6410-04A_1x04_P2.54mm_VerticalJ2, J3, J4, J5, J6, J7, J8, J9, J10, J11, J12, J13, J14, J17
13AO3400APackage_TO_SOT_SMD:SOT-23Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10, Q11, Q12, Q13
13GREENLED_SMD:LED_0603_1608MetricD1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D14
120ΩResistor_SMD:R_0603_1608MetricR8, R12, R16, R20, R24, R37, R41, R45, R49, R53, R57, R61
12BUTTONButton_Switch_SMD:SW_Push_SPST_NO_Alps_SKRKSW4, SW5, SW6, SW7, SW8, SW9, SW10, SW11, SW12, SW13, SW14, SW15
610uFCapacitor_SMD:C_0603_1608MetricC1, C3, C5, C8, C10, C11
45.1kResistor_SMD:R_0603_1608MetricR68, R69, R73, R74
4MountingHole_PadMountingHole:MountingHole_2.2mm_M2_Pad_ViaH1, H2, H3, H4
3100nFCapacitor_SMD:C_0603_1608MetricC2, C4, C6
2100kResistor_SMD:R_0603_1608MetricR63, R70
2AO3401APackage_TO_SOT_SMD:SOT-23Q14, Q17
2MCP23017_SOPackage_SO:SOIC-28W_7.5x17.9mm_P1.27mmU2, U3
2NPNPackage_TO_SOT_SMD:SOT-23Q15, Q16
2SN74AHCT245NSRsufst-lib:NS20U7, U8
1+12VTestPoint:TestPoint_Pad_D1.5mmTP4
1+3V3TestPoint:TestPoint_Pad_D1.5mmTP2
1+5VTestPoint:TestPoint_Pad_D1.5mmTP3
10S102011MS2QN1sufst-lib:0S102011MS2QN1SW1
1180uFCapacitor_THT:CP_Radial_D8.0mm_P3.50mmC9
11N5817Diode_SMD:D_SOD-323FD15
1300ksufst-lib:TRIM_3362P-1-304LFRV1
1470uFCapacitor_THT:CP_Radial_D10.0mm_P5.00mmC7
168uHInductor_SMD:L_Coilcraft_MSS1210-XXXL1
1AZ1117CH-3.3TRG1Package_TO_SOT_SMD:SOT-223-3_TabPin2U6
1BOOTButton_Switch_SMD:SW_Push_SPST_NO_Alps_SKRKSW16
1Buzzersufst-lib:CUI_CMI-1275-85TBZ1
1CH340CPackage_SO:SOIC-16_3.9x9.9mm_P1.27mmU4
1Conn_02x08_Odd_EvenConnector_IDC:IDC-Header_2x08_P2.54mm_VerticalJ16
1ENTestPoint:TestPoint_Pad_D1.5mmTP6
1ESP32-S3-WROOM-1RF_Module:ESP32-S3-WROOM-1U1
1GAME_RESETButton_Switch_SMD:SW_Push_SPST_NO_Alps_SKRKSW2
1GAME_STARTButton_Switch_SMD:SW_Push_SPST_NO_Alps_SKRKSW3
1GNDTestPoint:TestPoint_Pad_D1.5mmTP1
1IO0TestPoint:TestPoint_Pad_D1.5mmTP5
1LOGOsufst-lib:SUFSTG***
1REDLED_SMD:LED_0603_1608MetricD16
1RESETButton_Switch_SMD:SW_Push_SPST_NO_Alps_SKRKSW17
1SS34Diode_SMD:D_SMAD17
1SolderJumper_3_OpenJumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mmJP1
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ15
1XL1509-5.0Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU5
1XT60Connector_AMASS:AMASS_XT60PW-M_1x02_P7.20mm_HorizontalJ1
1YELLOWLED_SMD:LED_0603_1608MetricD13

Questions

How big is the Batak PCB?

It measures 93.9 × 84 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Batak use?

176 parts, built around the CH340C, ESP32-S3-WROOM-1-N8, XL1509-5.0 and AZ1117CH-3.3TRG1. 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 Batak KiCad files?

From the sufst/pcb repository on GitHub, at the commit this page was made from: the board is batak/batak.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Batak design in my own project?

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

More from sufst/pcb

12
  • 4 layers194.3 × 92.8 mmVcu, the printed circuit board in 3D

    Vcu

    sufst/pcb

    Monorepo for all schematics and PCB designs

    212 parts19GPL-3.0
  • 4 layers83.4 × 46.3 mm16Ch Sensor Hub, the printed circuit board in 3D

    16Ch Sensor Hub

    sufst/pcb

    Monorepo for all schematics and PCB designs

    173 parts19GPL-3.0
  • 4 layers58.5 × 57.5 mm8Ch Sensor Hub, the printed circuit board in 3D

    8Ch Sensor Hub

    sufst/pcb

    Monorepo for all schematics and PCB designs

    114 parts19GPL-3.0
  • 2 layers282 × 44 mmTem, the printed circuit board in 3D

    Tem

    sufst/pcb

    Monorepo for all schematics and PCB designs

    104 parts19GPL-3.0
  • 4 layers52.1 × 67.8 mmSensor board, the printed circuit board in 3D

    Sensor board

    sufst/pcb

    Monorepo for all schematics and PCB designs

    97 parts19GPL-3.0
  • 2 layers73 × 60.3 mmTsal, the printed circuit board in 3D

    Tsal

    sufst/pcb

    Monorepo for all schematics and PCB designs

    97 parts19GPL-3.0
  • 2 layers235 × 73.6 mmDash PCB, the printed circuit board in 3D

    Dash PCB

    sufst/pcb

    Monorepo for all schematics and PCB designs

    97 parts19GPL-3.0
  • 2 layers72 × 60.5 mmCan node, the printed circuit board in 3D

    Can node

    sufst/pcb

    Monorepo for all schematics and PCB designs

    93 parts19GPL-3.0
  • 4 layers60 × 47.5 mmBSPD, the printed circuit board in 3D

    BSPD

    sufst/pcb

    Monorepo for all schematics and PCB designs

    73 parts19GPL-3.0
  • 2 layers150 × 20 mmBrake light, the printed circuit board in 3D

    Brake light

    sufst/pcb

    Monorepo for all schematics and PCB designs

    67 parts19GPL-3.0
  • 4 layers69.5 × 27.7 mmCan repeater, the printed circuit board in 3D

    Can repeater

    sufst/pcb

    Monorepo for all schematics and PCB designs

    66 parts19GPL-3.0

Similar boards

  • 2 layers98 × 56.3 mmESP32 HUB, the printed circuit board in 3D

    ESP32 HUB

    ANSHUMANDOCX/ESP32-Touch-Hub

    This is a Esp32 Hub that has a 3.5 inch tft touch screen

    77 parts
  • 2 layers35 × 100 mmWalkieTalkie, the printed circuit board in 3D

    WalkieTalkie

    GuzziFlipFlops/ESP32-Walkie-Talkie

    An open source ESPNOW based walkie talkie with a 600 meter tested distance, with an OLED and multiple buttons to interact with

    66 parts7MIT
  • 2 layers100 × 85 mmESP32 MediaCarrier routed, the printed circuit board in 3D

    ESP32 MediaCarrier routed

    xmyoot/esp32-media-carrier

    ESP32 multimedia carrier board with 7–24 V DC buck regulator, 3.2 W Class-D I2S audio amp, WS2812 LED ring driver, and SPI TFT display header

    97 partsMIT
  • 4 layers80 × 106 mmNodeHardware, the printed circuit board in 3D

    NodeHardware

    AleksaHeler/FlexNode

    FlexNode is a DIY "smart home" system with a single hub and multiple flexible and customizable nodes

    220 partsGPL-3.0
  • 2 layers37 × 70.9 mmOpendiag, the printed circuit board in 3D

    Opendiag

    maximus64/opendiag-hardware

    OpenDIAG - Open Source OBD2 Interface (Hardware)

    148 parts5CERN-OHL-S-2.0
  • 2 layers100 × 73.9 mmSecurity Alarm Panel, the printed circuit board in 3D

    Security Alarm Panel

    Matyas604/Security-Alarm-Panel

    Home Assistant Smart Home Alarm Control Panel with fingerprint reader, NFC/RFID card reader, motion radar, and touchscreen TFT display. It can control your smart home, not just your home security system.

    132 parts1GPL-3.0
  • 4 layers120 × 80 mmBrain, the printed circuit board in 3D

    Brain

    etiennechlt/electronic-chess

    Générée par tools/boardgen (module power). 100 x 60 mm, 2 couches, plan de masse en face arrière. Elle gère trois cellules plates 1S 5 Ah.

    113 parts