Disney Series 2 minifigures (71024)

NoDisney Series 2 Minifig Weight
71024-1Vintage Mickey14.30 g
71024-2Vintage Minnie12.35 g
71024-3Huey11.20 g
71024-4Dewey10.20 g
71024-5Louie10.40 g
71024-6Scrooge McDuck11.22 g
71024-7Chip10.10 g
71024-8Dale10.60 g
71024-9Elsa11.50 g
71024-10Anna11.40 g
71024-11Jafar11.53 g
71024-12Jasmine10.00 g
71024-13Hades12.70 g
71024-14Hercules10.70 g
71024-15Sally10.00 g
71024-16Jack Skellington11.20 g
71024-17Edna10.80 g
71024-18Frozone10.83 g

Lego Movie 2 minifigures (71023)

NoLego Movie 2 Minifig Weight
71023-1Awesome Remix Emmet9.66 g
71023-2Battle-Ready Lucy10.40 g
71023-3Apocalypse Benny10.90 g
71023-4Giraffe Guy11.07 g
71023-5Crayon Girl13.60 g
71023-6Sherry Scratchen-Post & Scarfield10.80 g
71023-7Hula Lula10.38 g
71023-8Watermelon Dude12.30 g
71023-9Flashback Lucy10.27 g
71023-10The Swamp Creature9.90 g
71023-11Candy Rapper11.00 g
71023-12Gone Golfin’ President Business9.50 g
71023-13Apocalypseburg Abe10.90 g
71023-14Vest Friend Rex10.70 g
71023-15Kitty Pop11.10 g
71023-16Dorothy Gale & Toto11.50 g
71023-17Cowardly Lion10.40 g
71023-18Scarecrow9.92 g
71023-19Tin Man9.60 g
71023-20Unikitty11.90 g

Harry Potter minifigures (71022)

NoHP MinifigWeight
71022-1Harry Potter in School Robes11.60 g
71022-2Hermione Granger in School Robes11.65 g
71022-3Ron Weasley in School Robes10.77 g
71022-4Draco Malfoy10.82 g
71022-5Luna Lovegood11.75 g
71022-6Neville Longbottom11.30 g
71022-7Cho Chang12.00 g
71022-8Dean Thomas10.70 g
71022-9Lord Voldemort10.72 g
71022-10Dobby11.25 g
71022-11Professor Trelawney12.25 g
71022-12 Cedric Diggory11.83 g
71022-13Professor Flitwick10.10 g
71022-14Mad-Eye Moody11.50 g
71022-15Albus Dumbledore10.30 g
71022-16Harry Potter in Pajamas 12.13 g
71022-17Newt Scamander12.10 g
71022-18Tina Goldstein11.13 g
71022-19Jacob Kowalski11.50 g
71022-20Queenie Goldstein10.87 g
71022-21Credence Barebone10.10 g
71022-22Percival Graves10.20 g

Lego minifigure series 18 (71021) weight

Here are the weights for the Series 18 minifigure (Party). This is the full weight of the closed blind bag. For collectors the Police Officer is the more sought after (but likely the most underwhelming for kids). The Police officer is about 3.7x rarer than the rest (there are still a lot of them around). Using the weight is a pretty efficient method to find it: it’s the lightest, by a significant margin: the Cat Costume Girl is the only one that comes pretty close (but still 0.7g higher).

It’s interesting to see that the two lego brick suits can be differentiated using only their weights: the hairpiece is enough to tilt the balance. Before touching and finding the hair piece, I managed to get 100% accuracy using the scale alone.


No Lego Minifig 18 Weight
71021-1 Elephant Costume Girl 12.05 g
71021-2 Lego Brick Suit Guy 11.58 g
71021-3 Lego Brick Suit Girl 11.7 g
71021-4 Party Clown 11.65 g
71021-5 Firework Guy 12.97 g
71021-6 Birthday Party Girl 13.1 g
71021-7 Dragon Suit Guy 12.45 g
71021-8 1978 Police Officer 10.15 g
71021-9 Spider Suit Boy 12.17 g
71021-10 Cake Guy 15.2 g
71021-11 Cactus Girl 13.5 g
71021-12 Cat Costume Girl 10.83 g
71021-13 Race Car Guy 13.05 g
71021-14 Flowerpot Girl 13.3 g
71021-15 Cowboy Costume Guy 12.13 g
71021-16 Birthday Party Boy 12.77 g
71021-17 Unicorn Guy 11.7 g

