Skip to the content
4 layers115.9 × 51.1 mmXbx nrf, the printed circuit board in 3D

A replacement bottom board for the Xbox Series X|S controller (model 1914) built on a Nordic nRF52840, with a 2.4 GHz USB dongle instead of Xbox Wireless / Bluetooth

Size
115.9 × 51.1 mm
Copper layers
4
Thickness
1.6 mm
Parts
91
Nets
77
Pads
278
Tracks, vias
899, 765
Pours
6
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
2 Oct 2026
Updated
5 Nov 2026

Overview

Xbx nrf is an open-source printed circuit board by zuidec, from the zuidec/xbx-nrf repository on GitHub. It is a 4-layer board of 115.9 × 51.1 mm with 91 parts on 77 nets, routed with 899 tracks and 765 vias.

It is built around the MDBT50Q-U1MV2, A1304ELHLX-T and A3910EEETR-T, with the USBLC6-2SC6, PMEG2010ER and M2.5 among its other parts. Its parts include 24 capacitors, 16 resistors, 7 ICs, 4 diodes and 4 connectors. It belongs with the radio and wireless boards and the nRF52 and nRF5x boards of this library.

Main components

9

README

README.md

XBX-NRF

A replacement bottom board for the Xbox Series X|S controller (model 1914) built on a Nordic nRF52840. Uses a custom 2.4 GHz USB dongle instead of Xbox Wireless / Bluetooth for improved connectivity.

Status: Hardware Rev 1.1 up and running. Still in active development. Open tasks: todo.md.

Who is this for

This is for those of us who love the Xbox controller's shape but hate how bad the Bluetooth connectivity is. This started as a labor of love for my partner who can't find a controller she likes besides the Xbox controller but also can't stand the disconnects.

That being said, there are some real concessions. The most obvious is that the controller won't work with an Xbox anymore. Another concession is that support for the rechargeable battery packs, as well as the expansion and headphone ports was dropped.

Architecture

text
┌─────────── Controller ───────────┐          ┌──── Dongle ────┐
│ Stock top board ─J3─ new board   │ 2.4 GHz  │ nRF52840 + USB │
│ buttons (PCAL6416)  nRF52840     │◀────────▶│ XInput / HID   │──▶ PC
│ power latch, boost  radio,       │   ESB    │ gamepad        │
│ USB-C, 2×AA input   sticks,      │          │                │
│                     triggers,    │          │                │
│                     rumble       │          │                │
└──────────────────────────────────┘          └────────────────┘

Features

AreaFeature
TargetXbox Series X|S Controller (model 1914)
ScopeNew bottom board, stock top board, shell, triggers, motors reused
MCUnRF52840
WirelessNordic ESB 2.4 GHz. The project does NOT use Bluetooth!
MultiplayerUp to 7 paired, 4 connected per dongle
Polling rate1 kHz with 1–2 controllers, 500 Hz with 3–4
Dongle USB modeHID gamepad (1 player) and XInput (4 players)
BatteryAAs only - basic rechargeables are OK, but no Play & Charge
Rumblereuses all the stock motors, including triggers
Buttonsreuses stock with additional options for 2 AUX trigger switches and 4 paddles
Waking PCWorks in wireless AND wired mode!
AudioNone in v1
Expansion portNone in v1

[!WARNING] Never put a bare Li-ion cell on the AA contacts: The boost converter appears to pass that straight through and the nRF52840 is only rated to 3.6v in this configuration! (docs/hardware.md).

Hardware

The custom board replaces the stock bottom board in the controller. It plugs into the stock top board's 14-pin J3 connector. This provides power rails, USB, I2C to the button expander, and Guide / Pair / power-hold signals.

DocCovers
docs/hardware.mdTop board power, J3 pinout, antennas, dongle pin map
docs/pcal6416.mdButton expander: button map, registers
docs/a3910.mdRumble drivers: wiring, logic table
docs/teardown.mdTest controller teardown: motor wires

Firmware

Built using the nRF Connect SDK. Version is pinned at v3.4.1 to ensure future buildability (hopefully). The controller firmware has a target for the custom board and the dongle firmware has a target for the custom dongle as well as the PCA10059 dongle. You may notice there is a nice!nano/pro-micro target for the controller, but this is just for testing.

DocCovers
docs/controller.mdUsing it: power, pairing, LED, wired modes, calibration, waking the PC
docs/building.mdSetup; building the firmware, bootloader and configurator; versions
docs/flashing.mdFlashing and debugging
docs/protocol.mdRadio (pairing, time slots) and USB (HID, XInput) protocols
docs/gip.mdXbox GIP protocol notes (optional mode)

