Connectors & Pinout

Connector reference for the BattleCore Headset Mainboard — pin assignments, voltages, and intended use for each port.

The Headset Mainboard is built around an ESP32-S3 module, so every logic signal is 3.3 V. Inputs are not 5 V tolerant — never drive a signal pin above 3.3 V. Power comes from a battery pack (or USB-C) and is stepped down on-board to the 5 V and 3.3 V rails, gated by a soft-power latch so the board can power itself down in software.

Each connector below includes a live view of the actual board layout, centred on that port. Use the mouse wheel to zoom out for context (where the connector sits on the whole PCB) or in for detail, and drag to pan. Hover or tap a pad to highlight it in the pin table, and vice-versa.

Power Rails

RailVoltageSourceUsed by
VBAT_RAWBatteryBattery pack (J1)Raw battery, into the polyfuse and soft-power load switch.
VBAT_5V5 VOn-board battery buck regulator (from switched VBAT)Battery-derived 5 V — one input to the source-select jumper.
USB_5V5 VUSB-C VBUS (via resettable polyfuse)USB-derived 5 V — the other input to the source-select jumper.
PWR_5V5 VJ_PWR_SEL jumper (battery buck or USB VBUS)System 5 V rail — sensor modules, RGB, IR emitters.
PWR_3V33.3 VOn-board 3.3 V buck regulator (from PWR_5V)ESP32-S3 and all logic / I²C peripherals.
PWR_GNDGND · 0 VCommon ground reference for the whole board.

Sensor Modules

The four SENSOR ports are identical and cover the four zones of the headband. Each one bundles three functions on a single 5-pin cable: an IR receiver (IR_IN) for detecting incoming shots, an IR emitter (IR_SEND), switched by an on-board MOSFET, and an addressable RGB data line (RGB_M) for that zone’s lighting.

Power Connectors

Battery Input

J1

3-pin · 1.5 mm pitch · SMT

Connector: JST ZH B3B-ZR-SM4-TF

Main battery input. Connect battery positive to pin 1 (VBAT_RAW) and battery negative to pin 2. Pin 3 is a temperature-sense input for the pack's NTC thermistor. The raw battery feeds an in-line polyfuse and the soft-power load switch (a P-channel MOSFET gated by the on-board power controller) before reaching the 5 V buck regulator. Battery voltage must sit above ~5.5 V (e.g. a 2S Li-ion pack) since the on-board regulator is a step-down (buck) converter.

Observe polarity — pin 1 is battery positive and pin 2 is ground. Keep the pack voltage above ~5.5 V (the regulator is a step-down) and within the regulator's rated input voltage. The pack feeds the board through a polyfuse and load switch, but do not rely on these for sustained reverse-polarity protection; connecting the pack backwards can still damage the power circuitry.

SENSOR1SENSOR2SENSOR3SENSOR4J1MP_USBDISPLAYPWR_SWITCH1H2J_PWR_SEL12345

Location on the PCB (top view). Scroll to zoom, drag to pan; the highlighted port is J1. Hover or tap a pad to link it to the table. = pin 1

PinSignalVoltageNotes
1VBAT_RAWBatteryBattery positive input — feeds the polyfuse and soft-power load switch.
2PWR_GNDGND · 0 VBattery negative / system ground.
3BAT_TEMP3.3 V logicPack NTC thermistor sense (analog) for battery temperature monitoring.

Pins 4 & 5 are SMT mounting tabs tied to GND for mechanical retention.

Power / Select Button

PWR_SWITCH1

2-pin · 2.54 mm pitch · through-hole

Connector: 2.54 mm header (PZ254)

A single momentary push-button drives the board's soft-power system (an on-board LTC2954 latch controller). It is multi-function: pressing it while the board is off powers it up and the latch holds the battery load switch on; while the board is running, each press is reported to the MCU (over the controller's interrupt line) so firmware can use it as a select / mode button; and pressing and holding it powers the board off. Wire a normally-open momentary push-button between the two pins — not a latching/toggle switch.

SENSOR1SENSOR2SENSOR3SENSOR4J1MP_USBDISPLAYPWR_SWITCH1H2J_PWR_SEL12

Location on the PCB (top view). Scroll to zoom, drag to pan; the highlighted port is PWR_SWITCH1. Hover or tap a pad to link it to the table. = pin 1