Here is the full display:

Minifigure 18 (party) lineup

Ninjago minifigure (71019) weight

Here is the weight for the Ninjago movie minifigures (note that as always, this is the weight for the closed blind pack)


No Disney Minifig Series Weight
71019-1 Kai Kendo 12.67 g
71019-2 Spinjitzu Training Nya 10.77 g
71019-3 Lloyd 11.77 g
71019-4 Master Wu 11.67 g
71019-5 Garmadon 12.55 g
71019-6 Jay Walker 11.27 g
71019-7 Lloyd Garmadon 10.33 g
71019-8 Cole 11.17 g
71019-9 Misako 10.77 g
71019-10 Zane 10.87 g
71019-11 Shark Army General #1 11.5 g
71019-12 Shark Army Octopus 13.53 g
71019-13 Shark Army Angler 12.5 g
71019-14 Shark Army Great White 11.63 g
71019-15 Flashback Garmadon 12.17 g
71019-16 Volcano Garmadon 11.83 g
71019-17 Gong & Guitar Rocker 10.97 g
71019-18 GPL Tech 11.3 g
71019-19 Sushi Chef 10.43 g
71019-20 N-POP Girl 12.83 g

Disney minifigures (71012) weight

For some background about identifying the blind bags by weight, see what we originally did for series 16. Here is the weight guide for the Disney minifigures:

Disney Minifig Series Weight
Stitch  10.8 g
Alien  10.2 g
Buzz Lightyear  12.4 g
Aladdin  10.3 g
Genie  10 g
Maleficent  11.8 g
Alice  12.4 g
Cheshire Cat  10.7 g
Daisy Duck  11.2 g
Donald Duck  11.3 g
Minnie Mouse  12.6 g
Mickey Mouse 11.3 g
Mr. Incredible  10.2 g
Syndrome  11.2 g
Peter Pan  10.3 g
Captain Hook  12.1 g
Ursula  12.8 g
Ariel  13.5 g


Minifigures Series 17 (71018) weight

Hot on the official release of the latest minifigures (series 17, 71018) and following what we did for series 16, here is the weight guide:

Minifigure Series 17 Weight
Pro Surfer 11.23 g
Circus Strongman 10.24 g
Gourmet Chef 11.13 g
Corn Cob Guy 12.46 g
Veterinarian 10.85 g
Hot Dog Vendor 11.45 g
Butterfly Girl 11.60 g
Roman Gladiator 10.18 g
Connoisseur 11.68 g
Battle Dwarf 10.68 g
Retro Space Hero 10.48 g
Yuppie 10.52 g
Rocket Boy 13.56 g
Dance Instructor 11.80 g
Elf Maiden 11.70 g
Mystery character (Highwayman) 10.70 g

Those are usually accurate to 0.1 g, but most measurements were aggregated for several bags and should be close to about 0.03 g.

This is including the packaging (the whole blind bag), the packaging itself with the piece of paper is about 4.82 g.

Lego technic techniques

When building some technic MOC, I find that switching orientation is a part that is time consuming and very ad-hoc. Switching orientation is the equivalent of SNOT (Studs Not On Top) for technic build (I don’t know of a more official term). I usually end up randomly trying the connector du jour until getting something that works. It’s now time for a more rigorous approach.

One of the greatest books about lego technics (The Unofficial LEGO Technic Builder’s Guide) does contain a wonderful amount of information, but not much about studless orientations connections. It’s probably too evident for builder with this amount of experience.

How many orientations are there?

Before figuring out the connections, we need to figure out how many relative position we have. Let’s consider the relative position of 2 studless technic beams, we will have the beam of reference in red and the one we’d like to attach in black.

