Xbox One controller mini wheel

Rack and pinion steering for your xbox controller. 100 degrees of rotation. Enjoy finer control in racing games.

Driving demo:
BeamNg settings:

What you need:
608 bearing, 22mm diameter, 7mm thick, 8mm center. Get one from that dusty fidget spinner you have laying around...also skateboard bearings
*the lowProfile pivot requires a 1.2mm metal rod [paper clip/push pin/etc]


Series X & S version:

I don't a have a printer but I want a wheel?

These shops have been granted the rights to sell the wheels:

*there are many other sellers not listed here

It's going to feel strange in the beginning because you probably have hundreds of hours driving with just the stick. Give it time to create new muscle memory.

project cars 2 settings:
steering deadzone 0
steering sensitivity 53
speed sensitivity 70
controller damping 3 (default=90[?] this made a world of difference)

WARNING Over time the frame will scuff the controller body. Adhesive felt on the underside of the frame might help.

Print Settings












Choose the correct frame for your controller [see image]. If the nexus button [big X in the middle] is surrounded by the face plate you have the modern version. The Older & Elite print may have supports hiding in the gap where the paring button is. Make sure to remove them.

.2 layer height (.4 nozzle)
0 top/bottom layers
16 walls - makes parts solid and stronger than using infill
supports are only needed for the frame

You only need to print 1 frame and 1 wheel.

*The lowProfile pivot and rack files work with the wide wheel.

Tolerances are tight on this model and good layer adhesion is a must. Make sure your printer is properly calibrated before attempting this project.

No one ever reads this far but printing all walls and no infill/top&bottom layers will give you the best chance for a strong print. Like wood, you want long continuous fibers in parallel for strength. Also the surface of the rack will be smoother, so less friction with the frame.

  1. Snap the rack into the pivot.

  2. Glue the top and bottom edge of the bearing into the frame. Wait for glue to dry. Superglue might leave a white haze on the controller if it's not dry.

  3. Snap the rack onto the frame.

  4. Pop the frame on the controller. It's good practice to hook the front on first and then lock in the back tab. Reverse when removing it.

  5. Slide the pivot down on the stick. The ball joint should be in the center. Align the bottom edge of the pivot so it's parallel with the rack. The stick should return to the neutral position when pushed to either extreme.

  6. Center the wheel on the rack and press it into the bearing.

lowProfile pivot & rack users:
Put a 90 degree bend on the end of a paper clip [3mm tab]. Clip off 15mm from the bend. If you are using a small nail with a head just trim to length. Put the piece up through the rack and press fit into the pivot. If it's loose in the pivot, use superglue. You want some play in the rack side and tight in the pivot.

Raspberry Pi 4 case - Retro tower desktop


A retro style beige Raspberry Pi 4 tower case. It has a working power button, LED, and IO activity LED. The SD/microSD card can be inserted like a floppy disk to swap between different operating systems. It also has 2 HDMI ports, audio jack, and USB-C power on the rear of the case.
There is space for a 40mm exhaust fan and a 40mm or 50mm front intake fan. There is also enough space for a large cooler like the ICE tower.

Parts needed (links at the end):

Micro SD to SD Card extender: 1
Micro HDMI to HDMI Adapter Cable: 2
Panel-Mount USB-C Extention Cable: 1
40mm 5V fan (for exhaust): 1
Low-Profile CPU Cooler or ICE Tower Cooler: 1
SPST Momentary Mini Push Button: 1
5mm LED with resistor: 1
3mm LED with resistor: 1
#6-32 UNC thumbscrew (standard PC case screw): 2
#6-32 UNC screw or M3 screw (standard PC case screw): 6
various wire/header connectors (for connecting fans/LEDs/power button)
Front 5V 40mm/50mm fan: 1 (note: I've not needed this even when overclocking the Raspberry Pi)
Noctua NF-A4x10 to replace CPU Cooler fan: 1
Panel-Mount 3.5mm AUX Male to Female Extension Cable: 1 (note: pre-made cables may be too long and should be shortened.)

Assembly instructions

Prepare all parts

note: any places that require screwing plastic parts together can be replaced with glue if you are way too confident/lazy.

  • Print out all parts with whatever material/color you would like.
  • (optional but helpful) Use a thread tap on all screw holes

    Start Assembly

  • Tap threads for push button. If you don't have a tap, you can use the push button to create the threads. You may need to use a file to help make sure the push button fits if you don't have a tap.
  • Press fit 3mm LED into the main case. Glue can be added, but the press fit should hold it fine.
  • Press fit 5mm LED into the main case. Glue can be added, but shouldn't be needed.
  • Put SD card extender in the SD card tray and attach to the case with screws or glue. This may require a long screw driver that can reach through the fan grill or a very short one that will fit in the case. This is easer to do before anything else is in the way.
  • (Optional) Attach front fan with screws
  • Screw/Glue in front panel. Make sure LEDs are visible and the push button does not get stuck.
  • Put HDMI adaptors in the HDMI holder, but don't mount it in the case.

    Connect wires to the GPIO Header

  • (Optional) Make a simple splitter for the CPU/Case fan(s). I have the fans connected to 3.3V (pin 1) and ground (pin 9). The fans can use a 3.3V or 5V pin for power and any unused ground.
  • The push button goes across pin5/pin6 (polarity doesn't matter).
  • The power LED goes to pin8(+) and pin14(-).
  • The GPIO LED goes to pin37(+) and pin39(-).
  • Connect all wires, connectors, and micro SD card extender to the raspberry pi before carefully placing it in the case. At this point all cables/extenders should be connected to the Raspberry pi, but not the case. (note: if using the ICE or low profile heatsinks, they should not be attached at this point)

    Finish Assembly

  • Use the brass spacers/mounts/standoffs from the cooler to screw the Raspberry PI to the case. These 4 brass pieces should now be going through the Raspberry Pi's mount points into the case.
  • Add thermal paste or the thermal pad to the processor and attach the CPU cooler with the included screws.
  • Screw in the HDMI Holder.
  • Screw in the USB-C extender
  • Screw in the Audio jack
  • Attach the rear exhaust fan.
  • Slide the side panel on and add thumb screws

    config.txt setting

  • (Optional over clock setting -- Use at your own risk)
    # overclock
  • Enable GPIO LED and IO activity LED
    # Additional overlays and parameters are documented /boot/overlays/README
  • Enable the power button: or or or any similar button or or (preferably) make your own. (these fans work well, but are a bit loud even at 3.3V) or or make your own

Although this case was made from scratch, I was inspired by this case by nilly667:

Print Settings


Qidi X Max









Filament brand:


Filament color:


Filament material:



You may not need supports, but it can help for the long overhangs.