Proto One

Between Sean’s build, Stu’s build, various other builds I’ve seen online, and countless images of the naked ILM structure, I’ve had plenty to reference and ruminate about in regards to my own build.

I think I’ve said it plenty of times – the challenge with building a replica is that ILM got to make stuff up as they went. The size and proportions of things were the result of impromptu decisions and ad-libbing. A replica seeks to capture all that nuance (within reason) and is of a known quantity. This tends to be a slower process.

Late last year and over the New Year’s holiday I had a chance to put my ruminating to the test with my first full-sized prototype of an armature. For the final model, I want the armature to be light, strong, and resistant to warping, sagging and environmental effects over time. I will make it out our Carbon Fiber plate. In the short-term however, a plywood version of the armature will tell me a lot about how things fit, its stability, and assembly order.

I had all the parts laser cut from 1/4″ and 1/8″ hobby ply and after a few dry-runs practicing assembling things in sequence, got to clamping and gluing in stages.

As each spar is added to the assembly it gets more and more rigid. Even in relatively flimsy hobby ply, this structure is strong enough to stand on.

We build to learn – and I think for the next iteration, I’ll make a pin-registration table to allow me to align the mandibles in space relative to the saucer. I don’t think my plywood build is off by much, if at all, but knowing is better than not knowing. The rods will be 3/8″ and threaded; which will allow me to create height adjusted platforms to stabilize the z-axis as I go.

There are also a few additional spars I’ll add for some extra torsional rigidity.

I had an old Bogen tripod laying around that I used to prop it up for a walk around. This isn’t the actual mounting configuration – there are provisions for a “knuckle” in the centroid of the model that will receive a model mover rod and mounted on an engine stand for greebling.

The next step is to build the domes (ugh – the domes, the bane of any Falconer). The plywood buck will give me something I can hack-up to test fit domes on since I’ll want my final armature to fit the domes, not the other way around most likely.

my midjourney (so far)

it seems every one is playing with A.I. image generation these days. I find the tool to be both fascinating and addicting. Most of what it makes is garbage, but there are occasional gems that simply blow my mind. Most of these rely on the eye of the beholder. The computer dreams. We dream along with it.

midJourney really struggles with specifics like X-wings and TIE fighters. But I’m happy to indulge in this universe too.

space ports

Blimps

While the A.I. struggles with Star Wars iconography, I was shocked at how well it could represent a Ford Mustang from the future – blending cues from past and present to make something plausible and exciting.

A long time ago…

In April 2015, Andre and I “published” our first drafts of a blueprint for the Falcon. This got the attention of a few fellow Falconers and our little family was born. Sean Sides, Stu Brown, Doug Maio, Andre Bustanoby, and myself would spend the next six years together chatting about all things Falcon. Identifying new donor parts, trying to figure out the proportions of things, etc.

We did most of this on Slack – and some 50,000 messages (mostly “LOL”) and several gigabytes of photos and files later, Sean has a fully realized Falcon, and Stu (by his own best guess) is three-fourths through his.

Millennium Falcon by Sean Sides premiering next to the restored Dykstraflex motion control camera used to film the original Star Wars miniatures.

Sean taught us a lot. He was our trial run. As he built, he let us know where we were wrong (and right). He reworked as much as he could in real-time, but otherwise plowed through as only Sean can, and we rolled as much knowledge into the next rev of CAD in his wake.

Yearly (or more) snapshots of our iterative process

We have a lot of iterations. Stu mentioned he was using version seventeen. That’s mostly true. That’s version 17 of his Falcon model (which currently sits a v22). I keep a digital twin reference model of every team members’ build in case we need to go back and pull a specific dimension or reference. In aggregate we’ve done hundreds of iterations over the six years. And hundreds more if you factor in the progression of the subassemblies – I think our upper gun platform revisions alone were in the upper-fifties before we were happy with them. And then there’s the quad-cannons, docking arms, jaw boxes, docking rings, and on and on.

I thought it would be fun to superimpose all our key milestones. Fusion 360 keeps internal version numbers – but that is every single save – otherwise, we do our own mile-stoning; duplicate the working file, and dump it into an archive to have more discrete checkpoints. Or in some cases the Sean model, or the Stu model, etc…

