DRIVE A 700 DOLLAR LEGO CRANE WITH AN XBOX CONTROLLER
Control the 700-dollar LEGO Liebherr crane with joysticks and triggers instead of tapping a phone screen.
Automation
- difficulty
- ●●○○○
- time
- an evening
- license
- MIT for files carrying the Pybricks Authors MIT header; built firmware includes libraries with more restrictive terms (e.g. BTstack, which prohibits charging for the firmware)
- repo
- repo ACTIVE352 stars
●●○○○ · an evening · MIT for files carrying the Pybricks Authors MIT header; built firmware includes libraries with more restrictive terms (e.g. BTstack, which prohibits charging for the firmware) · 352 stars · repo ACTIVE
WHAT YOU’LL NEED
Jump to section
COMPAREE VERDICT
This is not a build. It is a control upgrade for people who already own the Liebherr Crawler Crane LR 13000 (42146, 699.99 dollars at launch) and want to drive it with an Xbox controller instead of a phone or tablet. Pybricks replaces the stock firmware on both Technic hubs. The base hub connects to the controller, drives the tracks and turntable, works out the crane function speeds and broadcasts them over Bluetooth to the crane hub, which runs the boom, jib and hoist. The left stick drives and steers. The triggers turn the turntable and the right stick moves the jib, both analog. The D-pad runs the boom and the bumpers run the hoist, and you can do all of it at once. Setup is two program imports and a one-time controller pairing. You can run the provided block programs without paying, and Python is free if you want to change anything. The controller remembers only one device, so if you also use it with an Xbox console, you will re-pair each time. The firmware swap is reversible.
IN THE REPO
GOOD TO KNOW
- —Requires the LEGO Technic Liebherr Crawler Crane LR 13000 (set 42146, launched at 699.99 dollars) and an Xbox Controller or Xbox Elite Series 2 Controller.
- —Pybricks-authored firmware files are MIT, but firmware builds include third-party libraries with more restrictive terms (e.g. BTstack prohibits charging for the firmware), so do not assume unrestricted commercial use.
- —Two programs: one for the base hub (controller, drive, turntable, broadcasting) and one for the crane hub (boom, jib, hoist). They are provided as block projects and as generated Python.
- —Controller firmware should be version 5.17 or newer; update it via the Xbox Accessories app on Windows if needed.
- —You can return to the LEGO firmware and apps at any time.
- —No physical build required; this is a firmware and control project for an existing LEGO set.
Can I build this?
Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.
Videos
Driving the LEGO® Technic Liebherr Crawler Crane LR 13000 (42146) with the Xbox Controller3:05
Pybricks' own demo (3 May 2024) of driving the crane with an Xbox controller, using the analog inputs for several functions at once.
More builds like this
All projectsGallery
Start here
Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.
- 1.Check your controller firmware version(If it is below 5.17, connect the controller to a Windows PC over USB and update it in the Xbox Accessories app. A controller regularly used with a console is probably already up to date.)
- 2.Install Pybricks on both LEGO hubs (Installation works the same for both hubs. Give them unique names such as Base and Crane so you can tell them apart later.)
- 3.Download and import the crane program first (Import it in the Pybricks app (code.pybricks.com) and run it on the hub in the crane. It waits for speed values from the base hub.)
- 4.Pair the controller and start the base program (Turn the controller on and hold the pairing button on the back until the light flashes rapidly. Then start the base program from the app or with the hub's green button. The light stays solid once connected.)
Resources
Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.
KNOWN ISSUES
- The Xbox controller remembers only one device. If you use it with your Xbox console or another hub in between, you must pair it with this hub again.
- Controller firmware should be 5.17 or later. Without a console, update it with the Xbox Accessories app on a Windows PC over USB.
- Once the program starts, the Technic Hub disconnects from your computer to free the Bluetooth link for the controller. You cannot stop the program or change code from the app while it runs; press the green button on the hub to stop.
- Hub-to-hub communication works best when both hubs are disconnected from your computer.
- You can run the imported block programs for free, but editing them as blocks needs a paid Pybricks licence or Patreon membership. Edit the free Python version instead.
- This assumes you already own set 42146 (699.99 dollars at launch); the project does not include any LEGO hardware.
Can I use a PlayStation controller instead?
Not with this project. The programs use Pybricks' XboxController class. Pybricks lists all Xbox controllers released since 2016 as compatible: One S (1708), Elite Series 2 (1797) and Series X/S (1914).
Will this work on LEGO sets with one hub?
The two-hub messaging is specific to this crane, which has one hub in the base and one in the crane. The Xbox controller part runs on a single hub, but you would need to adapt the program to your model's motors and ports.
Can I go back to the LEGO app?
Yes. The project page says you can go back to the LEGO firmware and apps at any time.
Do I need to know Python, or pay for anything?
No for this project. You can import and run the ready-made block programs without signing up, and the page also gives the generated Python code. Coding in Python with Pybricks is free. Editing or creating block programs requires supporter access: a paid licence (annual or perpetual) or a Patreon membership.
Community builds
No community builds yet — be the first, we feature the best ones.
Discussion1
FROM THE COMPAREE TEAM
The crane launched at 699.99 dollars. If you own it, would you switch to the Xbox controller, and which function would you remap first: boom, jib or hoist?
Pybricks team
Pybricks is open-source MicroPython firmware and a coding app for LEGO smart hubs (Technic, City, MINDSTORMS, BOOST and SPIKE). Its core team is Laurens Valk (Netherlands) and David Lechner (USA), with contributors around the world. Laurens Valk is credited as the author of this crane project page. Python coding is free, while block coding is funded by supporter licences.
DISCLAIMER
- Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
- Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
- Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.
CompareeTEAM2d ago
Practical notes from our check of the sources: the project page is live and includes both block projects and the generated Python code, plus a pairing walkthrough. On cost, Python coding is free and the provided block programs can be imported and run without signing up, but editing block code needs a paid licence or Patreon. The controller firmware requirement (5.17+) is stated on the page. Not every crane function is analog: drive, turntable and jib follow the sticks and triggers, while boom (D-pad) and hoist (bumpers) run at fixed speed. Licence note: the MIT licence covers the Pybricks-authored files, but the repo states that built firmware includes libraries such as BTstack that prohibit charging for it.