Configurator

Desktop app for settings, calibration, input and rumble tests and firmware updates of both devices over USB using Python + Tkinter. So far only tested on Linux, but in theory should be buildable on Mac and Windows.

Repository layout

text
docs/                documentation
firmware/
  boards/            our board definitions (xbx_controller, xbx_dongle)
  bootloader/        UF2 bootloader build (upstream + our boards)
  common/            shared code (include/protocol.h)
  xbx-nrf/           controller app
  dongle/            dongle app
  ncs-version        pinned SDK + toolchain
  check-sdk.sh       version check for build.sh
  build.sh           build (+ flash) script
pcb/xbx-nrf/         KiCad project, controller board (lib/: symbols,
                     footprints, 3D)
pcb/xbx-nrf-dongle/  KiCad project, dongle board
mech/                FreeCAD parts: controller-bottom-board/ (board outline),
                     dongle-enclosure/, aux-button-guide/ (CC BY-NC-SA remix)
references/          schematics, scans, datasheets, pinouts
tools/               configurator/, release scripts (pcb-release.sh,
                     release-notices.sh), test-rumble.sh
todo.md              task list

Disclosures

This was built with the help of Claude Code. PCB designs are completely hand designed by myself, and all code was either written or reviewed by myself. However, there are likely still bugs present as this is a hobbyist project in early development. PCB designs may also have flaws for the same reasons. If you find and bugs or issues with the hardware, please open an issue to let me know.

References

License

Copyright (c) 2026 zuidec. Firmware and scripts: MPL-2.0. Hardware design: CERN-OHL-S-2.0. Documentation: CC-BY-4.0. Third-party CAD parts (SnapMagic, KiCad libraries) keep their CC-BY-SA-4.0 licenses; see the ATTRIBUTION.md in each library folder. Details: LICENSE, REUSE.toml, full texts in LICENSES/.

Parts

91
QtyValueFootprintReferences
13100nFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC1, C2, C3, C4, C5, C6, C7, C8, C9, C14, C19, C21, C22
91kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR6, R11, R12, R13, R14, R15, R16, R19, R20
6GNDConnector_Wire:SolderWirePad_1x01_SMD_1x2mmTP5, TP6, TP7, TP8, TP14, TP16
4100kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR2, R3, R4, R10
41uFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC15, C16, C17, C20
4M2MountingHole:MountingHole_2.2mm_M2H1, H2, H5, H6
4PMEG2010ERDiode_SMD:Nexperia_CFP3_SOD-123WD1, D2, D3, D4
210uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC12, C18
22k2Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR8, R9
24.7nFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC10, C11
29pFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC24, C26
2A1304ELHLXPackage_TO_SOT_SMD:SOT-23WU2, U3
2A3910EEETR-TPackage_DFN_QFN:DFN-8-1EP_2x2mm_P0.5mm_EP0.9x1.6mmU5, U6
2M2.5MountingHole:MountingHole_2.7mm_M2.5H3, H4
2RKJXV122400Rrjkxv122400r:SW_RKJXV122400RS1, S2
110kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1
132.768kHzxbx-nrf-lib:Crystal_SMD_3215-2Pin_3.2x1.5mmY1
14.7uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC13
1AO3401APackage_TO_SOT_SMD:SOT-23Q1
1AUX1Connector_Wire:SolderWirePad_1x01_SMD_1x2mmTP9
1AUX2Connector_Wire:SolderWirePad_1x01_SMD_1x2mmTP10
1AUX3Connector_Wire:SolderWirePad_1x01_SMD_1x2mmTP11
1AUX4Connector_Wire:SolderWirePad_1x01_SMD_1x2mmTP12
1B_BTNxbx-nrf-lib:Membrane_Contact_D8.0mm_InterdigitatedSW2
1GNDConnector_Wire:SolderWirePad_1x01_SMD_1.5x3mmJ5
1HV+Connector_Wire:SolderWirePad_1x01_SMD_1.5x3mmSQ3
1HV-Connector_Wire:SolderWirePad_1x01_SMD_1.5x3mmSQ4
1LT+Connector_Wire:SolderWirePad_1x01_SMD_1.5x3mmSQ1
1LT-Connector_Wire:SolderWirePad_1x01_SMD_1.5x3mmSQ2
1LT_AUXConnector_Wire:SolderWirePad_1x01_SMD_1x2mmTP13
1M50-3120745Connector_PinSocket_1.27mm:PinSocket_2x07_P1.27mm_Vertical_SMDJ2
1MDBT50Q-U1MV2xbx-nrf-lib:Raytac_MDBT50QU7
1NRSTxbx-nrf-lib:TestPoint_Pad_1.5x1.5mm-BigSilkscreenTP1
1RSTButton_Switch_SMD:SW_SPST_B3U-1000PSW1
1RT+Connector_Wire:SolderWirePad_1x01_SMD_1.5x3mmSQ5
1RT-Connector_Wire:SolderWirePad_1x01_SMD_1.5x3mmSQ6
1RT_AUXConnector_Wire:SolderWirePad_1x01_SMD_1x2mmTP15
1SWDConnector_JST:JST_SH_SM03B-SRSS-TB_1x03-1MP_P1.00mm_HorizontalJ1
1SWOxbx-nrf-lib:TestPoint_Pad_1.5x1.5mm-BigSilkscreenTP3
1TIMxbx-nrf-lib:TestPoint_Pad_1.5x1.5mm-BigSilkscreenTP4
1TLV70018_SOT23-5Package_TO_SOT_SMD:SOT-23-5U4
1UARTConnector_JST:JST_SH_SM03B-SRSS-TB_1x03-1MP_P1.00mm_HorizontalJ3
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U1
1VTREFxbx-nrf-lib:TestPoint_Pad_1.5x1.5mm-BigSilkscreenTP2
1WK+Connector_Wire:SolderWirePad_1x01_SMD_1.5x3mmSQ7
1WK-Connector_Wire:SolderWirePad_1x01_SMD_1.5x3mmSQ8