The X-Wing project really helped Andre and I refine a workflow to truly nail the proportions of a model and the tracking points for reference. Below shows one of a dozen reference images we used for the X-Wing to track points in 3D space, extract them to CAD, and the use them as reference for final surfacing in Alias.

X-Wing digital model and photo composite as seen in X-Wing Part 1.

We’ve been using a similar process on the Falcon all along, but the X-Wing project really allowed us to tune our process, and verify that process against known fuselage dimensions since Jason had original X-Wing parts in-hand. Being able to make hypotheses, and verify that those hypotheses were correct as a scientific control to prove the fundamental method gave us greater confidence in what we’ve been doing with the Falcon. When we re-render our tracked surface data over our Falcon photoset (we have a little over 130 photos that we use for our Falcon 3D tracking) we have pretty tight alignment – original model’s idiosyncrasies not withstanding.

3D surface data reprojected onto photo and rendered.
photo credit: Andre Bustanoby

Six years later, we are more confident than ever that what we’re divining is dang close to the original. Onward!

The Stu Brown Show

We’ve been working with Stu (and Andre, and Sean, and Doug!) since 2015 on this project. It has been wonderful to see the birthing of another Falcon into the world. If only they were as easy to build as sitting on an egg… We learned so much from Sean’s build, and they just keep getting better. Great work Stu!

1/12th x-wing part 9

This post will be about the lighting (and mechatronics) solution we’ve started working on for the 1/12th. As with much of the project, we start with the 1/24th model.

The main objective of the first sprint would be to decide on what lighting components we’d build around. We were delighted (see what I did there?) to discover that the Adafruit Neopixel 7-element Jewel fit perfectly into the 1/24th engine, and the Jewel plus the 12-element Ring fit the 1/12th – a convenient way to scale up our solution. Using neopixel circular arrays for both models would mean we could scale the code and everything else pretty easily.

Adafruit Neopixel Jewel imported from their GItHub repository into Fusion 360 – ECAD + 3D CAD is amazing!
Neopixel solutions compared in 1/24th and 1/12th models.

Beyond an initial spec and fit check, there wasn’t a ton more to do in CAD – it was really a matter of ordering parts and prototyping stuff. Initial prototypes were done on an Arduino Mega. They are easy to use and have a ton of general purpose I/O on board. I use them quite a bit in early stages of development. I can plug-in and swap around things quickly and it makes for a productive brainstorming tool. This iteration uses both the Ring and the Jewel as we would in the 1/12th setup as it allowed me to quickly toggle between the two scales for testing.

Along with hardware comes software. One of the challenges I have had with programing LED’s is that ramping from one color to the next does’t always look right – whether it’s interpolating around the color wheel in unexpected ways, or muddy transitional colors, it rarely feels right. I wanted something I could “paint” with. I found this project on the Adafruit site that uses a Python script to take an image, convert it to an array, and “play” through the sequence like a flip book once loaded onto an Arduino.

There were a few things I didn’t like about the existing code though. It contained affordances for doing similar trickery with audio files (which I didn’t need) and, in the interest of saving memory (I think?), it converts the colors into 4-bit per channel colors. It also didn’t support RGBW Neopixels.

Modifying the Python script to convert to 8-bit per channel was just a matter of not jettisoning half the precision. Converting to RGBW was a bit trickier. Fortunately, we had done a similar project at Teague where we (Felix Heibeck and I) used Processing to convert RGB to RGBW. And that was largely based on the math found here. There’s a nearly one-to-one relationship between RGB and CMY color spaces, and a jump to CMYK is easy from there. Turns out doing all this on an inverted image results in RGBW. Here’s the relevant conversion assuming an inverted image as input…

p = pixels[x, y]

rrr = 1 - (p[0] / 255)
ggg = 1 - (p[1] / 255)
bbb = 1 - (p[2] / 255)

var_w = 1

if rrr < var_w :
	var_w = rrr
if ggg < var_w :
	var_w = ggg
if bbb < var_w :
	var_w = bbb

if var_w == 1 :
	rrr = 0
	ggg = 0
	bbb = 0