PinSignalVoltageNotes
1SW_NODE3.3 V logicPush-button input to the LTC2954 power controller (internally pulled up). One short press powers on or registers a select action; a press-and-hold powers off.
2PWR_GNDGND · 0 VGround — the other side of the button.

5 V Source Select

J_PWR_SEL

3-pin · 2.54 mm pitch · jumper

Connector: 2.54 mm header (PZ254)

Selects what feeds the board's 5 V system rail (PWR_5V, pin 2 — the common centre pin). Jumper pin 2 to pin 1 to run the board from the battery's 5 V buck regulator, or pin 2 to pin 3 to run it from USB VBUS. The 3.3 V regulator is derived from PWR_5V, so this jumper controls the entire logic supply.

Only ever bridge the centre pin (PWR_5V) to one side. Never link VBAT_5V (pin 1) and USB_5V (pin 3) together — that ties the battery's 5 V regulator directly to USB VBUS, back-feeding one source into the other and risking damage to the regulator, the USB host, or the battery circuitry.

SENSOR1SENSOR2SENSOR3SENSOR4J1MP_USBDISPLAYPWR_SWITCH1H2J_PWR_SEL321

Location on the PCB (top view). Scroll to zoom, drag to pan; the highlighted port is J_PWR_SEL. Hover or tap a pad to link it to the table. = pin 1

PinSignalVoltageNotes
1VBAT_5V5 V5 V from the on-board battery buck regulator.
2PWR_5V5 VSystem 5 V rail (common) — feeds the 3.3 V regulator and 5 V peripherals.
3USB_5V5 V5 V from USB VBUS, via a resettable polyfuse.

USB-C (Power & Programming)

MP_USB

USB 2.0 · 5 V VBUS · SMT

Connector: USB-C 16-pin (USB4085-GF-A)

USB-C port for bus power, flashing firmware, and the serial console. There is no on-board battery charger — VBUS only powers the board (when selected on J_PWR_SEL) and never charges the battery. VBUS reaches the 5 V source-select via a resettable polyfuse; the D+/D- pair runs through an ESD-protection device to the ESP32-S3's native USB. CC1/CC2 provide USB-C orientation/attach detection. Both A- and B-side contacts are bonded so the cable works either way up.

SENSOR1SENSOR2SENSOR3SENSOR4J1MP_USBDISPLAYPWR_SWITCH1H2J_PWR_SELA5A1A4A6A7A8A9A12B12B9B8B7B6B5B4B1S1

Location on the PCB (top view). Scroll to zoom, drag to pan; the highlighted port is MP_USB. Hover or tap a pad to link it to the table. = pin 1

PinSignalVoltageNotes
A4MP_USB_VBUS5 VBus power (5 V) — joined with A9/B4/B9, fed to the polyfuse.
A5MP_USB_CC13.3 V logicConfiguration channel 1 (orientation / attach detect).
A6MP_USB_DP3.3 V logicUSB data + (via ESD protection to the MCU).
A7MP_USB_DM3.3 V logicUSB data − (via ESD protection to the MCU).
B5MP_USB_CC23.3 V logicConfiguration channel 2 (orientation / attach detect).
A1PWR_GNDGND · 0 VGround — joined with A12/B1/B12 and the shield.

Mirror contacts (A9/B4/B9 = VBUS, B6/B7 = D+/D−, A12/B1/B12 = GND) and the shell tab (S1) are bonded to the same nets for reversible-cable operation.

Sensor & Light Modules

Sensor / Light Module 1

SENSOR1

5-pin · 1.5 mm pitch · SMT

Connector: JST ZH B5B-ZR-SM4-TFT