Since we are ignoring translations for now, we can enumerate this in term of rotations. In 3D we can code rotations using Euler angles. There are many choices in term of conventions, here we’re going to stick with the closest to some modeling software like stud.io. In stud.io, you can rotate around the Y axis using up/down and around the Z axis using left/right. The rotation are extrinsic: they use the scene axis, not the brick axis. With this, we chose to use Euler extrinsic rotations given as z-y-z.

Taking into account the symmetry of the beams and given that we’re only interested in perpendicular constructs, we have 8 possible rotations:

  • (0,0,0)
  • (0,0,\pi/2)
  • (0,\pi/2,0)
  • (0,\pi/2,\pi/2)
  • (\pi/2,0,0)
  • (\pi/2,0,\pi/2)
  • (\pi/2,\pi/2,0)
  • (\pi/2,\pi/2,\pi/2)

However, of these 8 rotations, we can eliminate a few of them

(\pi/2,0,0) just a rotation around z, it’s the same as (0,0,\pi/2)
(\pi/2,0,\pi/2) this is a rotation around z of pi, for beam this the same as (0,0,0)
Note the color here, this is to highlight that this is equivalent to the (0,\pi/2,\pi/2).
That’s a rotation around the X axis.


After that, we are left with:

  • (0,0,0)
  • (0,0,\pi/2)
  • (0,\pi/2,0)
  • (0,\pi/2,\pi/2)
  • (\pi/2,\pi/2,\pi/2)

So we have 5 possible relative orientations. Now, we can start enumerating different way to connect those. I’ve been trying to give them some names, but those are not the best…

No rotation: (0,0,0)

That’s the most basic one, and usually it’s not a problem to set up this one.

Support beam: (0,0,\pi/2)

This one is very useful to provide strength: for example to prevent several parallel beams from separating.

The next connection can be found on the Mine Loader (42049) it’s pretty useful to serve as guide for axles, but not too strong for torsion.

Linkage rotation: (0,\pi/2,0)

Basic connection to build any linkage:

If you don’t need the mobility, it’s better to use the L-shape pieces:

Building up: (0,\pi/2,\pi/2)

Twisting: (\pi/2,\pi/2,\pi/2)


I think that’s a good start: let’s see in practice how much it helps. I’ll definitely be adding some more combination here as I discover them around.

Lego table corner (3d printed)

I use particle boards as Lego tables: the advantage is that they can be easily cut at custom dimensions (read: integer multiple of studs, or even integer multiple of baseplates). This is particularly useful when setting up a Lego train around the room. The disadvantage is that the corners are quite sharp and painful for the head (or back). Also, the baseplates might slide on the board.

Enter the custom table corner. This is a 3D printed corner, just at the right dimensions, designed to slide into the baseplate studs: holding both the baseplate and the corner in place.

Here are a few pictures:

Corner with space for the studs

Corner holding the baseplace in place

Corner in place on the table

This shape can be generated using the following solid python code (also available on github):

import math
from solid import *
from solid.utils import *

output_file = 'corner.scad'

# size in mm
corner_height = 30. + 2
corner_size = 43.
wall = 5

table = cube([40,40, 22], center=True)

stud_height = 1.6 + 0.3
stud_diam = 4.8 + 0.3
for i in range(-2,3):
  offset = i*8. + 0.5
  dig = translate([offset, 0, 11 ])(
    cube([stud_diam, 40, stud_height * 2], center=True))
  table += dig

corner = translate([0,0,0.5])(minkowski()(
  cube([corner_size-10, corner_size-10, corner_height/2], center=True),
  cylinder(r=10, h=corner_height/2., center=True)))

size_slant = 100.
offset = size_slant/(2*math.sqrt(2.))
slant = translate([offset,offset,0])(
  rotate(a=45, v=[0,0,1])(
    cube([size_slant, size_slant, 40], center=True)))
side1 = translate([0,30,0])(
  cube([100, 20, 40], center=True))
side2 = translate([30,0,0])(
  cube([20, 100, 40], center=True))

slant += side1 + side2

c = corner - slant - table

# position the final product
final = translate([0,0,27.5])(rotate(a=90, v=[1,0,0])(c))

scad_render_to_file(final, output_file)

This generates the CAD file suitable for 3D printing. You can also find the file on thingiverse.