else :
	rrr = (rrr - var_w) / (1 - var_w)
	ggg = (ggg - var_w) / (1 - var_w)
	bbb = (bbb - var_w) / (1 - var_w)

www  = var_w

rrr *= 255
ggg *= 255
bbb *= 255
www *= 255


rgbw2hex(int(www),int(rrr),int(ggg),int(bbb))

Here is a link to a GitHub repository of the conversion scripts (RGB, and RGBW). They output a slightly different .h file than the original Adafruit code as my X-Wing Arduino code works a bit differently. I use the built-in Neopixel library for gamma correction, for instance. But if you’re playing around on GitHub, then I’m guessing you know what to do with them.

Speaking of Arduino code – that was the next part. I wanted a system in which I could load an image that represented the flip book animation, but we didn’t just want it to play end-to-end; we would also have a variety of states and transitions. For the X-Wing, we warm-up the engines, then throttle-up to a cruise state. When the wings open we transition into an attack mode. When the wings close, we go back to our cruise state.

I animated our source image (that would be later converted to an array of hex color values) in Apple Motion. I like the way Motion deals with 32-bit values for lighting effects. It’s quick, and renders in realtime. From there I output individual frames, wrote another Python script to ingest the frames, and concatenated them into a single image with all the frames end-to-end consecutively.

The Arduino code has a function that will play a certain number of frames then loop a frame for a determinate (or indeterminate) amount of time. It also has a procedural noise function such that I can pass a single color value to a group of pixels (say, the outer ring) and then add variability to the them as individual pixels. The whole animation fits into about 8k of memory. Certainly plenty of headroom to do more complex things in the future. Below is a video of our 1/12 (Ring + Jewel) test after a couple rounds of refinement.

From there it was a matter of integrating and miniaturizing the hardware. I moved from a Arduino Mega, to a Teensy 3.2, but then decided on the Adafruit M0 Trinket. The trinket has some fun lighting options built into the board that we would later leverage. But at first it was wires and prototyping breadboards. I started using 26 awg servo wire as it had what we needed for data, and power in a pre-terminated offering.

As mentioned, the M0 Trinket has some lights on it. We’ll install the M0 up near the cockpit console and repurpose its lights for instrumentation lighting. The green is just power on (so, not programmable), the red blinks when the wings are open, stays on when closed (it’s a digital out, so no fancy fading), the RGB light is programmed with a “CRT blue” color-sampled from the actual film, of course (I know it’s pink in the photo – we changed it later).

While playing with the breadboard, I started to imagine how I might package the connections for the final. Initially, I was going to just use perma-protoboard with the connectors perpendicular to the board – but once I got into routing the connections, it was too tight, and/or would have required too much effort to make multiples. If we were going to make a half-dozen of these, I’d need more space.

my first stab at connection layout – compact, but too hard to work with.
this looks remarkably similar to our final boards, but is built on protoboard and was never completed to working order.

Moving to a flatter configuration offered more room and a friendlier form factor for sending signal and power out to each wing, but would still be tricky to wire from a circuit standpoint. So, we went for a custom board. I thought it would be a good opportunity to learn how to make my own PCB’s as the 1/12th solution would eventually be 2-3 times the complexity with it’s additional power and servo (gasp! spoiler…) requirements.

With the new PCB’s fresh from OSHPark, I was ready to solder-up the first full prototype.

And of course build a Lego test rig to fully emulate the working conditions…

The 1/24th scale model isn’t very smart. There are no mechatronics beyond the Arduino and the Neopixels. To sense if the wings are open or closed, we’re using a hall effect transistor and a magnet to simply detect if the wings are near each other or not. The 1/12th, as mentioned, will have a more automated system with servo control (that’s the plan anyway) which means we can animate the lights in-time with the motion, rather just being reactive to the physical wing state.

4mm magnets fit perfectly in the Technics hole!

Last was the final testing before sending off to Jason. We’ll probably have another rev or two before it’s done, but here is the current state. This is the 1/24th scale version (4 x 7 LEDs) on the Lego rig diffused behind a piece of paper…

Next up is to get this fully integrated into Jason’s models. Then we do it all over again and then some for the 1/12th.

1/12th X-Wing Part 8

Droids

