

Batak
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
7CH340C
SOP-16-20℃~+70℃ 2Mbps 3.3V、5V 50uA 7mA Transceiver USB 2.0 SOP-16 USB Converters ROHSWCH (Nanjing Qinheng Microelectronics)USB ConvertersESP32-S3-WROOM-1-N8
SMD,25.5x18mm-40℃~+85℃ -98.2dBm 2.4GHz 20.5dBm 355mA 3V~3.6V 95mA Bluetooth5.0 ESP32-S3 Chip On-board PCB Antenna UART、SPI、I2C、I2S、USB SMD,25.5x18mm WiFi Modules ROHSEspressif SystemsWiFi ModulesXL1509-5.0
SOIC-8-40℃~+125℃ 1 150kHz 2A 2mA 4.5V~40V 5V Buck Buck Built-in Fixed No SOIC-8 DC-DC Converters ROHSUMWDC-DC ConvertersAZ1117CH-3.3TRG1
SOT-223-20℃~+125℃@(Tj) 0.003%Vout 1 1.2V@(800mA) 1.35A 10V 3.3V 4mA 70dB@(120Hz) Fixed Over Current Protection、Over Temperature Protection Positive SOT-223 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSDiodes IncorporatedVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsAO3400A
SOT-23-55℃~+150℃ 1 N-channel 1.45V 1.4W 30V 48mΩ@2.5V 5.7A 50pF 630pF 75pF 7nC@10V N-Channel SOT-23 MOSFETs ROHSAlpha & Omega SemiconductorMOSFETsAO3401A
SOT-231 P-Channel 14nC@10V 30V 47mΩ@10V、60mΩ@4.5V、85mΩ@2.5V 4A 55pF 645pF 80pF 900mV SOT-23 MOSFETs ROHSAlpha & Omega SemiconductorMOSFETsSS34
SMA(DO-214AC)-55℃~+125℃ 3A 40V 500uA@40V 550mV@3A Independent SMA(DO-214AC) Schottky Diodes ROHSMDDSchottky Diodes
README
README.mdPCBs
About
Central repository of all schematics and PCB design files.
| Folder | Project | Project Code |
|---|---|---|
| ail | Accumulator Indicator Light Logic | ail |
| ail-led | Accumulator Indicator Light Led | ail-led |
| batak | Batak Game (non-car) | batak |
| break-light | Rear Break Light | break-light |
| bspd | Brake System Plausibility Device | bspd |
| can-node | Voltage Reader and Broadcaster | can-node |
| curr-amp | Current Sensor Amplifier | curr-amp |
| dash | Dashboard | dash |
| discharge | Discharge Relay Breakout | discharge |
| hv-sense | High Voltage Sense | hvs |
| latching | Latch Circuit | latching |
| loom* | Loom Design | loom |
| lvbms | Low Voltage Battery Management System | lvbms |
| precharge | Precharge Controller | precharge |
| segment | Segment | segment |
| telemetry | On-Car Telemetry | telemetry |
| test-rig | PCB Test / Demo Rig | test |
| top-level* | Full Car Schematic | |
| trc | TSAC Relay Controller | trc |
| tsal | Tractive System Active Light | tsal |
| vcu | Vehicle Control Unit | vcu |
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 (
.stepfiles). - Simulation code (e.g.
.ascfiles 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-bakfiles). - 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 (
imagessubdirectory). - 3D models (
stepsubdirectory). - 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:
- Exported gerbers and drill files in a ZIP archive called
fabrication.zip. - Schematic sheets as a PDF (
Schematic.pdf). - Layout as a PDF in colour, with border and title block (
Layout.pdf). - 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:
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:
version: v1.0.1
date: 2023-01-23
fabrication: JLCPCBThe release folder for a project should then have the following structure and file names:
<PROJECT NAME>
├── Layout.pdf
├── Schematic.pdf
├── fabrication.zip
├── ibom.html
└── infoWhen 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:
git tag <PROJECT CODE>-<VERSION_NUMBER>Tagging should be done after merging to main! Example command:
git tag segment-v1.0.1To push tags to GitHub:
git push --tagsParts
176| Qty | Value | Footprint | References |
|---|---|---|---|
| 41 | 10k | Resistor_SMD:R_0603_1608Metric | R1, R2, R3, R10, R13, R14, R17, R18, R21, R22, R25, R26, R27, R28, R29, R30 +25 |
| 15 | 1k | Resistor_SMD:R_0603_1608Metric | R7, R11, R15, R19, R23, R36, R40, R44, R48, R52, R56, R60, R66, R67, R71 |
| 14 | Molex_KK-254 | Connector_Molex:Molex_KK-254_AE-6410-04A_1x04_P2.54mm_Vertical | J2, J3, J4, J5, J6, J7, J8, J9, J10, J11, J12, J13, J14, J17 |
| 13 | AO3400A | Package_TO_SOT_SMD:SOT-23 | Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10, Q11, Q12, Q13 |
| 13 | GREEN | LED_SMD:LED_0603_1608Metric | D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D14 |
| 12 | 0Ω | Resistor_SMD:R_0603_1608Metric | R8, R12, R16, R20, R24, R37, R41, R45, R49, R53, R57, R61 |
| 12 | BUTTON | Button_Switch_SMD:SW_Push_SPST_NO_Alps_SKRK | SW4, SW5, SW6, SW7, SW8, SW9, SW10, SW11, SW12, SW13, SW14, SW15 |
| 6 | 10uF | Capacitor_SMD:C_0603_1608Metric | C1, C3, C5, C8, C10, C11 |
| 4 | 5.1k | Resistor_SMD:R_0603_1608Metric | R68, R69, R73, R74 |
| 4 | MountingHole_Pad | MountingHole:MountingHole_2.2mm_M2_Pad_Via | H1, H2, H3, H4 |
| 3 | 100nF | Capacitor_SMD:C_0603_1608Metric | C2, C4, C6 |
| 2 | 100k | Resistor_SMD:R_0603_1608Metric | R63, R70 |
| 2 | AO3401A | Package_TO_SOT_SMD:SOT-23 | Q14, Q17 |
| 2 | MCP23017_SO | Package_SO:SOIC-28W_7.5x17.9mm_P1.27mm | U2, U3 |
| 2 | NPN | Package_TO_SOT_SMD:SOT-23 | Q15, Q16 |
| 2 | SN74AHCT245NSR | sufst-lib:NS20 | U7, U8 |
| 1 | +12V | TestPoint:TestPoint_Pad_D1.5mm | TP4 |
| 1 | +3V3 | TestPoint:TestPoint_Pad_D1.5mm | TP2 |
| 1 | +5V | TestPoint:TestPoint_Pad_D1.5mm | TP3 |
| 1 | 0S102011MS2QN1 | sufst-lib:0S102011MS2QN1 | SW1 |
| 1 | 180uF | Capacitor_THT:CP_Radial_D8.0mm_P3.50mm | C9 |
| 1 | 1N5817 | Diode_SMD:D_SOD-323F | D15 |
| 1 | 300k | sufst-lib:TRIM_3362P-1-304LF | RV1 |
| 1 | 470uF | Capacitor_THT:CP_Radial_D10.0mm_P5.00mm | C7 |
| 1 | 68uH | Inductor_SMD:L_Coilcraft_MSS1210-XXX | L1 |
| 1 | AZ1117CH-3.3TRG1 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U6 |
| 1 | BOOT | Button_Switch_SMD:SW_Push_SPST_NO_Alps_SKRK | SW16 |
| 1 | Buzzer | sufst-lib:CUI_CMI-1275-85T | BZ1 |
| 1 | CH340C | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U4 |
| 1 | Conn_02x08_Odd_Even | Connector_IDC:IDC-Header_2x08_P2.54mm_Vertical | J16 |
| 1 | EN | TestPoint:TestPoint_Pad_D1.5mm | TP6 |
| 1 | ESP32-S3-WROOM-1 | RF_Module:ESP32-S3-WROOM-1 | U1 |
| 1 | GAME_RESET | Button_Switch_SMD:SW_Push_SPST_NO_Alps_SKRK | SW2 |
| 1 | GAME_START | Button_Switch_SMD:SW_Push_SPST_NO_Alps_SKRK | SW3 |
| 1 | GND | TestPoint:TestPoint_Pad_D1.5mm | TP1 |
| 1 | IO0 | TestPoint:TestPoint_Pad_D1.5mm | TP5 |
| 1 | LOGO | sufst-lib:SUFST | G*** |
| 1 | RED | LED_SMD:LED_0603_1608Metric | D16 |
| 1 | RESET | Button_Switch_SMD:SW_Push_SPST_NO_Alps_SKRK | SW17 |
| 1 | SS34 | Diode_SMD:D_SMA | D17 |
| 1 | SolderJumper_3_Open | Jumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mm | JP1 |
| 1 | USB_C_Receptacle_USB2.0_16P | Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J15 |
| 1 | XL1509-5.0 | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U5 |
| 1 | XT60 | Connector_AMASS:AMASS_XT60PW-M_1x02_P7.20mm_Horizontal | J1 |
| 1 | YELLOW | LED_SMD:LED_0603_1608Metric | D13 |
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 mm

- 4 layers83.4 × 46.3 mm

- 4 layers58.5 × 57.5 mm

- 2 layers282 × 44 mm

- 4 layers52.1 × 67.8 mm

- 2 layers73 × 60.3 mm

- 2 layers235 × 73.6 mm

- 2 layers72 × 60.5 mm

- 4 layers69 × 68 mm

- 4 layers60 × 47.5 mm

- 2 layers150 × 20 mm

- 4 layers69.5 × 27.7 mm

Similar boards
- 2 layers98 × 56.3 mm

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 mm

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 mm

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 mm

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 mm

Opendiag
maximus64/opendiag-hardware
OpenDIAG - Open Source OBD2 Interface (Hardware)
148 parts5CERN-OHL-S-2.0 - 2 layers100 × 73.9 mm

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 - 2 layers193 × 110 mm

- 4 layers120 × 80 mm

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