More from zuidec/xbx-nrf

1
  • 2 layers35 × 50 mmXbx nrf dongle, the printed circuit board in 3D

    Xbx nrf dongle

    zuidec/xbx-nrf

    A replacement bottom board for the Xbox Series X|S controller (model 1914) built on a Nordic nRF52840, with a 2.4 GHz USB dongle instead of Xbox Wireless / Bluetooth

    54 parts

Similar boards

  • 2 layers36 × 38 mmDigicron, the printed circuit board in 3D

    Digicron

    devicefuture/digicron

    Software and hardware for the DigiCron smartwatch.

    56 parts2MIT
  • 4 layersDial me spinner main, the printed circuit board in 3D

    Dial me spinner main

    tyevco/dial-me-spinner

    A Bluetooth dial spinner about 70 mm across, built on the nRF52840. A heavy, balanced stainless flywheel ring spins around a stationary centre that holds a colour OLED and a ring of 48 addressable RGB LEDs.

    209 parts
  • 2 layers84 × 58 mmSmartKnobController ME507, the printed circuit board in 3D

    SmartKnobController ME507

    Larson-Nick/SmartKnobController

    This folder contains all mechanical and electrical design files for the Smart Knob Controller, created using KiCAD v9.0 and SolidWorks 2024.

    90 parts1
  • 2 layers80 × 110 mmDriftPad, the printed circuit board in 3D

    DriftPad

    Lyrux/DriftPad

    Custom Hall-effect macropad with adjustable actuation and release points, analog magnetic key sensing, and an OLED display for real-time profiles, settings, and visual feedback.

    56 partsGPL-3.0
  • 2 layers22 × 39 mmPhilly Node, the printed circuit board in 3D

    Philly Node

    tasmaniandroid/Philly_Node

    The start of a Philly-Centric mesh node.

    77 parts2CERN-OHL-S-2.0
  • 4 layers110 × 80 mmEsp32p4 extreme, the printed circuit board in 3D

    Esp32p4 extreme

    Andreuxxx1977/esp32-p4

    An open-hardware, actively cooled ESP32-P4 board for heavy multimedia work: a 2-lane MIPI camera, a 2-lane MIPI display, USB 2.0 High-Speed, 10/100 Ethernet, UHS-I microSD, 32 MB flash and 32 MB PSRAM.

    234 parts1CERN-OHL-P-2.0
  • 2 layers64 × 46 mmWeatherframe, the printed circuit board in 3D

    Weatherframe

    amselgesang/weatherframe_v01

    My weather station hardver

    50 partsMIT

Questions

How big is the Xbx nrf PCB?

It measures 115.9 × 51.1 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Xbx nrf use?

91 parts, built around the MDBT50Q-U1MV2, A1304ELHLX-T, A3910EEETR-T and USBLC6-2SC6. 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 Xbx nrf KiCad files?

From the zuidec/xbx-nrf repository on GitHub, at the commit this page was made from: the board is pcb/xbx-nrf/xbx-nrf.kicad_pcb and its schematic pcb/xbx-nrf-dongle/xbx-nrf-dongle.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Xbx nrf design in my own project?

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