Combined hit-sensor and lighting module for headband zone 1. Each module carries 5 V power, an addressable RGB data line for that zone's LEDs, an IR receiver input for detecting incoming shots, and an IR emitter drive line. The IR emitter line (IR_SEND1) is the switched low-side output of an on-board N-channel MOSFET — the module's IR LED connects between the 5 V rail and this pin, and the MOSFET (driven by the MCU's IR_OUT1 GPIO) pulses it.

SENSOR1SENSOR2SENSOR3SENSOR4J1MP_USBDISPLAYPWR_SWITCH1H2J_PWR_SEL1234567

Location on the PCB (top view). Scroll to zoom, drag to pan; the highlighted port is SENSOR1. Hover or tap a pad to link it to the table. = pin 1

PinSignalVoltageNotes
1PWR_5V5 VModule supply (5 V) for the IR emitter and RGB LEDs.
2RGB_M13.3 V logicAddressable RGB (WS2812-style) data out for this zone (3.3 V logic).
3PWR_GNDGND · 0 VGround.
4IR_IN13.3 V logicIR receiver output — incoming-shot detection input to the MCU. Active-low, open-collector at the sensor module; there is no external pull-up, so enable the GPIO's internal pull-up (idles high, pulls low on a hit).
5IR_SEND13.3 V logicIR emitter drive — switched low-side MOSFET output; sinks the module's IR LED to ground when pulsed.

Pins 6 & 7 are SMT mounting tabs tied to GND for mechanical retention.

Sensor / Light Module 2

SENSOR2

5-pin · 1.5 mm pitch · SMT

Connector: JST ZH B5B-ZR-SM4-TFT

Combined hit-sensor and lighting module for headband zone 2. Each module carries 5 V power, an addressable RGB data line for that zone's LEDs, an IR receiver input for detecting incoming shots, and an IR emitter drive line. The IR emitter line (IR_SEND2) is the switched low-side output of an on-board N-channel MOSFET — the module's IR LED connects between the 5 V rail and this pin, and the MOSFET (driven by the MCU's IR_OUT2 GPIO) pulses it.

SENSOR1SENSOR2SENSOR3SENSOR4J1MP_USBDISPLAYPWR_SWITCH1H2J_PWR_SEL1234567

Location on the PCB (top view). Scroll to zoom, drag to pan; the highlighted port is SENSOR2. Hover or tap a pad to link it to the table. = pin 1

PinSignalVoltageNotes
1PWR_5V5 VModule supply (5 V) for the IR emitter and RGB LEDs.
2RGB_M23.3 V logicAddressable RGB (WS2812-style) data out for this zone (3.3 V logic).
3PWR_GNDGND · 0 VGround.
4IR_IN23.3 V logicIR receiver output — incoming-shot detection input to the MCU. Active-low, open-collector at the sensor module; there is no external pull-up, so enable the GPIO's internal pull-up (idles high, pulls low on a hit).
5IR_SEND23.3 V logicIR emitter drive — switched low-side MOSFET output; sinks the module's IR LED to ground when pulsed.

Pins 6 & 7 are SMT mounting tabs tied to GND for mechanical retention.

Sensor / Light Module 3

SENSOR3

5-pin · 1.5 mm pitch · SMT

Connector: JST ZH B5B-ZR-SM4-TFT

Combined hit-sensor and lighting module for headband zone 3. Each module carries 5 V power, an addressable RGB data line for that zone's LEDs, an IR receiver input for detecting incoming shots, and an IR emitter drive line. The IR emitter line (IR_SEND3) is the switched low-side output of an on-board N-channel MOSFET — the module's IR LED connects between the 5 V rail and this pin, and the MOSFET (driven by the MCU's IR_OUT3 GPIO) pulses it.

SENSOR1SENSOR2SENSOR3SENSOR4J1MP_USBDISPLAYPWR_SWITCH1H2J_PWR_SEL1234567

Location on the PCB (top view). Scroll to zoom, drag to pan; the highlighted port is SENSOR3. Hover or tap a pad to link it to the table. = pin 1

PinSignalVoltageNotes
1PWR_5V5 VModule supply (5 V) for the IR emitter and RGB LEDs.
2RGB_M33.3 V logicAddressable RGB (WS2812-style) data out for this zone (3.3 V logic).
3PWR_GNDGND · 0 VGround.
4IR_IN33.3 V logicIR receiver output — incoming-shot detection input to the MCU. Active-low, open-collector at the sensor module; there is no external pull-up, so enable the GPIO's internal pull-up (idles high, pulls low on a hit).
5IR_SEND33.3 V logicIR emitter drive — switched low-side MOSFET output; sinks the module's IR LED to ground when pulsed.

Pins 6 & 7 are SMT mounting tabs tied to GND for mechanical retention.

Sensor / Light Module 4

SENSOR4

5-pin · 1.5 mm pitch · SMT

Connector: JST ZH B5B-ZR-SM4-TFT

Combined hit-sensor and lighting module for headband zone 4. Each module carries 5 V power, an addressable RGB data line for that zone's LEDs, an IR receiver input for detecting incoming shots, and an IR emitter drive line. The IR emitter line (IR_SEND4) is the switched low-side output of an on-board N-channel MOSFET — the module's IR LED connects between the 5 V rail and this pin, and the MOSFET (driven by the MCU's IR_OUT4 GPIO) pulses it.

SENSOR1SENSOR2SENSOR3SENSOR4J1MP_USBDISPLAYPWR_SWITCH1H2J_PWR_SEL1234567

Location on the PCB (top view). Scroll to zoom, drag to pan; the highlighted port is SENSOR4. Hover or tap a pad to link it to the table. = pin 1

PinSignalVoltageNotes
1PWR_5V5 VModule supply (5 V) for the IR emitter and RGB LEDs.
2RGB_M43.3 V logicAddressable RGB (WS2812-style) data out for this zone (3.3 V logic).
3PWR_GNDGND · 0 VGround.
4IR_IN43.3 V logicIR receiver output — incoming-shot detection input to the MCU. Active-low, open-collector at the sensor module; there is no external pull-up, so enable the GPIO's internal pull-up (idles high, pulls low on a hit).
5IR_SEND43.3 V logicIR emitter drive — switched low-side MOSFET output; sinks the module's IR LED to ground when pulsed.

Pins 6 & 7 are SMT mounting tabs tied to GND for mechanical retention.

Display & Expansion

Display (I²C)

DISPLAY

4-pin · 1.5 mm pitch · through-hole

Connector: JST ZH B4B-ZR-SM4-TFT

I²C display port (OLED / small TFT). Unlike the larger Tagger Mainboard, the Headset Mainboard drives its display over I²C rather than SPI, sharing the bus with the on-board pull-up resistors. Provides 3.3 V power, ground, and the two-wire clock/data pair.

SENSOR1SENSOR2SENSOR3SENSOR4J1MP_USBDISPLAYPWR_SWITCH1H2J_PWR_SEL123456

Location on the PCB (top view). Scroll to zoom, drag to pan; the highlighted port is DISPLAY. Hover or tap a pad to link it to the table. = pin 1

PinSignalVoltageNotes
1PWR_GNDGND · 0 VGround.
2PWR_3V33.3 VDisplay logic / supply.
3I2C_SCL3.3 V logicI²C clock (shared bus, on-board pull-up).
4I2C_SDA3.3 V logicI²C data (shared bus, on-board pull-up).

Pins 5 & 6 are SMT mounting tabs tied to GND for mechanical retention.

Expansion Header (GPIO)

H2

14-pin · 2×7 · 2.54 mm pitch · through-hole

Connector: 2.54 mm header (2×7)

General-purpose expansion / breakout header. Brings out both power rails (5 V + 3.3 V), ground, a spare UART (GPIORX / GPIOTX), and a row of free ESP32-S3 GPIOs for prototyping and add-ons. All signal pins are 3.3 V logic — do not drive them above 3.3 V.

Every signal pin is a direct ESP32-S3 GPIO at 3.3 V logic — they are not 5 V tolerant, and can only source/sink a few milliamps. Don't power external loads from a GPIO; use the 5 V or 3.3 V rail pins for power and switch any real load through a transistor. GPIO45 and GPIO2 are boot strapping pins, so anything attached to them must leave the board free to boot.

SENSOR1SENSOR2SENSOR3SENSOR4J1MP_USBDISPLAYPWR_SWITCH1H2J_PWR_SEL1234567891011121314

Location on the PCB (top view). Scroll to zoom, drag to pan; the highlighted port is H2. Hover or tap a pad to link it to the table. = pin 1

PinSignalVoltageNotes
1GPIO83.3 V logicGeneral-purpose I/O.
2PWR_5V5 V5 V system rail.
3GPIO33.3 V logicGeneral-purpose I/O.
4PWR_GNDGND · 0 VGround.
5GPIO123.3 V logicGeneral-purpose I/O.
6GPIORX3.3 V logicSpare UART receive (into the MCU).
7GPIO133.3 V logicGeneral-purpose I/O.
8GPIOTX3.3 V logicSpare UART transmit (from the MCU).
9GPIO143.3 V logicGeneral-purpose I/O.
10GPIO453.3 V logicGeneral-purpose I/O (strapping pin — check level at boot).
11GPIO13.3 V logicGeneral-purpose I/O.
12PWR_3V33.3 V3.3 V logic rail.
13GPIO23.3 V logicGeneral-purpose I/O (strapping pin — check level at boot).
14PWR_GNDGND · 0 VGround.