Skip to the content
PCBKitNew board
2 layers19.9 × 34 mmTxTroller, the printed circuit board in 3D

A Radio Receiver-to-USB HID Gamepad Adapter

Size
19.9 × 34 mm
Copper layers
2
Thickness
1.6 mm
Parts
8
Nets
26
Pads
43
Tracks, vias
45, 13
Pours
21
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
16 Sep 2026
Updated
13 Oct 2026

Overview

TxTroller is an open-source printed circuit board by Person-0, from the Person-0/TxTroller repository on GitHub, published under the MIT licence. It is a 2-layer board of 19.9 × 34 mm with 8 parts on 26 nets, routed with 45 tracks and 13 vias.

Its parts include 1 IC, 1 diode, 1 transistor and 1 connector. It belongs with the RP2040 boards of this library.

README

README.md

TxTroller

A Radio Receiver-to-USB HID Gamepad Adapter.

Build Photos

Demo Video

Click to open in YouTube

What is this?

This is a simple adapter that will allow older-style Radio transmitter / receiver combos to be used as video-game controllers using the USB HID Gamepad device class.

Watch me crash quads using TxTroller: youtube video link

Hardware

For the initial stages, this is being developed for the Radiolink R8EF receiver, which is an 8-channel receiver operating on the 2.4GHz frequency band.

As for the transmitter that will be the actual gamepad, It will be the Radiolink T8FB transmitter, which is a 2.4GHz 8 Channels RC Remote Transmitter.

The microcontroller that will be responsible for translating the SBUS signals from the receiver to the USB device class is the XIAO RP2040 due to it's small footprint and easy-to-use C/C++ SDK.

PCB

The PCB has been designed using KiCAD 9.0. It is a 2 layer PCB with both top and bottom having thick signal traces and a ground fill.

PCB Schematics:

PCB layout:

PCB Preview:

3D Case

The case has been designed in Fusion 360, with the .f3z available in the /CAD directory, along with the exported .step files of the top and bottom parts of the case in /CAD/exports.

The case looks like this:

The case has side extrusions for friction-fitting the top and bottom part of the case together.

Firmware

Originally modified from raspberrypi/pico-examples/tree/master/usb/device/dev_hid_composite .

Checkout the Firmware directory to view more information on button mappings, firmware compiling / flashing and testing the data received from the receiver.

Ordering, BOM & 3d Printing

The PCB contains no SMD components or any other component that cannot be soldered using a normal soldering iron, hence no PCBA is required.

The PCB gerber .zip file is available in PCB/exports/.

BOM Table


S.NoItem NameDescriptionProduct URLQtyUnit Price ($)Effective Price ($)
1XIAO RP2040RP2040 MicrocontrollerXIAO RP204016.146.14
2PCBPCB manufacturing cost (5 qty)Lion Circuits19.849.84
31k Ohm Resistor1k Ohm Resistor - Pack of 101k Resistor Pack10.130.13
410k Ohm Resistor10k Ohm Resistor - Pack of 1010k Resistor Pack10.140.14
5100 Ohm Resistor100 Ohm Resistor - Pack of 10100 Ohm Resistor Pack10.160.16
Total16.41$

Note that the PCB states 150ohm resistor but we have only added 100ohm, this is because we can arrange 3 100 ohm resistors in such a way that the effective resistance becomes 150ohms (2parallel+1series).

As for the 3d prints, the following files need to be printed separately:

Since they are designed to be friction fitted, no screws or heatset-inserts are needed.

Assembly Instructions

  1. Get the PCB manufactured via any PCB fab (I used lioncircuits.com/)
  2. Solder the transistor, LED, resistors, headers and then finally the MCU. (This order is preferred so as to not let other components get damaged due to less space)
  3. Flash the firmware, connect your receiver and test whether the device is working fine.
  4. Get the case 3d printed, set the PCB inside the bottom part of the case, close it via the lid.
  5. If the case is loose, use a rubber band to firmly hold it in place. Connect the receiver and place it beneath the bottom part of the case.
  6. Again use something like a rubber badn to hold the receiver firmly in place.
  7. Build finished!

Credits

Thank You! 😼💖

Parts

8
QtyValueFootprintReferences
110kConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalR_INV1
1150Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalR_SBLED1
11kConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalR_INV2
12N2222Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalQ1
1LOGOLOGOG***
1RadioReceiverConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ1
1SBUS_LEDConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalD1
1XIAO-RP2040-DIPSeeed Studio XIAO Series Library:XIAO-RP2040-DIPU1

Questions

How big is the TxTroller PCB?

It measures 19.9 × 34 mm and has 2 copper layers, 1.6 mm thick.

What parts does the TxTroller use?

8 parts. 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 TxTroller KiCad files?

From the Person-0/TxTroller repository on GitHub, at the commit this page was made from: the board is PCB/TxTroller.kicad_pcb and its schematic PCB/TxTroller.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the TxTroller design in my own project?

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

Similar boards

  • 2 layers20.5 × 24.8 mmPi interface, the printed circuit board in 3D

    Pi interface

    opulo-inc/lumenpnp

    The LumenPnP is an open source pick and place machine.

    8 parts3.7k
  • 2 layers59.9 × 25.7 mmBuffer, the printed circuit board in 3D

    Buffer

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    8 parts1kGPL-3.0
  • 2 layers52 × 12.6 mmUSB, the printed circuit board in 3D

    USB

    shanteacontrols/OpenDeck

    A platform for building interactive control and sensing devices using MIDI and OSC built with Zephyr RTOS.

    8 parts960Apache-2.0
  • 2 layers87.5 × 48.5 mm7 input macropad, the printed circuit board in 3D

    7 input macropad

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    8 parts915
  • 2 layers36.2 × 63.1 mmPicoMemcard pico, the printed circuit board in 3D

    PicoMemcard pico

    dangiu/PicoMemcard

    Emulating PSX Memory Card (or controller) using a Raspberry Pi Pico

    8 parts694GPL-3.0
  • 2 layers36 × 10 mmPCB4-PWR BTN Rev.A, the printed circuit board in 3D

    PCB4-PWR BTN Rev.A

    OLIMEX/DIY-LAPTOP

    Do It Yourself Open Source Hardware and Software Modular Hacker's Friendly Laptop

    8 parts578Apache-2.0