X-Wings need their trusty astromechs! I wouldn’t be surprised this whole project started because Jason got enamored with the Bandai droid kits. And actually, because of these kits, we didn’t really need to model the droids for the 1/12th scale model. It would be nice to have them a) for reference when making the CAD though, and b) for the 1/24th scale fleet.

Fellow GrabCAD user Dape has a nice collection of droids available. We used their R2 and R5 units nearly verbatim as reference. I did crosscheck a few things against what’s available on Astromech.net for accuracy.

What we didn’t find was a good R4-unit CAD reference. I’ll talk about our R4 in a bit, but first, here’s our droid line-up (forgive the liveries – they are just placeholder. Jason will nail the paint jobs for sure!).

Modeling the R4 Head

The head is a lot more nuanced than it first appears. Here are some failed attempts at modeling it. We saw quite a few that took a multi-panel design approach. Mixing cones and flats in some sort of inverted-sharpened-pencil effect. Looking at all our photo-reference, showed this was not the right way to go. It is way too mechanical.

So if geometric construction wasn’t the approach – maybe it was something more sculptural? Lofting six surfaces from flats (each edge at the hex end) to arcs (at the circular base) and blending out the seams was more interesting for sure.

In fact, we think this is how the Bandai 1/12 scale kits were modeled in CAD. We also don’t think it’s entirely accurate. You get very strong linear highlights from top to bottom, and we just weren’t seeing that in the real prop droids used in in filming.

Next was using a straight-forward loft from the circular base up to the soft-hexagon at the top.

Just letting the computer spit-out a shape was closer to what we thought we were seeing on the forms, but if you look at the way the highlights spike from top downward, it still didn’t feel right. But it gave me another idea.

We have it on good authority that the R4 heads were made from a cone that was then tacked/glued into shape at the top. So it was a cone that was deformed into a hex at the top.

We have tools for this! Maya can simulate pressure being exerted on a soft body. Used in everything from CG cloth to pod racers crashing spectacularly, it seemed like a good use of dynamic simulation.

Our truncated cone had an upper circumference equal to the perimeter of the hexagon shape we were targeting. Pressing inward on the six faces simultaneously pushes out the corners and distributes the forces evenly down the length of the part.

R4-De-formed!

Using plastic deformation to model that shape got us the closest to what we think the shape actually was.

While very similar to the simple loft, there is a softness to the blend that we didn’t have before. The highlights feather-out in a more aesthetically pleasing way.

1/12th X-Wing Part 7

The engines are attached to the wings, of course. And while it’s not immediately obvious how the wings would be a project unto themselves, we found a way.

Jason really doesn’t want the wings to sag over time. Even at 1/12th scale they are very thin. So, naturally we were going to look at a machined aluminum frame. Probably not red-anodized though. Ha.

The wings have fairly large maintenance pits cut into them, so solid aluminum wouldn’t be an option. Most of the wing structure will need to be eviscerated to keep it looking like the studio model. With so much material removed, we wanted to check the mechanical stresses on the wings.

A few iterations and finite element analyses later, we think we’re good. Thank you, Andre! We factored in the weight of all the bits that get added to the wing in our force loads, and looked at both orientations of the upper and lower wings. I’m still pushing for at least one of the acrylic fascia panels to be carbon or glass fiber. But even with just the aluminum and acrylic laminate, it should be plenty sturdy with a strong aerospace-grade epoxy.

With a plan of attack for structure in place, it was time to start modeling donors and detailing.

Each wing has a little face plate that nestles next to the engine fronts. Each made up of SeaLab, 1/15 Bandai parts, some Apollo bits, and tiny 1/72 0.50 cal parts. If you’ve ever wondered about the differences between the Bandai 1/15 Hummel and Stug parts, we modeled both – after the first attempt with Hummel parts didn’t fit the way we wanted them to.

While we’re having fun with GIF’s, we took this opportunity to “fix” the way the 1/15 Stug IV parts nest together on the butt-end of the wings. If you look at this area on the original models, they are all positioned slightly different; the main reason being that the Stug parts don’t actually line-up very well regardless how you stuff them in there. So we cheated and made custom versions that nest the way they “should” – so says us.

