Skip to content

Making the Stargate

Below is a description of how i approached the task of making the Stargate. A 3D printed Stargate with wormhole effect. Fully interactive, working with infinity mirror, sound effects and moving parts. Check out the main page for a video presentation of the project.

The wormhole effect.

Making the Stargate

A Stargate is nothing without the ability to open a stable wormhole to another planet. I started this project by checking the possibility of making an infinity mirror where i could control every led individually and create custom animations and colors. An infinity mirror consists of of a mirror at the back, lights in the middle and a two way mirror in the front. The light will reflect back and forth between the two mirrors, and when observing from the outside one can see through the two way mirror when the light is on. This creates an “infinity” effect where the lights are reflected back and forth between the mirrors several times.

I started using regular glass mirror and a regular glass plate cut in circles. The mirror cracked, and it was a hassle using two way mirror foil on the glass plate. I ended up buying Plexiglass mirror and Plexiglas two way mirror and cutting the circles by hand. This worked a lot better, and it’s not as heavy as regular glass/mirrors. In the picture you can see the cracked glass before i switched to Plexiglass.

NeoPixel WS2812

For the LED’s themselves i used a NeoPixel WS2812 addressable LED strip with 144 LED’s per meter. The whole project is controlled by one raspberry pi. My original idea was to add a diffuser over the lights so that one could not see the individual lights themselves. However after a while I kind of liked seeing the individual lights and dropped the diffuser.

Here is a video that showcases the wormhole effect on a finished Stargate:

Making the stargate

While making the stargate model it went through a lot of iterations and modifications before I was able to make something that worked well enough. I ended up by dividing it in segments. 7 segments that are the same, and two at the bottom that differs from the rest. There are no chevrons at the bottom to segments. To the right is a picture of the the back part of the Stargate that holds the whole thing together. The image also displays 9 tiny ball bearings that holds the spinning ring in place, and makes it easier to roll. The symbol ring itself is printed in 5 parts and attached together. On the back side of the symbol ring, there is a “large” gear so it can be spun around and function like a proper Stargate.

The Chevrons

Chevron back

Making the stargate chevrons with light and movement was a real challenge. I tried several methods for making this work. One of my first tries was to use a solenoid to move the chevron up and down. This actually worked pretty well, but the range of motion was a bit small and the movement itself was very “sudden”. I tried using a dc motor that spun a screw that pulled on a nut. This worked better, but was a bit jittery. I ended up with using a small gear on the dc motor that simply moves a geared rack up and down. Simple but effective.

Here are some short work in progress videos of the chevron movement:
Work in progress: Chevron movement from the front
Work in progress: Chevron movement from the back

The light in the chevron is a regular orange LED controlled from the raspberry pi. The wires to the chevron LED’s runs in a channel inside the gate. I planned to run the wires for the dc motors there as well. But found that there was not enough room.
Update: I have made some changes to the lights of the chevron. More information here.

For making the stargate’s translucent cover for the chevron light, I used a simple 3D printed object made with a “transparent” plastic. This is also ABS, so it’s not very clear. It does its job of letting the light through, and I’m quite happy with the look. It looks even better when painted. I printed a few extra since they are very fragile and it’s easy to break while handling them.

Update: 06.11.2020

I have been made aware that the chevrons in my presentation video of the Stargate did not activate in the correct order. I did quick tweak in the code to make them activate in “correct” order and shot a quick video of a dialing sequence that shows the new and more correct chevron activation order:

The Base

open base

I needed a place to hide the raspberry pi with the motor controller hats, the motor for driving the ring, the speaker, the wires etc. I made a “stone” base to hide everything. The stone base is mostly inspired from the Nox episode in the first season of Stargate SG1.

The base has a detachable “lid” to make it possible to inspect and access the technical stuff underneath.

The Tech

Stargate brains
pi with wires

Contrary to the Stargate in the TV show that is controlled by crystals, my gate is controlled by a raspberry pi with three attached motor hats. The pi boots automatically and executes a Stargate python program that listens for input from the DHD and controls the gate. The “spaghetti” picture shows the pi with the wires connected. Most of the wires on the top is connected to the chevron LED’s and the ones sticking out to the side are connected to the chevron dc motors. The stepper motor at the bottom left in the picture is the motor that drives the symbol ring in the gate. It’s a Nema 14 stepper motor. I tried using a smaller cheaper one, but it was too slow. To avoid having to use gears to speed it up, i just used the Nema 14 stepper instead. It’s not as “quiet” as the smaller one, and vibrates a lot more.

If you liked my 3D printed Stargate with wormhole effect, you might also be interested in how I made the DHD.

If you have any comments or questions, feel free to use the comments section here. Or, you can send me an email at