Lego Tesla Model X


Lately I got to drive a borrowed Tesla Model X from time to time. I’ve grown to love this awesome car, so I decided to build a Lego version to have it sit nicely on my desk.


I digged out my Lego stash under the bed; there weren’t even enough parts to make a car seat. So I bought a set that seems to have lots of car-relevant parts: _config.yml

Keeping things organized

Since the truck set was predominantly gray, I decided to use gray as the main color scheme. This means all the white & green liftarms from this set are useless to me. On the other hand, there were ~2600 pieces in this set, so I put those liftarms to good use & kept some of the bigger pieces organized: _config.yml


There are lots of flat pieces; seems straightforward to use them as the chassis. _config.yml

A bigger challenge is getting the scale right. Since all the wheel are of the same size, I used them to scale every other part. To make sure I didn’t deviate too far from the correct scale, I ended up holding it against my monitor every 5 minutes: _config.yml

It also helped to build some kind of scaffolding for the entire car, since at this point, I was doubtful that I could build a realistic Model X with existing parts. It was reassuring to see the shape that captures the essense of it. _config.yml

Hood & seats

Fortunately, the truck set has a few curved pieces that looks surprisingly similar to the hood. _config.yml

There were special pieces from the set for building nice-looking car seats, but there were only enough parts for 2, and I needed at least 6, so I had to resort to imagination. I tried my best to re-create the subtle curves & contour of a seat with rigid pieces. This later underwent several iterations. _config.yml

Falcon wing door

This is a big problem, since falcon wing doors & their frames are tilted, and it’s usually not easy to assemble Lego pieces that are not perpendicular to one another; you need extra parts to constrain their movement. The first version of door frame was flimsy as hell: _config.yml

It took a lot of support pieces to keep everything steady, but then it looked like a mess: _config.yml

The doors are equally tricky to get the shape correct; the pieces barely fit together in this one: _config.yml

But it’s still nice to see the falcon wing coming to life! _config.yml

More challenges

Just when it seemed that the car was shaping up, new problems arose:

  1. I almost ran out of liftarms in black or gray, the main color schemes of this Model X.
  2. The way I built the falcon wings didn’t really work well with other parts of the car. The pieces simply didn’t fit together.
  3. The scale was actually wrong, and I didn’t notice this until I tried to close the door.

I ended up taking everything apart and started from scratch. Whenever I re-built something, I made sure only the most relevant pieces were used, and saved the important pieces for later. This quickly turned into a resource-management game, and I quite enjoyed this extra challenge.

Unfortunately, it became increasingly clear that I simply couldn’t get this done with existing parts, so I bought a second truck set. I’ve never been a serious Lego collector before, so this was quite a crazy purchase I’ve made in a long time.

Putting things together

Now that I had a better idea of the overall design, and with more parts to spare, I re-designed some major components, such as seats and trunk. I also spent more time studying the specialized pieces in this truck set, and tried using fitting ones as often as possible.

One example is the flexible axle: there were a total of 6 now, so I could afford to use them around the wheels: _config.yml

The new seats used fewer parts, so I could add a 3rd row: _config.yml

I think I’ve googled at least dozens images of Model X trunk to get its shape right: _config.yml


It takes almost a month to build this, but I am quite happy with the end result: _config.yml _config.yml _config.yml _config.yml _config.yml _config.yml _config.yml _config.yml _config.yml _config.yml

I tried adding front cameras to it, but it looks kinda goofy without actual windshields: _config.yml

Hand-made props for MCU also looks a bit cheap, but it’s better than leaving it blank, I guess: _config.yml

Written on April 13, 2018