Moving to the interior of the wing, we got the opportunity to up-detail the pits. This was a lot of fun as it’s an area that you don’t get to see very well on the 1/24 scale – but on this big model, you’ll be able to stick your head right in there for closer look. We looked at a ton of real-world airplane landing gear bays, and aerospace structures for inspiration.

Of course, why stop at just the stuff you typically saw at a distance on the studio models? We were sure to add a bunch of stuff that you’ll now be able to see under the panel reveals. We routed cabling from the manifold-looking SeaLab railings, and used existing features on the SeaLab platforms as “tie-down” locations as they wrap around and out to the wing tips. Lots of neat little valves, regulators, pressure vessels, and access panel covers jammed in here.

Lastly, if you ever want to break the export function in Fusion 360, just throw a bunch of Holgate & Reynolds HO-scale brick at it. This one single component totally breaks Fusion. The F-4 nozzles come close (we can at least get the part to export independently of the assembly), but there’s something about this brick pattern that brings the software to a grinding halt on export. The whole 1/12-scale X-Wing in all it’s glory tumbles at silky smooth 60fps on my MacBook Pro, but even trying a cloud export on Autodesk’s servers dies. Several calls to tech support have been made. We can mange to get STL’s out though – so we’re good.

1/12th X-Wing Part 6

Just making a bigger X-Wing was only part of the project. We started with Studio Scale replicas, then were going to make it bigger, yes – but as Jason says – just making it bigger as-is would make it look like a toy. We needed to up-detail the bigger model to make it feel comfortable in its new skin.

Jason lead the way; detailing the rear collage and setting the tone for other bits. He took the rear plate into Rhino and started tweaking and adding things. Stripping bits and replacing them with other bits.

The goal was clear; to add things in such a away that at a distance, the highlights and shadows of the greebles, detail, and form would read the same as the 1/24th, however, upon getting closer – zooming in, if you will – you’d see things that maybe were lost to soft focus.

It took me a while to get a “feel” for this art. I was in uncharted waters. Suddenly this went from replicate to design. This new dimension has been quite entertaining.

Engines

First up was the Airfix Saturn V bodies on the engine nacelles. This was a good starting exercise because it made me think differently about what up-detailing really means.

The Airfix part has 42 “shingles” around the front and rear quarters of the tube. These faceted forms were injection molding short-hand for a much richer corrugated detail seen on the Saturn V. We thought reintroducing the corrugated feature would be a nice way to add richness. Forty-two facets, forty-two corrugated ribs, right?

But it didn’t work. The up-and-down shape of the ribs added extra highlights and shadows to the form that made the features feel denser, not just more detailed. This wouldn’t pass the at a distance test. We’d have to halve the number of ribs because each rib was both a crest and trough.

Twenty-two ribs felt more like the original. Different, but similar, and it worked at a distance like we wanted. We kept CAD of 1/24th scale X-Wing parts at 2x in our working files for reference to constantly compare the visual fidelity of what was being invented for the bigger model.

The next part would be from the Revell 1/32 US McDonnell Douglas Phantom II. The thrust nozzles from this kit were under-detailed to begin with, and would be doubly so at 2x (I know math!). We looked a lot of real-world J-79 nozzles to gain inspiration. But these 1/32 nozzles were on a 1/24th scale model being scaled up-to 1/12. Just going straight 1/32 at 2x would feel oddly delicate. So we needed to make the details a bit beefier than what we saw in real-world reference photos of Phantom aircraft. Also, this is Incom, not McDonnell Douglas. Ha.

this was work-in-progress as we started to gain our footing on the design.
We didn’t touch the AAVID heatsink as it seemed to feel “right” in context of the new turkey feathers

The Revell Phantom J-79 engines make-up the main gnarly-looking part of the X-Wing engine. At 1/32 scale they aren’t bad detail-wise and work pretty well at double the scale. The main things were that A) the actuator rods that run down the length could have more detail and should “float” off the main housing more, and B) the ILM versions were spliced together from two back-halves – making them oddly mirrored, but yet not really – so we wanted to make the engines feel less like they were cut from the same part, and more like they were intentionally one-piece, front-to-back.

All together, Saturn + Phantom, things were looking pretty tight.

