October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
VGSources
Blog

Using a Teensy LC as an Xbox 360–Style XInput Controller

How to distinguish a Teensy LC’s XInput mode from generic USB joystick mode, install the project’s board files, and understand why it will not work as an Xbox console controller.
Length4 min Posted Quest giverVGSources Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Yes—a Teensy LC can present itself to a computer as an XInput controller when configured with the ArduinoXInput Teensy USB mode. That is different from connecting it to an actual Xbox 360: the project maintainers say the required console security-chip handshake is not supported. Teensyduino’s built-in USB Joystick mode is another option, but it creates a generic joystick/gamepad rather than automatically behaving as an XInput controller.

What “emulate an Xbox 360 controller” means here

For a PC or other host that accepts XInput devices, the ArduinoXInput library and its Teensy package provide an XInput USB mode. The package explicitly lists the Teensy LC as supported. XInput describes how the controller is presented to a host; it does not make the board a licensed or authenticated controller for an Xbox console. The project README states, “This will not enable you to use your Teensy with an Xbox console!” and identifies the security-chip handshake as the limitation. See the ArduinoXInput Teensy project and the ArduinoXInput library.

As an Amazon Associate I earn from qualifying purchases.

Choose between XInput and Teensyduino’s generic joystick mode

Option How the host sees it Setup Intended use
Teensyduino USB Joystick Generic USB joystick/gamepad. PJRC documents 6 axes, 32 buttons, and 1 hat switch. Built into Teensyduino’s USB type options; configure the sketch and controls for that mode. Hosts and applications that support a generic USB joystick.
ArduinoXInput Teensy USB mode XInput controller profile. Requires the ArduinoXInput library’s Teensy board files and XInput USB descriptors, in addition to Arduino IDE and Teensyduino. A computer host or application that accepts XInput. The reviewed documentation does not establish a specific game or operating-system compatibility matrix.

PJRC’s joystick documentation explains the generic mode and its capabilities: Using USB Joystick with Teensy. Its specifications and test procedure apply to that generic joystick mode; they should not be treated as proof that an XInput device is recognized as XInput.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Install the Teensy XInput USB mode

The following sequence reflects the installation guidance in the ArduinoXInput Teensy project README. The repository currently names Teensyduino 1.62; package compatibility can change, so check the README for the version matching the files you download.

#1 Best Overall
Teensy 4.0 (Without Pins)
  • 1024K RAM (512K of Tightly Coupled Memory)
  • 2048K Flash (64K Reserved for Recovery & EEPROM Emulation)
  • 2 USB Ports (Both 480 MBit/Sec)
  • 3 CAN Bus (1 with CAN FD), 2 I2S Digital Audio
  1. Install Arduino IDE and Teensyduino, following their respective installation instructions.
  2. Check that the Teensyduino version matches the version expected by the ArduinoXInput Teensy files. The repository currently identifies Teensyduino 1.62.
  3. Back up the relevant Teensy hardware folder before modifying it.
  4. Copy the repository’s Teensy files into that hardware folder as described in the project README.
  5. Open the sketch in Arduino IDE, select the Teensy LC and the XInput USB mode provided by the installed files, then compile and upload.

The project README flags possible board-file caching problems with Arduino IDE 2.x and suggests trying Arduino IDE 1.x if the package does not load or function. That is project-maintainer troubleshooting guidance, not a guarantee that every IDE installation will behave the same way. Consult the current installation instructions before changing an IDE installation.

Map and verify the controls

The XInput package’s board support does not specify the wiring or control layout for a particular build. Decide how each physical input should map to a controller control in your sketch, then test the inputs one at a time after upload.

Rank #2
Teensy 4.0 (Headers)
  • Features am ARM Cortex-M7 processor at 600MHz with a NXP iMXRT1062 chip: a true real-time microcontroller platform
  • Dual-issue superscaler processor: Can execute two instructions per clock cycle
  • Tightly Coupled Memory: allows fast single cycle access to memory using a pair of 64 bit wide buses
  • Provides a power shut-off feature: By connecting a pushbutton to the On/Off pin, the 3.3V power supply can be completely disabled by holding the button for 5 seconds, & turned back on by a brief button press
  • The same size and shape as Teensy 3.2: Retains compatibility with most of the pin functions. Pre soldered header pins
  • Confirm the computer detects the device using a host-side method appropriate for an XInput controller.
  • Move each axis through its range and check that the intended control responds in the correct direction.
  • Press each button and verify that it triggers the intended button without unwanted neighboring inputs.
  • Check any hat switch or other controls included in your sketch.

PJRC’s joy.cpl procedure and screenshots are for its generic USB Joystick mode. They do not establish XInput recognition. Likewise, the reviewed official documentation does not provide a compatibility list for particular games or operating systems. A generic wiring example using buttons and potentiometers is not a project-specific schematic; choose components and pin assignments from the actual circuit you intend to build.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Teensy LC availability and moving to another board

PJRC currently lists the Teensy LC as unavailable and says it is “Not recommended for new designs or projects.” PJRC recommends the Teensy 4.0 or 4.1 for new projects. Those newer boards are also listed by the ArduinoXInput Teensy package, but that support list alone does not prove that an LC sketch, board files, pinout, and wiring will transfer unchanged.

Rank #3
Teensy 4.0 iMXRT1062 Microcontroller Development Board (Standard Non-Lockable Version)
  • HIGH-PERFORMANCE MICROCONTROLLER: Features an ARM Cortex-M7 processor at 600MHz (can be overclocked), with a NXP iMXRT1062 chip, the most powerful microcontroller available today
  • ARDUINO-COMPATIBLE: The Teensy is compatible with the Arduino IDE programming environment as well as many of the existing Arduino libraries, so it is easy to get programmed and running
  • RAM: 1024K RAM (512K is tightly coupled); 2048K Flash (64K reserved for recovery & EEPROM emulation)
  • MULTIPLE I/O: 2 USB ports, both 480 MBit/sec; 3 CAN Bus (1 with CAN FD); 31 PWM pins; 40 digital pins, all interrupt capable; 14 analog pins, 2 ADCs on chip; 2 I2S Digital Audio
  • LOCKABLE PROGRAM CODE OPTION: The LOCKABLE version of the Teensy 4.0 is suitable for commercial products and secure applications to protect your program code from unauthorized access and copying. When code security is not required, we recommend the STANDARD NON-LOCKABLE version.
Board Availability and guidance XInput package listing Migration considerations
Teensy LC PJRC lists it as unavailable and not recommended for new designs. Supported. Existing board and wiring may suit an existing build; verify the package version and sketch.
Teensy 4.0 PJRC recommends it for new projects. Listed as supported. Check pin assignments, electrical connections, and sketch behavior; unchanged transfer is not established.
Teensy 4.1 PJRC recommends it for new projects. Listed as supported. Check pin assignments, electrical connections, and sketch behavior; unchanged transfer is not established.

The Teensy LC’s published specifications are a 48 MHz processor clock, 62K flash, 8K RAM, USB device speed of 12 Mbit/sec, 27 digital input/output pins, and 13 analog input pins. These are PJRC product specifications, not independent performance measurements or evidence that a specific controller project will work without modification. Consult the PJRC Teensy LC product page and the XInput package’s supported-board list before selecting hardware.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What the documentation does—and does not—establish

The maintainers document Teensy LC support for USB XInput use with a host computer, the installation dependency on matching Teensyduino files, and the console-handshake limitation. PJRC documents a separate generic USB Joystick mode. The reviewed material does not define a particular Teensy LC controller build’s schematic, parts list, pin mapping, game compatibility, or migration path to newer boards. Treat those as design-specific questions to resolve against the sketch, wiring, and intended host rather than assuming that selecting XInput settles them.

Quick Recap

Bestseller No. 1
Teensy 4.0 (Without Pins)
Teensy 4.0 (Without Pins)
1024K RAM (512K of Tightly Coupled Memory); 2048K Flash (64K Reserved for Recovery & EEPROM Emulation)
$23.80
Bestseller No. 2
Teensy 4.0 (Headers)
Teensy 4.0 (Headers)
Dual-issue superscaler processor: Can execute two instructions per clock cycle
$26.80
Bestseller No. 4
PJRC Teensy 4.0 iMXRT1062 Microcontroller Development Board
PJRC Teensy 4.0 iMXRT1062 Microcontroller Development Board
Kit includes the Teensy 4.1 Ethernet Kit to connect to Ethernet; 2.4 by 0.7 inch form factor, same as Teensy 3.6
$45.29
Best Value
Teensy 4.0 iMXRT1062 Microcontroller Development Board w/Loose Pins (Standard Non-Lockable Version)
  • HIGH-PERFORMANCE MICROCONTROLLER: Features an ARM Cortex-M7 processor at 600MHz (can be overclocked), with a NXP iMXRT1062 chip, the most powerful microcontroller available today
  • ARDUINO-COMPATIBLE: Compatible with the Arduino IDE programming environment as well as many of the existing Arduino libraries, so it is easy to get programmed and running
  • RAM & STORAGE: 1024K RAM (512K is tightly coupled); 2048K Flash (64K reserved for recovery & EEPROM emulation)
  • EXTENSIVE I/O CAPABILITY: 2 USB ports, both 480 MBit/sec; 3 CAN Bus (1 with CAN FD); 31 PWM pins; 40 digital pins, all interrupt capable; 14 analog pins, 2 ADCs on chip; 2 I2S Digital Audio
  • HEADER PINS INCLUDED: Includes a 40-pin male header that can be broken or cut to the appropriate length using a wire cutter or pliers and soldered onto the microcontroller, giving you the flexibility to choose how to connect the Teensy to your circuitry
Rank #4
PJRC Teensy 4.0 iMXRT1062 Microcontroller Development Board
  • ARM Cortex-M7 IMXRT1062 processor at 600 MHz, 1024K RAM (512K is tightly coupled) 8192K Flash (64K reserved for recovery & EEPROM emulation)
  • Kit includes the Teensy 4.1 Ethernet Kit to connect to Ethernet
  • 35 PWM Pins, 18 Analog Inputs, 8 Serial Ports, SPI, I2C, I2S,CAN Bus, IR modulator I2S (for high quality audio interface)
  • 2.4 by 0.7 inch form factor, same as Teensy 3.6

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.