According to the Incredible Cross-Sections of Star Wars: The Ultimate Guide to Star Wars Vehicles and Spacecraft, the T-65B X-Wing fighter utilizes differential thrust from its four powerful fusial ion engines. High-mass electromagnetic gyroscopes in each of its forward-facing retro-thrusters add a turning effect that helps to swing the ship in tight curves. Precise bursts of of retro-thrust fire forward through the turbine nozzles to add further control.

Or something like that. But they also have a cool diagram of the engine. In particular, the front part – which looks like an intake, but is actually a retro-thrust nozzle. They did a good job a making sure that the front part of the engine didn’t look like it was housing spinning turbines like we’d see in this end of our galaxy. We didn’t want to make that same mistake (ahem T-70).

We’ve seen similar cross-sections of X-Wing engines in a variety of books and blueprints – but not in the models. The Studio Scale models are just flat-bottomed cylinders. Clearly this was a 1/12 scale opportunity to pay homage to these other interpretations.

In the spirit of adding detail, but not new features, this pushes those boundaries – but the overall effect is subtle when seen in the bigger context. It also evokes the spirit of the dragsters these ships are meant to be.

Designed for being made

Of course, we weren’t CAD-ing all this just for pretty pictures. We are thinking about how to make this stuff for real. The last part of the engine design was to do the basic part break-ups to be printed and assembled. This cross-section shows how we planned to tackle the engine builds starting with an aluminum backbone to keep the whole thing from sagging, and Neo-pixel light rings that can be animated for display.

The whole thing is built around a 22 mm Aluminum tube. The rear nozzles are about 60 mm in diameter – that’s like a can of Coke. They are monsters.

1/12th X-Wing Part 5

So far on this journey to a 1/12th scale X-Wing, we’ve been working on a 1/24th scale version that replicates much of the original studio scale models as possible (or desirable). There were a few more things that we needed to do before we made the “jump” to 2x.

Panel Lines

Jason has used a technique in the past (he’s a Rhino user) where he extrudes tubes along the surface of a model and subtracts them from the main form to create scribe lines. It’s a fairly good digital analog of a largely hand hewn detail.

I leveraged this technique for the 1/24th fuselage (and eventually wings) like so.

Here is the base model as we’ve seen it so far.

I love this image above – just the web of panel lines in space.

And one subtracted from the other. Because of the parametric history in Fusion, these are fairly “quick” to change an update all things being relative. It’s still a lot of lines – over 300individual elements if I remember.

Part Breaks

One of the last things we did before making the jump to 1/12th scale was break everything up for printing. This happened in two steps (three if you include a totally failed first attempt which might be in an ancillary bloopers post at some point).

Above are the “macro splits”. The major chunks that represent the major parts that will get cast and assembled into the final model. Jason wanted the model to be compatible with the v5 armature – but we made some secondary machining operations to accommodate the cockpit – and even then, the pilot is cut-off below the thigh – like a classic Tamiya F1 driver.

However, before we can even get to the macro-break-up version, we had to subdivide the model down into even smaller bits that could be printed. Above is half a fuselage in three segments. This is about 30-40 hours of printing at 50 microns in Grey Pro resin on Jason’s Form 2.

Huzzah! Some hundred hours of printing later, little bits to big bits!

From the assembled SLA masters (above), come the polyurethane castings (below). I’m really looking forward to seeing these finished-out as a full fleet!

Project Management

This was a fairly big project with a lot of things to track. Jason, Andre and I used Slack to keep things on task. Over the two years, we sent 8,000 messages and shared nearly 2,000 files and photos back and forth. As I’ve mentioned, most all the CAD was done in Fusion 360, and we used the collaboration tools there to maintain version control, and have eyes on what was happening during development.

This isn’t unlike what we’ve been doing on the Falcon – although the Falcon Slack workspace is well over 30,000 messages and counting. We’ve done several hundred revisions on the CAD for that model with Sean Sides‘ build validating many of our assumptions, and now Stu Brown’s build vetting the next generation. The scale and complexity of the Falcon is far greater than the X-Wing.

Of course, there are still a few outstanding items on the X-Wing project, but still plenty to talk about too. Next post we’ll make the jump to 1/12th scale!